微机原理课程设计—交通灯控制.doc_第1页
微机原理课程设计—交通灯控制.doc_第2页
微机原理课程设计—交通灯控制.doc_第3页
微机原理课程设计—交通灯控制.doc_第4页
微机原理课程设计—交通灯控制.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

交通信号灯的控制一、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。通过本课程设计,使学生初步了解微机系统的硬件设备,学会8086系列编程指令的基本功能。二、设计要求1、通过8255A并口来控制LED发光二极管的亮灭。2、A口控制红灯,B口控制黄灯,C口控制绿灯。3、输出为0则亮,输出为1则灭。4、用8253定时来控制变换时间 。要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。系统初始化8253、8255、8259初始化某组灯绿灯亮,另一组红灯亮,黄灯全灭红灯亮,黄灯灭换为另一组计时30秒,绿灯灭,同时黄灯亮计时1秒,黄灯状态取反,闪烁5次共5秒结束三、流程图:四、真值表:红PA1/PA0黄PB1/PB0绿PC1/PC0时间10110130s1001/11/01/11/01115s01111030s0110/11/10/11/10115s五、电路图:电路图中地址线连接在A2,A3上,用74HC139译码,故地址范围为00H03H,04H07H,08H0BH,每个芯片的A0、A1均与8086的A0、A1相连,RD、WR与8086的RD、WR相连,以控制芯片的读写。8253使用定时器0,输出接8259的IR0,故中断向量为08H。13方向的绿灯同PC0相连,24方向的绿灯同PC1相连,红灯、黄灯接PA、PB,方式同上。六、源程序:;-;模块作用:交通灯控制;编程语言:汇编;编程:孙逸痕,本程序无版权,欢迎使用;日期:2011-12-11;-;-STACK-STACK SEGMENT STACK STACKDW 32 DUP(0)STACK ENDS;-DATA-DATA SEGMENTCOUNT_L EQU 0H;计数器初值COUNT_H EQU 0HADD_8253_T0 EQU 00H;芯片地址ADD_8255 EQU 04HADD_8259 EQU 08HRED_ADD EQU ADD_8255;PAYELLOW_ADD EQU ADD_8255+1;PBGREEN_ADD EQU ADD_8255+2;PCLIGHT_ON EQU 01H;Pi1/Pi0=01 (i=A,B)LIGHT_OFF EQU 03H;Pi1/Pi0=11SYS_COUNTER DB 18;系统频率GREEN_COUNTER DB 30;绿灯30秒计数YELLOW_COUNTER DB 5;黄灯5秒计数DATA ENDS;-CODE-CODE SEGMENTMAIN PROC FARASSUME SS:STACK,CS:CODE,DS:DATA;-系统初始化-PUSH DSMOV AX,0PUSH AXMOV ES,AXMOV AX,DATAMOV DS,AX;-中断向量-MOV AX,OFFSET TIMER;装入中断向量表MOV ES:20H,AXMOV AX,SEG TIMERMOV ES:22H,AX;-8253定时器0初始化-MOV AL,36HOUT ADD_8253_T0,AL;16位,方式3MOV AL,COUNT_L;装入初值OUT ADD_8253_T0,ALMOV AL,COUNT_HOUT ADD_8253_T0,AL;-8255初始化-MOV AL,80H;方式0OUT ADD_8255+3,AL;-8259初始化-MOV AL,13H;单片,边沿触发OUT ADD_8259,ALMOV AL,8H;中断类型码为08H0FHOUT ADD_8259+1,ALMOV AL,0DHOUT ADD_8259+1,AL;-系统运行-SYS_ON:IN AL,ADD_8259+1;开中断IRQ0AND AL,0FEHOUT ADD_8259+1,ALMOV AL,LIGHT_ON;开13方向绿灯,24方向红灯,关黄灯OUT GREEN_ADD,ALNEG ALOUT RED_ADD,ALMOV AL,LIGHT_OFFOUT YELLOW_ADD,ALGRE_30:JMP $;等待计时中断DEC GREEN_COUNTER;等待绿灯亮30秒JNZ GRE_30MOV BX,OFFSET GREEN_COUNTER ;复位计数器MOV BX,30MOV AL,LIGHT_OFF;关绿灯,开黄灯OUT GREEN_ADD,ALMOV AL,LIGHT_ONOUT YELLOW_ADD,ALYEL_5:JMP $;等待计时中断MOV AL,LIGHT_ONMOV AH,03H;取辅助值(用于黄灯状态取反)放在AH中SUB AH,ALXOR AL,AH;黄灯状态取反OUT YELLOW_ADD,ALDEC YELLOW_COUNTER;计时值,每一秒改变一次状态,共5秒JNZ YEL_5MOV BX,OFFSET YELLOW_COUNTER ;复位计数器MOV BX,5MOV AL,LIGHT_ON;点亮红灯OUT RED_ADD ,ALMOV BX,OFFSET LIGHT_ON;将13边换位24边MOV BX,AHMOV AL,LIGHT_OFF;熄灭黄灯OUT YELLOW_ADD,ALMOV AL,LIGHT_ON;24边绿灯亮UT GREEN_ADD,ALJMP SYS_ON;循环RET;-中断函数-TIMER:DEC SYS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论