汽车信号灯控制系统_第1页
汽车信号灯控制系统_第2页
汽车信号灯控制系统_第3页
汽车信号灯控制系统_第4页
汽车信号灯控制系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机接口部分汽车信号灯控制系统一、设计目的综合应用所学计算机接口和汇编语言原理和知识,设计并实现较为完整的计算机控制系统,培养学生独立分析和设计计算机硬件系统的能力二、实验环境1硬件环境:实验采用北京精仪达盛科技有限公司的CPU挂箱,8086CPU模块,接口挂箱及相应的扩展模块。2软件环境:8086集成开发环境。三、设计要求1、设计并制作出汽车信号灯微机控制系统;2、所需执行的操作由相应的开关状态反映,所需控制的信号灯有仪表板左/右转弯灯、左右头灯和左右尾灯共六类灯,其驾驶操作与灯光信号对应关系如下:(1)左/右转弯(合上左/右开关):仪表板左/右转弯灯、左/右头灯、左/右尾灯闪烁。(2)

2、紧急开关合上:所有灯闪烁。(3) 刹车(合上刹车开关):左右尾灯亮。(4) 左/右转弯刹车:仪表板左/右转弯灯、左/右头灯、左/右尾灯闪烁,右/左尾灯亮。(5) 刹车、合上紧急开关:尾灯亮、仪表板灯、头灯闪烁。(6) 左/右转弯刹车,并合上紧急开关:右/左尾灯亮,其余灯闪烁。(7) 停靠(合上停靠开关):头灯、尾灯以30Hz的频率闪烁。有10种输入选择,影响6个灯输出,对应关系如下表:四、设计内容4.1、设计思想本系统中要求设计汽车信号灯控制系统,通过6盏灯的亮灭或者闪来控制10中操作,即:左转弯、右转弯、刹车, 紧急开关合上,左转弯刹车,右转弯刹车,紧急刹车,紧急左转刹车,紧急右转刹车,停靠

3、。每一种操作都对应不同灯的显示。通过8253提供的时钟信号,8255通过C口接收,然后A口通过开关输入,B口通过显示灯输出。在该实验中,我们通过8090A/D实现对灯亮度的控制。本实验中我们所用到的芯片是8255和8253,是系统实现的核心部分,下面对这些芯片做简要介绍。1)芯片82558255是一个CPU与外设之间提供了TTL电平兼容的接口。8255可以工作在方式0,方式1,方式2三种方式,其中端口A可以工作在这3种不同的方式下,二端口B只能工作在方式0和方式1,端口C配合端口A和端口B工作。本实验中不8255A端口做输入,B端口做输出,C端口取出一位来通过与具有定时功能的8253芯片连接,

4、实现灯闪烁这一效果。2)芯片82538253有6种工作方式,本次实验设计主要用到方式3,方式3又可称为方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUTi输出低电平, 装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列; 若n为奇数, 则OUTi端输出周期为n&

5、#215;CLKi周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。4.2、系统结构图具体规划图实际接线图4.3、系统接线8255CSCS0,8253CSCS1;A口接输入(K1K8)(PA0PA7),B口接输出(LED1LED6)(PB0PB5);C口接CLK的输出:CLK3CLK0,OUT0CLK1,OUT0CLK2,OUT1PC0,OUT2PC

6、1。4.4、状态转换表根据系统图和题目要求,列出状态表:注:输入状态中,0代表低电平无效,1代表高电平有效; 输出状态中,1/0代表灯闪,1代表灯亮,0代表灯灭。4.5、程序流程图五、程序代码;常量定义pa8255 equ 04a0hpb8255 equ pa8255+2pc8255 equ pa8255+4con8255 equ pa8255+6clk0 equ 04b0hclk1 equ clk0+2clk2 equ clk0+4conclk equ clk0+6 ;伪指令assume cs:code code segment public org 100hstart: ;时钟初始化;mo

7、v dx,conclk;控制寄存器mov ax,36h;计数器0,方式3 out dx,axmov dx,clk0mov ax,7Chout dx,axmov ax,92hout dx,ax;计数值927Chmov dx,conclkmov ax,76h;计数器1,方式3out dx,axmov dx,clk1mov ax,04hout dx,axmov ax,0;计数值32hout dx,ax mov dx,clk2mov ax,0chout dx,axmov ax,0;计数值04hout dx,ax;8255初始化;mov dx,con8255 ;控制寄存器地址mov ax,99h;设置为

