智能交通信号控制器程序设计.doc

上传人:精*** 文档编号:844948 上传时间:2023-09-09 格式:DOC 页数:24 大小:173.32KB
下载 相关 举报
智能交通信号控制器程序设计.doc_第1页
第1页 / 共24页
智能交通信号控制器程序设计.doc_第2页
第2页 / 共24页
智能交通信号控制器程序设计.doc_第3页
第3页 / 共24页
智能交通信号控制器程序设计.doc_第4页
第4页 / 共24页
智能交通信号控制器程序设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、一 设计任务描述41.1 设计题目:智能交通信号控制器程序设计41.2 设计要求41.2.1 基本要求:4二 设计思路5三 设计方框图6四 设计原理74.1 发光二级管(信号灯)显示控制74.1.1 状态一7东西绿灯亮,南北红灯亮时P1口送11110101即F5H。7东西绿灯亮,南北红灯亮的时间为10秒。74.1.2 状态二7东西黄灯闪烁,南北红亮灯的时间为04秒,黄灯闪烁2 次。74.1.3 状态三8东西红灯亮,南北绿灯亮时P1口送11101110即EEH。8东西红灯亮,南北绿灯亮的时间为04秒。84.1.4 状态四8东西红灯亮,南北黄灯灭时P1口送11111110即FEH。8东西红灯亮,南

2、北黄灯亮时P1口送11011110即DEH。8东西红灯亮,南北黄灯闪烁时间为04秒,黄灯闪烁2次。84.2 液晶显示控制94.2.1 系统时钟初始化9系统时钟初始化为片内的4MHz时钟,即OSCICN送00000101即05H。94.2.2 通用I/O口及交叉开关初始化9通用I/O口及交叉开关初始化:91、没有选择数字外设,即XBR0送00000000即00H。92、P4P7口设为推拉方式,即P74OUT送11110000即F0H。94.2.3 LCD初始化9LCD初始化,写命令操作91、功能设置:两行显示,57点阵,即P7口送00111000即38H。9写命令,即P6口送00000001即0

3、1H。9结束写命令,即P6口送00000000即00H。92、开显示,开光标,字符不闪烁,即P7口送00001110即0EH。9写命令,即P6口送00000001即01H。9结束写命令,即P6口送00000000即00H。93、I/D=1,AC自动增1;S=0,整体显示不移动,即P7口送00000110即06H。9写命令,即P6口送00000001即01H。9结束写命令,即P6口送00000000即00H。94、清除DDRAM,置AC=0,即P7口送00000001即01H。9写命令,即P6口送00000001即01H。9结束写命令,即P6口送00000000即00H。94.2.4 液晶显示9

4、将要显示的数送给累加器A,将10送给累加器B即0AH。用除法指令DIV即A除以B,其结果商保存在累加器A中,余数保留在累加器B中。再将累加器A中的数与累加器B中的数分别依次查表即取ASCII码字符并显示出来。查表时利用DPTR。先把所查表的首地址送给DPTR指针,然后再查表。94.3 发光二级管(信号灯)在紧急状况下的显示控制94.3.1 紧急状况一10利用外部中断6来实现。CPU中断总允许为置“1”即SETB EA。允许外部中断6输入引脚的中断请求即EIE2送00010000即10H。清除外部中断标志位即置“0”,外部触发方式选择上升沿触发即置“1”,即P3IF总00000100即04H。1

5、0状态一:东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。10状态二:东西绿灯亮,南北红灯亮,时间为5秒。104.3.2 紧急状况二10利用外部中断7来实现。CPU中断总允许为置“1”即SETB EA。允许外部中断7输入引脚的中断请求即EIE2送00100000即20H。清除外部中断标志位即置“0”,外部触发方式选择上升沿触发即置“1”,即P3IF总00001000即08H。11状态一:东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。11状态二:东西红灯亮,南北绿灯亮,时间为5秒。11五 程序设计115.1 发光二级管(信号灯)显示控制121、交叉开关使能。122、东西绿灯亮,南北红灯亮的

