您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理课设-交通信号灯模拟控制系统的设计
南京工程学院通信工程学院课程设计说明书(论文)题目交通信号灯模拟控制系统的设计课程名称微机原理与接口技术专业班级学生姓名学号设计地点指导教师设计起止时间:2013年12月23日至2013年12月27日目录成绩11、设计目的……………………………………………………………………….22、设计内容及要求……………………………………………………………….23、设计原理……………………………………………………………………….23.1、电路接线方案………………………………………………………………...……...…23.2、定时问题………………………………………………………………………….....….33.3、工作状态……………………………………………………………………...…….…..34、实验元件解释……………………………………………..……………………34.1、可编程并行通信接口8255A…………………………………….……………..........34.2、可编程计数器/定时器8253…………………………………………………………....45、程序流程图及说明…………………………………………..………………....55.1、基本和中级要求的流程图………………………………………………..……………55.2、高级要求的流程图……………………………………………………………………..65.3、流程图说明………………………………………………………………….………….76、实验源代码及解释………………………………….………………….…...…77、实际接线图……………………………………………………..….………….138、运行结果………………………………………………………….……..…….139、设计心得与体会…………………………..………………….……………….1610、主要参考文献………………………………………………………..………1621、设计目的通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际。2、设计内容及要求2.2.1功能要求:1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。当A道和B道均有车辆要求通过时,A道和B道轮流放行。A道放行7秒钟,B道再放行5秒钟,依次轮流。绿灯转换红灯时黄灯亮1秒钟。2)一道有车,另一道无车时(实验时用开关K5和K6控制),交通控制系统能立即让有车道放行。3)有紧急车辆要求通过时,系统要能禁止普通车辆通过,A、B道均为红灯,紧急车由K7开关模拟,有紧急车时另有一红灯闪烁。2.2.2难度要求:4)基本要求:采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用循环程序软件定时实现功能要求;(60分)5)中级要求:采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用8253硬件定时,软件查询方式实现功能要求;(80分)6)高级要求:在中级要求的基础上,增加用8255输出驱动LED数码显示器显示绿灯倒计时秒数,黄灯时不显示时间。(100分)3、设计原理设计任务中的A道代表东西方向,B道代表南北方向。3.1、电路接线方案:交通信号灯由实验仪的LED发光二极管模拟,由8255-PA输出控制:见下表。3带时间显示的交通信号灯模拟控制系统8255A输入/输出信号一览表(供参考)8255-PB输出方式PCH输入方式8255-PA输出方式PCL输出方式引脚输出信号引脚输入信号引脚输出信号引脚输出信号PB7驱动数码管字型PC7K7PA7紧急车辆闪光PB6PC6K6PA6东西红灯PB5PC5K5PA5东西黄灯PB4PC48253-OUT2PA4东西绿灯PB3PA3PC3PB2PA2南北红灯PC2PB1PA1南北黄灯PC1PB0PA0南北绿灯PC0数码管的位码选择注:1)、8255-PA输出方式可根据实验设备红绿黄灯具体位置改变2)、采用软件延时,则8255的PC4不用接8253-OUT2。数码管的位码选择3.2、定时问题用8253#2工作方式0进行500ms定时,CLK2接125kHz时钟信号,GATE2接高电平,OUT2接8255-PC4。主程序通过查询8255-PC4的状态,获知准确的定时信息。也可以采用软件延时,500ms延时子程序参见实验一。3.3、工作状态根据设计任务功能要求,依K5、K6、K7的状态分为四种工作状态:状态0:K5、K6、K7均断开(1电平)或K5、K6均闭合K7断开,A、B道交替通行;状态1:仅K5闭合,A道有车、B道无车;状态2:仅K6闭合,A道无车,B道有车;K5和K6均闭合,A、B道都有车,A、B道交替通行;状态3:K7闭合,有紧急车辆通行。4、实验元件及解释4.1、可编程并行通信接口8255A8255A的端口地址设为A口—0F000H,B口—0F001H,C口—0F002H,寄存器端口—0F003H将LED灯的D0~D7分别与8255A的PC0~PC7相连,具体连接如下:D0—1路口绿灯,D4—1路口红灯。D1—2路口绿灯,D5—2路口红灯。D2—3路口绿灯,D6—3路口红灯。D3—4路口绿灯,D7—4路口红灯。4其中:1、3路口魏东西方向,2,4路口为南北方向。系统中的8255A电路如图(B4区:8255A电路)4.2、可编程计数器/定时器8253用LED(发光二极管)模拟信号灯,8255A实现对信号灯的控制(PC0~PC6分别接D0~D6),8253的计数器2实现基本单位定时(如10ms)信号的输出;再用8255A的PA口查询定时信号的变化,并统计脉冲数,以实现3min、5s和1s的定时实验系统中8253计数器2的CLK2可接OPCLK,频率为1.19318MHz,GATE2接+VCC,OUT2接8255A的PA0。定时可采用软硬件香结合的方式实现。系统中8253电路如图(C5区:8253电路)8253端口地址:0#计数器—0B000H,1#计数器—0B001H,2#计数器—0B002H,控制寄存器—0B003H。55、程序流程图及说明5.1、基本和中级要求的流程图:主程序CALL500msK7有效?K5有效?K6有效?CNT3=0CNT0+1CNT0=14*2?CNT0=0CNT0/2=0?输出A红,B黄,关数码CNT0/28?输出A绿,B红,8-CNT0/2,转换字型码→PB输出CNT0/2=8?输出A黄,B红,关数码输出A红B绿,14-CNT0/2,转换字型码→PB输出K7K5K6YYYNNNYNYNYNYNCNT3=0LP输出A绿,B红输出B绿,A红关数码显示器K7输出A红,B红,闪光灯亮CNT3=0?输出A红,B红,闪光灯灭LPCNT3取反YN关数码显示器500ms子程序8253#2方式0重装500ms定时常数OUT2=0?500ms时间到,返回YN8255初始化:PA、PB、PCL输出方式0,PCH输入8253初始化:;#2方式0,CLK2=125kHz,GATE2=1,OUT2接PC4变量初始化:CNT0=0,CNT3=0CNT0=0,CNT3=0CNT0=0流程图2L1L2L3L0LPK71K72DELAYK56K6有效?YN65.2、高级要求的流程图主程序CALL500msK7有效?K5有效?K6有效?CNT3=0CNT0+1CNT0=14*2?CNT0=0CNT0/2=0?输出A红,B黄,关数码CNT0/28?输出A绿,B红,8-CNT0/2,转换字型码→PB输出CNT0/2=8?输出A黄,B红,关数码输出A红B绿,14-CNT0/2,转换字型码→PB输出K7K5K6YYYNNNYNYNYNYNCNT3=0LP输出A绿,B红输出B绿,A红关数码显示器K7输出A红,B红,闪光灯亮CNT3=0?输出A红,B红,闪光灯灭LPCNT3取反YN关数码显示器500ms子程序8253#2方式0重装500ms定时常数OUT2=0?500ms时间到,返回YN8255初始化:PA、PB、PCL输出方式0,PCH输入8253初始化:;#2方式0,CLK2=125kHz,GATE2=1,OUT2接PC4变量初始化:CNT0=0,CNT3=0CNT0=0,CNT3=0CNT0=0流程图2L1L2L3L0LPK71K72DELAYK56K6有效?YN75.3、流程图说明流程图1设计思想:1、主程序每0.5秒循环一次,每次查询三个开关状态,及时响应开关状态的变化。其中CNT0和CNT3分别用于记录状态0和状态3工作进程的进程计数器,可以用寄存器或内存变量实现。2、常用的工作状态0是A、B道交替通行,一个周期用时14秒。用CNT0以0.5秒为单位进行加1计数,从0到27循环计数,CNT0/2就可知本周期进行到第几秒了。根据设计任务功能要求,第0秒,A道红灯、B道黄灯;第1~7秒,A道绿灯、B道红灯;第8秒,A道黄灯、B道红灯;第9~13秒,A道红灯、B道绿灯。3、工作状态3中,CNT3只有2种状态(0和0FFH),用于控制紧急车辆的灯光闪烁。4、时间显示采用实验仪的数码管显示。只用一个数码显示器显示绿灯通行倒计时,A道显示数=8-CNT0/2,B道显示数=14-CNT0/2。参考流程图2。如果用2个数码显示器分别显示A道、B道的倒计时,则需要用到动态显示扫描技术,难度较大,定为加分项目。在500ms延时子程序中循环调用动态显示扫描子程序,定时器的定时周期应缩短到5ms。参考流程图3。此功能难度较大,定为加分项目。2个数码管的位码选择(低电平有效)有8255的PC3、PC0来确定,接线到数码管选择脚接口JP41(注意JP41的接插方法:JP41只接插一半,用PCL接JP41的1-4引脚。如果PCL与JP41完全连接,PC4对应位会显示倒计时数码)。显示内容由8255的B口接线到数码管段码接口JP42。6、实验源代码及解释源程序如下:.MODELTINYCOM_ADDREQU0B003H;8253控制寄存器端口地址T0_ADDREQU0B000H;计数器0T1_ADDREQU0B001H;计数器1T2_ADDREQU0B002H;计数器2COM_ADDEQU0F003H;8255控制寄存器端口地址PA_ADDEQU0F000H;PA口PB_ADDEQU0F001H;PB口PC_ADDEQU0F002H;PC口.STACK300.DATA8LED_DATADB10111101B;东西红灯,南北黄灯DB11101011B;东西绿灯,南北红灯DB11011011B;东西黄灯,南北红灯DB10111110B;东西红灯,南北绿灯DB00111011B;东西红灯,南北黄灯,紧急车辆闪光亮DB10111011B;东西红灯,南北黄灯,紧急车辆闪光灭SHUMADB01111111B;0DB00000110B;1DB01011011B;2DB01001111B;3DB01100110B;4DB01101101B;5DB01111101B;6DB00000111B;7DB01111111B;8CNT0DB?;定义一个字节变量,初始值不定CNT3DB?.CODESTART:MOVAX,@DATA;AX=0040HMOVDS,AXMOVDX,COM_ADD;8255初始化MOVAL,88H;AL=10001000,A口方式0输出,B口方式0输出,C口高四位输入,低四位输出OUTDX,AL;把AL中的内容送入DX端口MOVDX,COM_ADDR;8253初始化MOVAL,0B0H;AL=10110000,通道2,先读/写寄存器低字节,后读/写高字节OUTDX,AL;把AL中的内容送入DX端口MOVDX,PC_ADD;位码选择INAL,DX;把DX端口的数据送入ALANDAL,0FEH;逻辑与指令,使最低位清零ORAL,01H;逻辑或指令,使最低位置1OUTDX,AL;把AL中的内容送入DX端口MOVCNT0
本文标题:微机原理课设-交通信号灯模拟控制系统的设计
链接地址:https://www.777doc.com/doc-6008475 .html