8、A口输入,B口输出,C口输入out dx,axstart1: mov dx,pa8255;A口地址in ax,dx;输入cmp al,01h;判断左转弯jz ZZcmp al,02h;判断右转弯jz YZcmp al,04h;判断紧急开关合上jz L3cmp al,08h;判断刹车jz L4 cmp al,10h;判断左转弯刹车jz L5cmp al,20h;判断右转弯刹车jz L6cmp al,40h;判断紧急刹车jz L7cmp al,80h;判断紧急左转弯刹车jz L8cmp al,03h;判断紧急右转弯刹车jz L9cmp al,05h;判断停靠JZ L10;灯常亮mov ax,0ff

9、hmov dx,pb8255;B口地址out dx,axjmp start1L1:jmp near ptr ZZ ;L2:jmp near ptr YZL3:jmp near ptr JJL4:jmp near ptr STOPL5:jmp near ptr LSTOPL6:jmp near ptr RSTOPL7:jmp near ptr JSTOPL8:jmp near ptr JLSTOPL9:jmp near ptr JRSTOPL10:jmp near ptr TING;左转弯ZZ:mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a1mov a

10、x,11101010bmov dx,pb8255out dx,axjmp start1a1:mov dx,pb8255mov ax,0ffhout dx,axjmp start1;右转弯YZ:mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a2mov ax,11010101bmov dx,pb8255out dx,axjmp start1a2:mov dx,pb8255mov ax,0ffhout dx,axjmp start1;紧急开关闭合JJ: mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a3mov ax,

11、11000000bmov dx,pb8255out dx,axjmp start1a3:mov dx,pb8255mov ax,0ffhout dx,axjmp start1;刹车STOP: mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a4mov ax,11111100bmov dx,pb8255out dx,axjmp start1a4:mov dx,pb8255mov ax,11111100bout dx,axjmp start1;左刹车LSTOP: mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a5mo

12、v ax,11101000bmov dx,pb8255out dx,axjmp start1a5:mov dx,pb8255mov ax,11111110bout dx,axjmp start1;右刹车RSTOP:mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a6mov ax,11010100bmov dx,pb8255out dx,axjmp start1a6:mov dx,pb8255mov ax,11111101bout dx,axjmp start1;紧急刹车JSTOP:mov dx,pc8255in ax,dxand al,01hcmp al

13、,01hjz a7mov ax,11000000bmov dx,pb8255out dx,axjmp start1a7:mov dx,pb8255mov ax,11111100bout dx,axjmp start1;紧急左刹车JLSTOP:mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a8mov ax,11000000bmov dx,pb8255out dx,axjmp start1a8:mov dx,pb8255mov ax,11111110bout dx,axjmp start1;紧急右刹车JRSTOP:mov dx,pc8255in ax,dx

14、and al,01hcmp al,01hjz a9mov ax,11000000bmov dx,pb8255out dx,axjmp start1a9:mov dx,pb8255mov ax,11111101bout dx,axjmp start1;停靠TING:mov dx,pc8255in ax,dxand al,01hcmp al,01hjz a10mov ax,11001100bmov dx,pb8255out dx,ax call delayjmp start1a10:mov dx,pb8255mov ax,0ffhout dx,axjmp start1;子程序delay: mov

15、cx, 5000h;time delaydelay1: nop noploop delay1ret ;下面放着变量定义code endsend start总结与心得硬件课程设计历时两周时间,综合了计算机组成原理和接口技术相关的学科知识和技能。在实验设计期间,小组成员能够团队协作,共同攻克难关。最终课程设计顺利完成,为大三最后的时刻。画上了一个圆满的句号。刚好有这学期的知识储备,直接开始设计工作。参照实验指导书上的例题,小组内进行了探讨,分析了一下相关的设计要点。起初,在灯亮灯灭的问题上有点小纠结,经过不断的代码调试,最后算是成功了。能实现两个动作,灯亮和灯灭,还不能实现灯闪的条件。后来,在组长的深入分析之后,对程序代码做了一个小小的改动,调试发现灯闪也可以实现。然后给小组讲解之

温馨提示

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

最新文档

评论

0/150

提交评论