6、时间为10秒。12LCALL DELAY10S123、东西黄灯闪烁,南北红灯亮的时间为4秒,黄灯闪烁2 次。12东西方向黄灯闪烁次数为2次。12MOV R2,#02H12东西黄灯灭,南北红灯亮的时间为1秒。12LCALL DELAY1S12东西黄灯亮,南北红灯亮的时间为1秒。12LCALL DELAY1S124、东西红灯亮,南北绿灯亮的时间为4秒。12LCALL DELAY4S125、东西红灯亮,南北黄灯闪烁时间为4秒,黄灯闪烁2次。12南北方向黄灯闪烁次数为2次。12MOV R2,#02H12东西红灯亮,南北黄灯灭的时间为1秒。12LCALL DELAY1S12东西红灯亮,南北黄灯亮的时间为

7、1秒。12LCALL DELAY1S125.2 液晶显示控制141、系统时钟初始化。142、通用I/O口及交叉开关初始化。143、LCD初始化。144、液晶显示。14MOV P7,#038H /功能设置:两行显示,57点阵17MOV P6,#01H /写命令17MOV P6,#0H /结束写命令17MOV P7,#0EH /开显示,开光标,字符不闪烁17MOV P6,#01H /写命令17MOV P6,#0H /结束写命令17MOV P7,#06H /I/D=1,AC自动增1;S=0,整体显示不移动17MOV P6,#01H /写命令17MOV P6,#0H /结束写命令17MOV P7,#0

8、1H /清除DDRAM,置AC=017MOV P6,#01H /写命令17MOV P6,#0H /结束写命令175.3 发光二级管(信号灯)在紧急状况下的显示控制175.3.1 紧急状况一171、中断使能。(外部中断6)172、东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。17东西、南北方向黄灯亮的时间为1秒。17东西、南北方向黄灯灭的时间为1秒。183、东西绿灯亮,南北红灯亮,时间为5秒。18LCALL DELAY184、清中断标志位。18MOV P3IF,#00H185.3.2 紧急状况二191、中断使能。(外部中断7)192、东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。19东西

9、、南北方向黄灯亮的时间为1秒。19东西、南北方向黄灯灭的时间为1秒193、东西红灯亮,南北绿灯亮,时间为5秒。194、清中断标志位。195.4 延时程序201、延时程序:20六 程序调试206.1 关狗指令216.2 交叉开关使能216.3 液晶显示216.4 中断使能226.5 清中断标志位226.6 中断的返回221.设计主要内容及要求;编写智能交通信号控制器程序。要求:1)进行正常交通信号的控制。 2)显示信号剩余时间。 3)能够利用车辆数量控制信号切换信号等多种控制方法。2.对设计论文撰写内容、格式、字数的要求;(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字

10、。(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。(3).论文要求打印,打印时按沈阳工程学院毕业设计(论文)撰写规范的要求进行打印。(4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。3.时间进度安排;顺序阶段日期计 划 完 成 内 容备注1月 日教师讲解题目,学生查阅相关资料2月 日查阅相关资料、进行方案论证3月 日确定智能控制算法4月 日编写程序5月 日调试程序6月 日撰写论文7月 日验

11、收作品、答辩一 设计任务描述1.1 设计题目:智能交通信号控制器程序设计1.2 设计要求1.2.1 基本要求:编写智能交通信号控制器程序。要求:1)进行正常交通信号的控制。 2)显示信号剩余时间。 3)能够利用车辆数量控制信号切换信号等多种控制方法。二 设计思路第一部分:利用I/O口的低端口(P1口)控制发光二极管(信号灯)的亮与灭。利用延时程序控制发光二极管(信号灯)的亮与灭的时间间隔。第二部分:利用液晶显示控制发光二极管(信号灯)亮与灭时间的倒计时显示。第三部分:利用外部中断(外部中断6、外部中断7)来控制不同车流量情况下,发光二极管(信号灯)亮与灭的时间的可调性。三 设计方框图程序开始初

