微机实验4(计数器与定时器实验).doc

微机实验4(计数器与定时器实验).doc

ID:59363650

大小:45.00 KB

页数:4页

时间:2020-01-28

微机实验4(计数器与定时器实验).doc_第1页
微机实验4(计数器与定时器实验).doc_第2页
微机实验4(计数器与定时器实验).doc_第3页
微机实验4(计数器与定时器实验).doc_第4页
资源描述:

《微机实验4(计数器与定时器实验).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.微机实验报告开课实验室:电子信息楼503年月日学院年级、专业、班姓名学号课程名称微机实验项目名称计数器/定时器实验成绩指导教师签名一、实验目的1、学习8051内部计数器的使用和编程方法。2、进一步掌握中断处理程序的编程方法。二、实验内容用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转。三、实验原理1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。2、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。

2、TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是6MHZ,本程序工作于方式2,即8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:机器周期=12÷6MHZ=2uS(256-定时常数)×2uS=100us定时常数=206.然后对100us中断次数计数10000次,就是1秒钟.4、在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。实验连线:4实验程序框图:四

3、、使用仪器、材料1、电脑2、伟福编译器3、伟福实验箱五、实验步骤(1)在实验箱断电的情况下连好线。(2)输入程序并检查,保存程序。(3)“编译”程序。(4)“全速执行”程序。(5)记录实验结果及分析。六、实验原始程序1、计数器4movTMOD,#00000101b;方式1,记数器movTH0,#0movTL0,#0setbTR0;开始记数Loop:movP1,TL0;将记数结果送P1口ljmpLoopend2、定时器Tickequ10000;10000x100us=1sT100usequ256-50;100us时间常数(6M)C100usequ30h;100us记数单元LEDBufequ0LE

4、DequP1.0ljmpStartorg000bh;定时器中断入口T0Int:;定时器中断pushPSWmova,C100us+1jnzGoondecC100usGoon:decC100us+1mova,C100usorla,C100us+1jnzExit;100us记数器不为0,返回movC100us,#high(Tick)movC100us+1,#low(Tick)cplLEDBuf;100us记数器为0,重置记数器;取反LEDExit:popPSWretiStart:movTMOD,#02h;方式2,定时器4movTH0,#t100usmovTL0,#t100usmovIE,#10000

5、010b;EA=1,IT0=1setbTR0;开始定时clrLEDBufclrLEDmovC100us,#high(Tick)movC100us+1,#low(Tick)Loop:movc,LEDBufmovLED,cljmpLoopend七、实验结果分析该实验达到了预期效果,实现了用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转。4

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

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

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