- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标准文档
实用文案
标准文档
实用文案
计算机接口部分
汽车信号灯控制系统
一、设计目的
综合应用所学计算机接口和汇编语言原理和知识,设计并实现较为完整的计算机控制系统,培养学生独立分析和设计计算机硬件系统的能力
二、实验环境
1.硬件环境:
实验采用北京精仪达盛科技有限公司的CPU挂箱,8086CPU模块,接口挂箱及相应的扩展模块。
2.软件环境:
8086集成开发环境。
三、设计要求
1、设计并制作出汽车信号灯微机控制系统;
2、所需执行的操作由相应的开关状态反映,所需控制的信号灯有仪表板左/右转弯灯、左右头灯和左右尾灯共六类灯,其驾驶操作与灯光信号对应关系如下:
(1)左/右转弯(合上左/右开关):仪表板左/右转弯灯、左/右头灯、左/右尾灯闪烁。
(2) 紧急开关合上:所有灯闪烁。
(3) 刹车(合上刹车开关):左右尾灯亮。
(4) 左/右转弯刹车:仪表板左/右转弯灯、左/右头灯、左/右尾灯闪烁,右/左尾灯亮。
(5) 刹车、合上紧急开关:尾灯亮、仪表板灯、头灯闪烁。
(6) 左/右转弯刹车,并合上紧急开关:右/左尾灯亮,其余灯闪烁。
(7) 停靠(合上停靠开关):头灯、尾灯以30Hz的频率闪烁。
有10种输入选择,影响6个灯输出,对应关系如下表:
四、设计内容
4.1、设计思想
本系统中要求设计汽车信号灯控制系统,通过6盏灯的亮灭或者闪来控制10中操作,即:左转弯、右转弯、刹车, 紧急开关合上,左转弯刹车,右转弯刹车,紧急刹车,紧急左转刹车,紧急右转刹车,停靠。
每一种操作都对应不同灯的显示。通过8253提供的时钟信号,8255通过C口接收,然后A口通过开关输入,B口通过显示灯输出。在该实验中,我们通过8090A/D实现对灯亮度的控制。
本实验中我们所用到的芯片是8255和8253,是系统实现的核心部分,下面对这些芯片做简要介绍。
1)芯片8255
8255是一个CPU与外设之间提供了TTL电平兼容的接口。8255可以工作在方式0,方式1,方式2三种方式,其中端口A可以工作在这3种不同的方式下,二端口B只能工作在方式0和方式1,端口C配合端口A和端口B工作。本实验中不8255A端口做输入,B端口做输出,C端口取出一位来通过与具有定时功能的8253芯片连接,实现灯闪烁这一效果。
2)芯片8253
8253有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×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。
如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。
如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。
4.2、系统结构图
具体规划图
实际接线图
4.3、系统接线
8255CS→CS0,8253CS→CS1;
A口接输入((K1……K8)→(PA0……PA7)),B口接输出((LED1……LED6)→(PB0……PB5));
C口接CLK的输出:CLK3→CLK0,OUT0→CLK1,OUT0→CLK2,OUT1→PC0,OUT2→PC1。
4.4、状态转换表
根据系统图和题目要求,列出状态表:
注:输入状态中,0代表低电平无效,1代表高电平有效;
输出状态中,1/0代表灯闪,1代表灯亮,0代表灯灭。
4.5、程序流程图
五、程序代码
;常量定义
pa8255 equ 04a0h
pb8255 equ pa8255+2
pc8255 equ pa8255+4
con8255 equ pa8255+6
clk0 equ 04b0h
clk1 equ clk0+2
clk2 equ clk0+4
conclk equ clk0+6 ;伪指令
assume cs:code
code segment public
org 100h
start:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;时钟初始化
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
m
文档评论(0)