12、始化程序结束东西绿灯亮,南北红灯亮,(10S)液晶显示倒计时。东西黄灯闪烁,南北红灯亮,(4S)液晶显示倒计时。东西红灯亮,南北绿灯亮,(4S)液晶显示倒计时。东西红灯亮,南北黄灯闪烁,(4S)液晶显示倒计时。中断开始中断条件外部中断7南北红外部中断6南北红东西绿南北红东西红南北绿中断结束四 设计原理4.1 发光二级管(信号灯)显示控制发光二极管(信号灯)为低电平有效,即“0”电平时发光二极管亮。并利用I/O口(P1口)控制发光二极管的亮与灭。P1.0、P1.1、P1.2依次为东西方向的红、绿、黄,P1.3、P1.4、P1.5依次为南北方向的红、绿、黄。4.1.1 状态一状态一东西绿南北红东西

13、绿灯亮,南北红灯亮时P1口送11110101即F5H。东西绿灯亮,南北红灯亮的时间为10秒。4.1.2 状态二状态二东西黄南北红东西黄灯灭,南北红灯亮时P1口送11110111即F7H。东西黄灯亮,南北红灯亮时P1口送11110011即F3H。异或指令(XRL):欲取反的位置“1”欲保留的位置“0”。(11110111)XRL(00000100)为(11110011)即F7H同04H异或为F3H。东西黄灯闪烁,南北红亮灯的时间为04秒,黄灯闪烁2 次。4.1.3 状态三状态三东西红南北绿东西红灯亮,南北绿灯亮时P1口送11101110即EEH。东西红灯亮,南北绿灯亮的时间为04秒。4.1.4

14、状态四状态四东西红南北黄东西红灯亮,南北黄灯灭时P1口送11111110即FEH。东西红灯亮,南北黄灯亮时P1口送11011110即DEH。异或指令(XRL):欲取反的位置“1”欲保留的位置“0”。(11111110)XRL(00100000)为(11011110)即FEH同20H异或为DEH。东西红灯亮,南北黄灯闪烁时间为04秒,黄灯闪烁2次。4.2 液晶显示控制4.2.1 系统时钟初始化系统时钟初始化为片内的4MHz时钟,即OSCICN送00000101即05H。4.2.2 通用I/O口及交叉开关初始化通用I/O口及交叉开关初始化:1、没有选择数字外设,即XBR0送00000000即00H

15、。2、P4P7口设为推拉方式,即P74OUT送11110000即F0H。4.2.3 LCD初始化LCD初始化,写命令操作1、功能设置:两行显示,57点阵,即P7口送00111000即38H。写命令,即P6口送00000001即01H。结束写命令,即P6口送00000000即00H。 2、开显示,开光标,字符不闪烁,即P7口送00001110即0EH。写命令,即P6口送00000001即01H。结束写命令,即P6口送00000000即00H。 3、I/D=1,AC自动增1;S=0,整体显示不移动,即P7口送00000110即06H。写命令,即P6口送00000001即01H。结束写命令,即P6口

16、送00000000即00H。4、清除DDRAM,置AC=0,即P7口送00000001即01H。写命令,即P6口送00000001即01H。结束写命令,即P6口送00000000即00H。4.2.4 液晶显示将要显示的数送给累加器A,将10送给累加器B即0AH。用除法指令DIV即A除以B,其结果商保存在累加器A中,余数保留在累加器B中。再将累加器A中的数与累加器B中的数分别依次查表即取ASCII码字符并显示出来。查表时利用DPTR。先把所查表的首地址送给DPTR指针,然后再查表。4.3 发光二级管(信号灯)在紧急状况下的显示控制4.3.1 紧急状况一利用外部中断6来实现。CPU中断总允许为置“

