编辑: 哎呦为公主坟 2019-09-12
课程设计报告书系别: 机械与电子工程学院 专业: 电子信息科学与技术 学生姓名: 学号: 课程设计题目: 交通灯控制系统 起迄日期: 4月18 ~ 4月30 课程设计地点: 教学实验楼B楼指导教师: 张斌 下达任务书日期:

2011 年04 月12日目录课程设计目的及要求・2

1、课程设计的・2

2、课程设计内容及要求・2 资料查询及课程设计阶段

3

1、AT89S52资料・3

2、设计原理极硬件电路・5

3、程序流程图・6

4、程序代码・7

第三章 课程设计完成阶段・12

1、课程设计总结及体会・12

2、答谢语・13

3、参考文献・13

第一章 课程设计目的及要求

1、课程设计目的 通过本次设计巩固学生对所学知识的掌握,培养学生运用课程中所学到的理论知识与实践紧密结合,独立地解决实际问题的能力,培养学生运用汇编软件的编程能力和编程技巧,加强学生对于常用应用硬件的了解,锻炼其运用汇编软件的综合设计,硬件控制能力,提的学生的整体素质.

2、课程设计内容及要求 1.控制系统采用8255A并行口实现: 2.CS选择218-21FH: 3.四路口红、绿、黄灯交替闪烁: 4.按某一功能返回DOS: 5.出硬件连接图,编写相应的控制程序: 6.撰写设计报告,调试报告、设计心得.

第二章 课程设计阶段

1、AT89S52资料 AT89S52主要性能 与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、1000次擦写周期、 全静态操作:0Hz~33Hz? 、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 . 功能特性描述 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器.使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容.片上Flash允许程序存储器在系统可编程,亦适于 常规编程器.在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案. AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,

32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路.另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式.空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作.掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止.8 位微控制器 8K 字节在系统可编程 Flash AT89S52 P0 口:P0口是一个8位漏极开路的双向I/O口.作为输出口,每位能驱动8个TTL逻 辑电平.对P0端口写

1 时,引脚用作高阻抗输入. 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用.在这种模式下, P0具有内部上拉电阻. 在flash编程时,P0口也用来接收指令字节;

在程序校验时,输出指令字节.程序校验 时,需要外部上拉电阻. P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平.对P1 端口写

1 时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX). 在flash编程和校验时,P1口接收低8位地址字节. 引脚号第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平.对P2 端口写

1 时,内部上拉电阻把端口拉高,此时可以作为输入 口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址.在这种应用中,P2 口使用很强的内部上拉发送1.在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容. 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号. P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平.对P3 端口写

1 时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示. 在flash编程和校验时,P3口也接收一些控制信号.

2、设计原理极硬件电路

3、程序流程图

4、程序代码 程序实现功能 东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态. 某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间. 紧急情况时,各路口交通灯显示红灯,数码管保持数据不变. 工作寄存器及存储单元分配 1.工作寄存器 R2设置为定时器定时中断次数,R

6、R7用于延时程序中的寄存器 2.片内存储单元 30H、31H作为两组数码管显示数据存储单元;

32H、33H作为交通灯初始状态存储单元;

40H、41H作为交通灯显示数据存储单元 3.标志位 00H:南北通行标志位 ;

01H:东西通行标志位;

02H:紧急事件标志位 SNF EQU 00H EWF EQU 01H URF EQU 02H ORG 0000H LJMP MAIN ORG 000BH LJMP DSZD ORG 0003H LJMP URZD ORG 0030H MAIN: LCALL INIT LOOP: LCALL DIS AJMP LOOP 初始化程序 INIT: SETB SNF SETB EWF SETB URF MOV R2,#20 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB EA SETB ET0 SETB TR0 SETB EX0 SETB IT0 MOV DPTR,#TAB MOV 40H,#40 MOV 41H,#40 MOV 30H,#40 MOV 31H,#60 MOV P0,#4CH MOV 32H,#4CH MOV P2,#15H MOV 33H,#15H RET 显示子程序 DIS: MOV P3,#0DFH MOV A,30H MOV B,#10 DIV AB MOVC A,@A+DPTR MOV P1,A ;

