单片机控制交通灯毕业设计任务书(编辑修改稿)内容摘要:

MOV IE, 82H。 开T0中断 SEBT TR O ;启动T0计数器 MOV RO, 14H。 软件计数器赋初值 LOOP: SJMP $ ;等待中断 (2)中断服务子程序 ORG 000BH AJMP BRT0 ORG 00BH BRTO: DJNZ R0,NEXT AJMP TIME。 跳转到时间及信号灯显示子程序 DJNZ:MOV RO,#14H ;恢复R0值 MOV TH0, 3CH。 重装入定时器初值 MOV TL0, BOH。 MOV IE, 82H RET1 END 7) 3 软件延时 MCS51 的工作频率为 212MHZ,我们选用的 8031 单片机的工作频率为 6MHZ。 机器周期与主频有关,机器周期是主频的 12 倍,所以一个机器周期的时间为 12*( 1/6M) =2us。 我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定 1 秒的时间。 具体的延时程序分析: DELAY:MOV R4,08H 延时 1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,0 延时 125ms 子程序 MOV R5,0 DE1: DJNZ R5,$ DJNZ R6,DE1 RET MOV RN, DATA 字节数数为 2 机器周期数为 1 所以此指令的执行时间为 2ms DELAY1 为一个双重循坏 循环 次 数 为 256*256=65536 所以延时时间=65536*2=1310 约为 125us DELAY R4 设置的初值为 8 主延时程序循环 8次,所以 125us*8= 1 秒 由于单片机的运行速度很快其他的指令执行时间可以忽 略不计。 (1) 8051 并行口的扩展 8051 虽然有 4 个 8 位 I/O 端口 ,但真正能提供借用的只有 P1 口 ,因为 P2 和 P0 口通于传送外部传送地址和数据 ,P3 口也有它的第二功能。 因此, 8031 通常需要扩展。 由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、 红绿黄信号灯的显示都要一个 I/O 端口,显然 8031 的端口是不够,需要扩展。 扩展的方法有两种:( 1)借用外部 RAM 地址来扩展 I/O 端口;( 2)采用 I/O接口来扩充。 我们用 8255 并行接口信片来扩展 I/O端口。 (2)显示原理 : 当定时器定时为 1 秒,时程序跳转到时间显示及信号灯显示子程序,它将依次 信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初重新进入循环。 (3) 8255PA 口输出信号接信号灯: 由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以 用置位方法点亮红,绿,黄发光二极管。 (4)8255输出信号与数码管的连接: LED 灯的显示原理 :通过 同名管脚上所加电平的高低来控制发光二极管是否点量示不同的字形如 SP, g,f,e,d,c,b,a 管角上加上7FH所以 SP上为0伏,不亮为TTL高电平,全亮则显示为8 采用共阴级连接 : 其中 PC0\PB0a, PC1\PB1b, PC2\PB2c, PC3\PB3d, PC4\PB4e, PC5\PB5f, PC6\PB6g PC7\PB7 SP 接地 显示数值 Dop g f e d c b a 驱动代码( 16进制) 0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1 5BH 3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 0 6DH 6 0 1 1 1 1 1 0 0 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 表 3 驱动代码表 7) 8255 与 8051 的连接 : 用 8051 的 P0 口的 连接 8255 的片选信号 cs 我们用 8031 的地址采用方式,当 =0 时片选有效, 其他无效, 用于选择 8255端口 A7 A6 A5 A4 A3 A2 A1 A0 1 X X X X X 0 0 00H 为 8255 的 PA 口 1 X X X X X 0 1 01H 为 8255 的 PB 口 1 X X X X X 1 0 02H 为 8255 的 PC 口 1 X X X X X 1 1 03H 为 8255 的控制口 由于 8051 是分时对 8255 和储存器进行访问所以 8051 的 P0 口不会发生冲突 八、程序设计 1 程序流程图 2 程序源代码 ORG 0000H。 主程序的入口地址 LJMP MAIN。 跳转到主程序的开始处 ORG 0003H。 外部中断 0的中断程序入口地址 ORG 000BH。 定时器 0 的中断程序入口地址 LJMP T0_INT。 跳转到中断服务程序处。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。