17、1”即SETB EA。允许外部中断6输入引脚的中断请求即EIE2送00010000即10H。清除外部中断标志位即置“0”,外部触发方式选择上升沿触发即置“1”,即P3IF总00000100即04H。状态一东西黄南北黄状态一:东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。状态二东西绿南北红状态二:东西绿灯亮,南北红灯亮,时间为5秒。4.3.2 紧急状况二利用外部中断7来实现。CPU中断总允许为置“1”即SETB EA。允许外部中断7输入引脚的中断请求即EIE2送00100000即20H。清除外部中断标志位即置“0”,外部触发方式选择上升沿触发即置“1”,即P3IF总00001000即08H。

18、状态一东西黄南北黄状态一:东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。状态二东西红南北绿状态二:东西红灯亮,南北绿灯亮,时间为5秒。五 程序设计 5.1 发光二级管(信号灯)显示控制1、交叉开关使能。 MOV XBR2,#40H2、东西绿灯亮,南北红灯亮的时间为10秒。MOV P1,#0F5H LCALL DELAY10S3、东西黄灯闪烁,南北红灯亮的时间为4秒,黄灯闪烁2 次。东西方向黄灯闪烁次数为2次。MOV R2,#02H东西黄灯灭,南北红灯亮的时间为1秒。MOV P1,#0F7H LCALL DELAY1S东西黄灯亮,南北红灯亮的时间为1秒。 XRL P1,#04H LCALL

19、DELAY1S 4、东西红灯亮,南北绿灯亮的时间为4秒。MOV P1,#0EEH LCALL DELAY4S5、东西红灯亮,南北黄灯闪烁时间为4秒,黄灯闪烁2次。南北方向黄灯闪烁次数为2次。MOV R2,#02H东西红灯亮,南北黄灯灭的时间为1秒。MOV P1,#0FEH LCALL DELAY1S东西红灯亮,南北黄灯亮的时间为1秒。XRL P1,#20H LCALL DELAY1S6、延时程序:DELAY1S: MOV R3,#30DLY1: MOV R4,#100DLY2: MOV R5,#150DLY3: DJNZ R5,DLY3 DJNZ R4,DLY2 DJNZ R3,DLY1 RE

20、TDELAY10S: MOV R6,#0AHDLY4: LCALL DELAY1S DJNZ R6,DLY4 RETDELAY4S: MOV R7,#04HDLY5: LCALL DELAY1S DJNZ R7,DLY5 RET7、发光二级管(信号灯)显示控制程序:$INCLUDE(C8051F020.INC) ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV WDTCN,#0DEH MOV WDTCN,#0ADH /关狗 MOV XBR2,#40H /交叉开关使能GGRR: MOV P1,#0F5H /东西绿灯亮,南北红灯亮LCALL DELAY10S /调用延时

21、程序MOV R2,#02H /东西方向黄灯闪烁次数YYRR: MOV P1,#0F7H /东西黄灯灭,南北红灯亮LCALL DELAY1S /调用延时程序XRL P1,#04H /东西黄灯亮,南北红灯亮 LCALL DELAY1S /调用延时程序DJNZ R2,YYRR /判断黄灯闪烁是否完成RRGG: MOV P1,#0EEH /东西红灯亮,南北绿灯亮LCALL DELAY4S /调用延时程序MOV R2,#02H /南北方向黄灯闪烁次数RRYY: MOV P1,#0FEH /东西红灯亮,南北黄灯灭LCALL DELAY1S /调用延时程序XRL P1,#20H /东西红灯亮,南北黄灯亮LC

