MCS-51系列单片机系统及其应用.doc

MCS-51系列单片机系统及其应用.doc

ID:61487933

大小:28.50 KB

页数:12页

时间:2021-02-05

MCS-51系列单片机系统及其应用.doc_第1页
MCS-51系列单片机系统及其应用.doc_第2页
MCS-51系列单片机系统及其应用.doc_第3页
MCS-51系列单片机系统及其应用.doc_第4页
MCS-51系列单片机系统及其应用.doc_第5页
资源描述:

《MCS-51系列单片机系统及其应用.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MCS-51系列单片机系统及其应用实验四:时钟实验实验内容:在实验三的基础上,利用LED显示字型的功能,应用单片机的定时器及定时器中断功能编制一程序,让LED数码显示器上显示出按精确秒信号的节律变化的字型,即电子时钟。实验目的:1:掌握在RAM区内开辟显示缓冲区的方法。2:进一步熟悉用LED数码管显示字型程序的设计方法。3:掌握定时器初始值的计算方法。4:掌握定时器的用法以及定时器中断的控制。5:明确中断子程序与一般子程序的区别及联系。6:学会设计简单的数值比较程序,学会设计根据RAM中某一单元的内容

2、进行查表的程序。实验要求:1:设计程序时,应在内部RAM中开辟显示缓冲区,缓冲区内首先设置时钟的初始时间(12-00-00)。2:利用定时器的计数溢出产生中断,从而产生秒信号。3:将LED数字显示程序设计为子程序,将时、分、秒加“1”的溢出判断在中断服务子程序中进行,主程序完成初始化后一直调用显示子程序。程序的设计思路参考如下:1:将内部的RAM中的78H—7FH这八个单元作为显示缓冲区,将时钟要显示的初值的数字(非字型代码)置入这八个单元中,等待显示子程序利用其中的数据去查出相应的字型代码,送出显示

3、。2:用有寄存器间接寻址功能的工作寄存器R0作为显示缓冲区的指示器,将显示缓冲区内的数据与查表类指令发生联系,以便按显示缓冲区内的数据查表。3:主程序初始化时首先将定时器中断的总开关关闭,选择一个定时器,设定该定时器的工作方式,将该定时器的两个计数单元赋一预先设好的初始数据。开启所有与所选择的定时器有关的中断开关,但不启动计数器,作好准备。4:当主程序初始化完毕之后,开始调用显示子程序之前开启计数器,此时主程序即进入无休止的调用显示子程序的状态,随时准备着被定时器所中断。5:在中断子程序的入口处若有必

4、要保护主程序在中断时主要寄存器的状态,请务必执行堆栈以保护中断时CPU的现场。并且关闭所选择的定时器的中断允许控制位,但不要让定时计数器停止计数,重新对定时器的定时单元进行赋值(与主程序初始化时所赋的值相同)。6:靠定时器溢出一次,不可能产生秒信号,所以要在定时器溢出发生中断,程序条入中断服务程序后,不仅要给定时器重新赋值,而且要设计一个计数器,让定时器溢出若干次,直到定时器定时的累积值达到1秒为止,然后对显示缓冲区的秒位加“1”,在加“1”之后还要判断是否产生进位,然后加以处理,结果让屏幕上所显示的

5、数字为时钟的有效数值,即秒位与分位不能超出60,小时位则不能超出24(统一将时钟设计为24小时制)。7:为了使所设计的程序简短,建议将程序中相同的部分都设计成子程序。参考程序二例:(CJC7.ASM、CJC8.ASM)参考程序(CJC7.ASM与CJC8.ASM)的有关说明:程序一(CJC7.ASM)中编制了多个子程序,在程序的长度上与参考程序二(CJC8.ASM)相当。主程序略有不同,中断服务程序则大有差别,但都能实现同一个目的(电子时钟)。参考程序一:CJC7.ASMORG0000HAJMP003

6、0HORG000BH;定时器中断入口地址AJMPINTT0;跳入中断服务子程序MAIN:MOV78H,#00HMOV79H,#00HMOV7AH,#0AHMOV7BH,#00HMOV7CH,#00HMOV7DH,#0AHMOV7EH,#02HMOV7FH,#01H;显示缓冲区初始化;-----------------------------------------MOVSP,#50H;修改堆栈指针MOVR0,#78H;给定显示缓冲区首地址MOVTMOD,#01H;设置定时器的定时方式MOVTH0,#1

7、7HMOVTL0,#0B8H;预置定时初值SETB8CHSETB0AFHSETB0A9H;开中断、启动定时器MOVR6,#08HLOOP0:LCALLDISP;调用显示子程序SJMPLOOP0;----------------------------------DISP:MOVR1,#01HLOOP1:MOVA,@R0MOVCA,@A+DPTRMOVP0,AMOVP1,R1;显示1个数字ACALLDELAYINCR0MOVA,R1CJNEA,#01H,LOOP1;显示8个数字MOVR0,#78HRET

8、;----------------------------------DELAY:MOVR3,#0FFHDJNZR3,$MOVR4,#0FFHDJNZR4,$RET;0.5毫秒延时;----------------------------------DATA:DB0C0H,0F9H,0A4HDB0B0H,99H,92HDB82H,0F8H,80HDB90H,0BFH;显示字型代码表;-----------------------------------I

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。