;

;

LCALL D1MS MOV P3,#0EFH MOV A,B MOVC A,@A+DPTR MOV P1,A LCALL D1MS MOV P3,#7FH MOV A,31H MOV B,#10 DIV AB MOVC A,@A+DPTR MOV P1,A LCALL D1MS MOV P3,#0BFH MOV A,B MOVC A,@A+DPTR MOV P1,A LCALL D1MS SETB P3.0 SETB P3.1 JNB P3.0,DIS_S JNB P3.1,DIS_E AJMP DIS_R DIS_S:LCALL D5MS JNB P3.0,DIS_SN AJMP DIS_R DIS_SN:MOV 40H,#50 MOV 41H,#30 AJMP DIS_R DIS_E:LCALL D5MS JNB P3.1,DIS_EW AJMP DIS_R DIS_EW:MOV 40H,#30 MOV 41H,#50 DIS_R:RET ;

///////定时中断处理程序 DS_C: LJMP DS_R DSZD: PUSH ACC PUSH PSW CLR TR0 CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,DS_C MOV R2,#20 DEC 30H MOV A,30H ;

;

;

;

;

;

;

南北通行到达最后4秒时黄灯闪烁 DS_10:CJNE A,#4,DS_11 JNB SNF,DS_11 MOV P0,#8AH MOV 32H, #8AH DS_11:CJNE A,#3,DS_12 JNB SNF,DS_12 MOV P0,#88H MOV 32H, #88H DS_12:CJNE A,#2,DS_13 JNB SNF,DS_13 MOV P0,#8AH MOV 32H, #8AH DS_13:CJNE A,#1,DS_14 JNB SNF,DS_14 MOV P0,#88H MOV 32H, #88H DS_14:JNZ DS_NE CPL SNF JNB SNF,DS_1 ;

MOV 30H,40H MOV P0,#4CH MOV 32H,#4CH MOV P2,#15H MOV 33H, #15H DS_NE:DEC 31H MOV A,31H DS_20:CJNE A,#4,DS_21 JB EWF,DS_21 MOV P0,#51H MOV 32H, #51H DS_21:CJNE A,#3,DS_22 JB EWF,DS_22 MOV P0,#41H MOV 32H, #41H DS_22:CJNE A,#2,DS_23 JB EWF,DS_23 MOV P0,#51H MOV 32H, #51H DS_23:CJNE A,#1,DS_24 JB EWF,DS_24 MOV P0,#41H MOV 32H, #41H DS_24:JNZ DS_R ;

CPL EWF JNB EWF,DS_2 MOV 31H,#80 MOV P0,#89H MOV 32H, #89H MOV P2,#29H MOV 33H, #29H AJMP DS_R DS_1: MOV 30H,#80 ;

MOV P0,#89H MOV 32H, #89H MOV P2,#26H MOV 33H, #26H AJMP DS_NE DS_2: MOV 31H,41H MOV P0,#61H MOV 32H, #61H MOV P2,#15H MOV 33H, #15H DS_R: SETB TR0 POP PSW POP ACC RETI 紧急中断处理程序 URZD: PUSH ACC PUSH PSW CLR IE0 CLR TR0 CPL URF JB URF,UR_CON MOV P0,#49H MOV P2,#15H AJMP UR_R UR_CON:SETB TR0 MOV A,32H MOV P0,A MOV A,33H MOV P2,A UR_R: POP PSW POP ACC RETI 查表指令0,1,2,3,4,5,6,7,8,9 TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH 延时5ms与1ms D5MS: MOV R7,#5 D1MS: MOV R7,#10 MOV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1 RET END 第........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题