22、ALL DELAY1S /调用延时程序DJNZ R2,RRYY /判断黄灯闪烁是否完成AJMP MAINDELAY1S: MOV R3,#30DLY1: MOV R4,#100DLY2: MOV R5,#150DLY3: DJNZ R5,DLY3 DJNZ R4,DLY2 DJNZ R3,DLY1 RET /延时程序DELAY10S: MOV R6,#0AHDLY4: LCALL DELAY1S DJNZ R6,DLY4 RET /延时程序DELAY4S: MOV R7,#04HDLY5: LCALL DELAY1S DJNZ R7,DLY5 RET /延时程序END5.2 液晶显示控制1、系

23、统时钟初始化。SYSCLK_INIT: MOV OSCICN,#05H RET2、通用I/O口及交叉开关初始化。PORT_INIT: CLR A MOV XBR0,A MOV P74OUT,#0F0H RET 3、LCD初始化。LCD_INIT: LCALL DELAY MOV P7,#038H MOV P6,#01H MOV P6,#0H LCALL DELAY MOV P7,#0EH MOV P6,#01H MOV P6,#0H LCALL DELAY MOV P7,#06H MOV P6,#01H MOV P6,#0H LCALL DELAY MOV P7,#01H MOV P6,#01

24、H MOV P6,#0H LCALL DELAY RET4、液晶显示。 MOV DPTR,#NCDDATA AAA: MOV R1,#0AHBBB: LCALL LINE1 DJNZ R1,BBB MOV R1,#04H CCC: LCALL LINE1 DJNZ R1,CCC MOV R1,#08HDDD: LCALL LINE1 DJNZ R1,DDD AJMP AAALINE1: MOV A,R1 MOV B,#0AH DIV AB MOVC A,A+DPTR MOV P7,A MOV P6,#05H MOV P6,#04H LCALL DELAY MOV A,B MOVC A,A+DP

25、TR MOV P7,A MOV P6,#05H MOV P6,#04H LCALL DELAY LCALL DELAY MOV P7,#01H MOV P6,#01H MOV P6,#0H LCALL DELAY RET5、延时程序:DELAY: MOV R7,#10HD1: MOV R6,#80HD2: MOV R5,#00HD3: DJNZ R5,D3 DJNZ R6,D2 DJNZ R7,D1 RET6、ASCII码表。NCDDATA:DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H7、液晶显示控制程序:$INCLUDE(C8051F020.INC)

26、ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV WDTCN,#0DEH MOV WDTCN,#0ADH /关狗LCALL SYSCLK_INIT /调用系统时钟初始化LCALL PORT_INIT /调用通用I/O口及交叉开关初始化LCALL LCD_INIT /调用LCD初始化 LCALL DELAY /调用延时程序MOV DPTR,#NCDDATA /DPTR指针指向ASCII码表的首位AAA: MOV R1,#0AH /从10秒开始倒计时BBB: LCALL LINE1 /调用液晶显示 DJNZ R1,BBB /判断10秒倒计时是否完成 MOV R1,#04

27、H /从4秒开始倒计时CCC: LCALL LINE1 /调用液晶显示 DJNZ R1,CCC /判断4秒倒计时是否完成 MOV R1,#08H /从8秒开始倒计时DDD: LCALL LINE1 /调用液晶显示 DJNZ R1,DDD /判断8秒倒计时是否完成 AJMP AAALINE1: MOV A,R1MOV B,#0AHDIV AB /A除以B所得的商存在A中,余数存在B中 MOVC A,A+DPTR /查表,取ASCII码字符MOV P7,A /字符送数据口P7MOV P6,#05H /写数据操作MOV P6,#04H /结束写操作LCALL DELAY /调用延时程序 MOV A,

28、BMOVC A,A+DPTR /查表,取ASCII码字符 MOV P7,A /字符送数据口P7MOV P6,#05H /写数据操作 MOV P6,#04H /结束写操作LCALL DELAY /调用延时程序LCALL DELAY /调用延时程序MOV P7,#01H /清除DDRAM,置AC=0 MOV P6,#01H /写命令 MOV P6,#0H /结束写命令 LCALL DELAY /调用延时程序 RETSYSCLK_INIT: MOV OSCICN,#05H /系统时钟初始化为片内的4MHz时钟 RETPORT_INIT: CLR A MOV XBR0,A /没有选择数字外设 MOV

