人人文库网 > 毕业设计 > 0226、AT89S51单片机实例35例汇编+C语言对照带电路图及说明
016、定时计数器T0作定时应用技术(二).doc
0226、AT89S51单片机实例35例汇编+C语言对照带电路图及说明
收藏
资源目录
压缩包内文档预览:
编号:550809
类型:共享资源
大小:2.90MB
格式:RAR
上传时间:2015-12-06
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计论文
- 资源描述:
-
0226、AT89S51单片机实例35例汇编+C语言对照带电路图及说明,毕业设计论文
- 内容简介:
-
16 定时计数器 T0作定时应用技术(二) 1 实验任务 用 AT89S51 的定时 /计数器 T0 产生 2秒钟的定时,每当 2秒定时到来时,更换指示灯闪烁,每个指示闪烁的频率为 0.2 秒,也就是说,开始 L1 指示灯以 0.2 秒的速率闪烁,当 2秒定时到来之后, L2 开始以 0.2 秒的速率闪烁,如此循环下去。 0.2 秒的闪烁速率也由定时 /计数器 T0 来完成。 2 电路原理图 图 4.16.1 3 系统板硬件连线 ( 1 把 “ 单片机系统 ” 区域中的 P1.0 P1.3 用导线连接到 “ 八路发光二极管指示模块 ” 区域中的 L1 L4 上 4 程序设计内容 nts( 1 由于采用中断方式来完成,因此,对于中断源必须它的中断入口地址,对于定时 /计数器 T0 来说,中断入口地址为 000BH,因此在中断入口地方加入长跳转指令来执行中断服务程序。书写汇编源程序格式如下所示: ORG 00H LJMP START ORG 0BH ;定时 /计数器 T0 中断入口地址 LJMP INT_T0 START: NOP ;主程序开始 . . INT_T0: PUSH ACC ;定时 /计数器 T0中断服务程序 PUSH PSW . . POP PSW POP ACC RETI ;中断服务程序返回 END ( 2 定时 2秒,采用 16 位定时 50ms,共定时 40次才可达到 2秒,每 50ms产生一中断,定时的 40 次数在中断服务程序中完成,同样 0.2 秒的定时,需要 4 次才可达到 0.2 秒。对于中断程序,在主程序中要对中断开中断。 ( 3 由于每次 2秒定时到时, L1 L4 要交替闪烁。采用 ID 来号来识别。当 ID 0 时, L1 在闪烁,当 ID 1时, L2在闪烁;当 ID 2时, L3在闪烁;当 ID 3时, L4 在闪烁 5 程序框图 T0 中断服务程序框图 nts 主程序框图 nts 图 4.16.2 6 汇编源程序 6 汇编源程序 TCOUNT2S EQU 30H TCNT02S EQU 31H ID EQU 32H ORG 00H LJMP START ORG 0BH ntsLJMP INT_T0 START: MOV TCOUNT2S,#00H MOV TCNT02S,#00H MOV ID,#00H MOV TMOD,#01H MOV TH0,#(65536-50000) / 256 MOV TL0,#(65536-50000) MOD 256 SETB TR0 SETB ET0 SETB EA SJMP $ INT_T0: MOV TH0,#(65536-50000) / 256 MOV TL0,#(65536-50000) MOD 256 INC TCOUNT2S MOV A,TCOUNT2S CJNE A,#40,NEXT MOV TCOUNT2S,#00H INC ID MOV A,ID CJNE A,#04H,NEXT MOV ID,#00H NEXT: INC TCNT02S MOV A,TCNT02S CJNE A,#4,DONE MOV TCNT02S,#00H MOV A,ID CJNE A,#00H,SID1 CPL P1.0 SJMP DONE SID1: CJNE A,#01H,SID2 CPL P1.1 SJMP DONE SID2: CJNE A,#02H,SID3 CPL P1.2 SJMP DONE SID3: CJNE A,#03H,SID4 CPL P1.3 SID4: SJMP DONE DONE: RETI END 7 C语言源程序 #include unsigned char tcount2s; ntsunsigned char tcount02s; unsigned char ID; void main(void) TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; ET0=1; EA=1; while(1); void t0(void) interrupt 1 using 0 tcount2s+; if(tcount2s=40) tcount2s=0; ID+; if(ID=4) ID=0; tcount02s+; if(tcount02s=4) tcount02s=0; switch(ID) case 0: P1_0
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|