29、P74OUT,#0F0H /P4P7口设为推拉方式 RET LCD_INIT: LCALL DELAY MOV P7,#038H /功能设置:两行显示,57点阵 MOV P6,#01H /写命令 MOV P6,#0H /结束写命令 LCALL DELAY MOV P7,#0EH /开显示,开光标,字符不闪烁MOV P6,#01H /写命令MOV P6,#0H /结束写命令 LCALL DELAY MOV P7,#06H /I/D=1,AC自动增1;S=0,整体显示不移动 MOV P6,#01H /写命令 MOV P6,#0H /结束写命令 LCALL DELAY MOV P7,#01H /清除

30、DDRAM,置AC=0 MOV P6,#01H /写命令 MOV P6,#0H /结束写命令 LCALL DELAY RETDELAY: MOV R7,#10HD1: MOV R6,#80HD2: MOV R5,#00HD3: DJNZ R5,D3 DJNZ R6,D2 DJNZ R7,D1 RET/延时程序NCDDATA:DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H /ASCII码表END5.3 发光二级管(信号灯)在紧急状况下的显示控制5.3.1 紧急状况一1、中断使能。(外部中断6)MOV P3IF,#04H MOV EIE2,#10H SETB

31、EA2、东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。 东西、南北方向黄灯亮的时间为1秒。MOV P1,#0DBH LCALL DELAY 东西、南北方向黄灯灭的时间为1秒。MOV P1,#0FFH LCALL DELAY3、东西绿灯亮,南北红灯亮,时间为5秒。MOV P1,#0F5H LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY4、清中断标志位。MOV P3IF,#00H5、紧急状况一程序:$INCLUDE(C8051F020.INC) ORG 0000H LJMP MAIN ORG 0093H LJMP INT6

32、 ORG 0100HMAIN: MOV WDTCN,#0DEH MOV WDTCN,#0ADH /关狗 MOV XBR2,#40H /交叉开关使能 MOV P3IF,#04H /清中断标志位,选择上升沿触发方式 MOV EIE2,#10H /外部中断6使能 SETB EA /总使能 MOV P1,#00H /发光二极管亮AJMP $INT6: MOV P1,#0DBH /东西、南北方向黄灯亮 LCALL DELAY /调用延时程序 MOV P1,#0FFH /东西、南北方向黄灯灭 LCALL DELAY /调用延时程序 MOV P1,#0DBH /东西、南北方向黄灯亮 LCALL DELAY

33、/调用延时程序 MOV P1,#0FFH /东西、南北方向黄灯灭 LCALL DELAY /调用延时程序 MOV P1,#0F5H /东西绿灯亮,南北红灯亮 LCALL DELAY /调用延时程序 LCALL DELAY /调用延时程序 LCALL DELAY /调用延时程序 LCALL DELAY /调用延时程序 LCALL DELAY /调用延时程序 MOV P3IF,#00H /清中断标志位,选择下降沿触发方式 MOV P1,#00H /发光二极管亮 RETIDELAY: MOV R3,#30DLY1: MOV R4,#100DLY2: MOV R5,#150 DLY3: DJNZ R5,DLY3 DJNZ R4,DLY2DJNZ R3,DLY1 RET /延时程序END5.3.2 紧急状况二1、中断使能。(外部中断7)MOV P3IF,#08H MOV EIE2,#20H SETB EA2、东西黄灯闪烁,南北黄灯闪烁,时间为4秒,闪烁2次。 东西、南北方向黄灯亮的时间为1秒。MOV P1,#0DBH LCALL DELAY 东西、南北方向黄灯灭的时间为1秒MO

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922