做教育机构中介网站,网页设计是什么职业,目录搜索引擎网站,零基础网站建设教学计算机科学与技术 专业课程设计任务书 学生姓名 专业班级 学号 题 目 交通信号灯控制系统的设计 课题性质 A.工程设计 课题来源 自拟课题 指导教师 同组姓名 主要内容 初始状态用K1键控制#xff0c;为两个黄灯闪烁#xff1b; K2键控制红、黄、绿灯接… 计算机科学与技术 专业课程设计任务书 学生姓名 专业班级 学号 题 目 交通信号灯控制系统的设计 课题性质 A.工程设计 课题来源 自拟课题 指导教师 同组姓名 主要内容 初始状态用K1键控制为两个黄灯闪烁 K2键控制红、黄、绿灯接通时间分别为5秒、2秒、5秒 K3键控制红、黄、绿灯接通时间分别为2秒、1秒、2秒。 一位数码管显示红灯和绿灯亮时间的倒计时信息。 任务要求 1、画出逻辑硬件图 2、用汇编语言写出程序 3、画出程序流程图设计出全部程序并调试通过 4、写出设计思路和调试方法与步骤 参考文献 [1]钱晓捷.16/32位微机原理、汇编语言及接口技术教程[M].北京:机械工业出版社,2011. [2]戴梅萼,史嘉权.微型计算机技术及应用(第4版)[M].北京:清华大学出版社,2008. [3]荆淑霞.微机原理与汇编语言程序设计(第1版)[M].北京:中国水利水电出版社,2005. [4]楼天顺,周家让,张伟涛.微机原理与接口技术[M].北京:科学出版社,2019. [5]牟琦.微机原理与接口技术[M].北京:清华大学出版社,2018. 审查意见 指导教师签字 教研室主任签字 填表说明“课题性质”一栏A工程设计B工程技术研究C软件工程如CAI课题等D文献型综述E其它。 目录 1.设计任务与要求 1.1设计任务 1.2要求 2.设计思想 3.主要元器件介绍 3.1 8086CPU芯片(33引脚高电平最小模式) 3.2 8255A并行接口芯片初始化控制字选择工作方式方式0 3.3 74LS138芯片3 线8 线译码器 3.4 74LS273芯片 8位数据/地址锁存器 3.5 七段数码管(共阴极) 3.6 其他简单元件 4.设计方案与硬件连线 4.1设计方案 4.2硬件连线 5.程序流程图 5.1总流程图(AGAIN0) 5.2按K1黄灯闪烁流程图(AGAIN1) 5.3按K2红黄绿灯设置时间525流程图(AGAIN2) 5.4按K3红黄绿灯设置时间212流程图(AGAIN3) 6.程序源代码 7.设计结果 7.1 初始状态用K1键控制为两个黄灯闪烁 7.2 K2键控制红、黄、绿灯接通时间分别为5秒、2秒、5秒 7.3 K3键控制红、黄、绿灯接通时间分别为2秒、1秒、2秒 8.总结 1.设计任务与要求
1.1设计任务
初始状态用K1键控制为两个黄灯闪烁
K2键控制红、黄、绿灯接通时间分别为5秒、2秒、5秒
K3键控制红、黄、绿灯接通时间分别为2秒、1秒、2秒。
一位数码管显示红灯和绿灯亮时间的倒计时信息。 1.2要求
1、画出逻辑硬件图
2、用汇编语言写出程序
3、画出程序流程图设计出全部程序并调试通过
4、写出设计思路和调试方法与步骤
2.设计思想
使用8086CPU芯片8255A并行接口芯片单位共阴数码管红、黄、绿LED灯SWITCH开关等进行连线再通过编写汇编程序实现输入输出——实现通过输入K1、K2、K3三个开关的断连状态输出对应的东西南北LED红绿灯、数码管倒计时状态。
3.主要元器件介绍
3.1 8086CPU芯片(33引脚 高电平最小模式) 图3.1 8086CPU芯片
⑴AD15AD0addressdatabus地址/数据总线双向三态。
⑵A19/S6A16/S3address/status地址/状态信号输出三态。
⑶BHE低/S7bushighenable/status允许总线高8位数据传送/状态信号输出三态。
⑷RD/read读信号输出三态低电平有效。
⑸READYready准备就绪信号输入高电平有效。
⑹INTRinterruptrequest可屏蔽中断请求信号输入高电平有效。
⑺TEST/test等待测试控制信号输入低电平有效。
⑻NMInon-maskableinterrupt非屏蔽中断请求信号输入高电平有效。
⑼RESETreset复位信号输入高电平有效。
⑽CLKclock时钟信号输入。CLK为CPU提供基本的定时脉冲信号。
⑾VCC电源输入引脚。8086CPU采用单一5V电源供电。
⑿GND接地引脚。
⒀MN/MX/minimum/maximum最小/最大模式输入控制信号。
CPU工作于最小模式时使用的引脚信号2431的含义及其功能如下。
⑴M/IO/memoryI/Oselect存储器、I/O端口选择控制信号。
信号指明当前CPU是选择访问存储器还是访问I/O端口。为高电平时访问存储器表示当前要进行CPU与存储器之间的数据传送。为低电平时访问I/O端口表示当前要进行CPU与I/O端口之间的数据传送。
⑵WR/write写信号输出低电平有效。
信号有效时表明CPU正在执行写总线周期同时由信号决定是对存储器还是对I/O端口执行写操作。
⑶INTA/interruptacknowledge可屏蔽中断响应信号输出低电平有效。
CPU通过信号对外设提出的可屏蔽中断请求做出响应。为低电平时表示CPU已经响应外设的中断请求即将执行中断服务程序。
⑷ALEaddresslockenable地址锁存允许信号输出高电平有效。
CPU利用ALE信号可以把AD15AD0地址/数据、A19/S6A16/S3地址/状态线上的地址信息锁存在地址锁存器中。
⑸DT/datatransmitorreceive数据发送/接收信号输出三态。
DT/信号用来控制数据传送的方向。DT/为高电平时CPU发送数据到存储器或I/O端口DT/为低电平时CPU接收来自存储器或I/O端口的数据。
⑹DEN/dataenable数据允许控制信号输出三态低电平有效。
信号用作总线收发器的选通控制信号。当为低电平时表明CPU进行数据的读/写操作。
⑺HOLDbusholdrequest总线保持请求信号输入高电平有效。
在DMA数据传送方式中由总线控制器8237A发出一个高电平有效的总线请求信号通过HOLD引脚输入到CPU请求CPU让出总线控制权。
⑻HLDAholdacknowledge总线保持响应信号输出高电平有效。
HLDA是与HOLD配合使用的联络信号。在HLDA有效期间HLDA引脚输出一个高电平有效的响应信号同时总线将处于浮空状态CPU让出对总线的控制权将其交付给申请使用总线的8237A控制器使用总线使用完后会使HOLD信号变为低电平CPU又重新获得对总线的控制权。
3.2 8255A并行接口芯片初始化控制字选择工作方式方式0 图3.2 8255A并行接口芯片
8位数据端口A口、B口、C口
A口PA7~PA0
B口PB7~PB0
C口PC7~PC0
连接外部设备
A口与B口为一个8位的输入口或输出口
C口单独作为一个8位的输入口或输出口
配合A口和B口使用作为控制信号和状态信号 A组和B组控制逻辑
A组A口和C口的高4位
B组B口和C口的低4位。
控制寄存器保存CPU送来的命令字。
决定A组和B组的工作方式
对C口的每一位执行置位/复位操作
根据命令字向相关端口送出控制信号 数据总线缓冲器
D7~D08位三态双向缓冲器
连接系统数据总线
用于传输三类信息
CPU送来的数据和控制信息(命令字)
外设送来的数据和状态信息U
高阻态隔离芯片与系统总线 读/写控制逻辑
CS片选信号输入引脚低电平有效
~RD读信号输入引脚低电平有效
~WR写信号输入引脚低电平有效
~RESET复位信号输入引脚高电平有效。用于将8255A控制字寄存器清“0”并将A、B、C口置成输入状态
A1、A0端口选择信号输入引脚 其余引脚
VCC接电源GND接地 8255A与微机系统的连接
8位数据总线的系统中A1与A0与地址总线的A1与A0相连。
16位数据总线的系统中A1与A0与地址总线的A2A1相连当数据线D7~D0连接到cpu数据总线的低8位以偶地址来寻址连接到cpu数据总线的高8位以奇地址来寻址。 工作方式方式0基本输入/输出方式
A口、B口和C口三个独立的8位输入或输出数据口。
C口可分为两个独立的4位输入或输出数据口。
输出时有锁存能力输入时无锁存能力。 基本输入方式
外设将数据送到8255A输入缓冲器
CPU给出有效的8255A地址及控制信号
CPU发读命令将输入缓冲器中的数据读入AL寄存器中 基本输出方式
CPU给出有效的8255A地址及控制信号。
CPU发写命令将AL寄存器中的数据写入输出锁存器。
适合于无条件输入输出方式。
3.3 74LS138芯片3 线8 线译码器
74LS138工作原理如下当一个选通端G1为高电平另两个选通端/(G2A)和/(G2B)为低电平时可将地址端A、B、C的二进制编码在一个对应的输出端以低电平译出。下图是它的原理结构图以及真值表 图3.3 74LS138芯片 图3.4 74LS138芯片功能表
无论从逻辑图还是功能表我们都可以看到74LS138的八个输出管脚任何时刻要么全为高电平1—芯片处于不工作状态要么只有一个为低电平0其余7个输出管脚全为高电平1。如果出现两个输出管脚在同一个时间为0的情况说明该芯片已经损坏。
74LS138有三个附加的控制端、和。当、时输出为高电平S1译码器处于工作状态。否则译码器被禁止所有的输出端被封锁在高电平如表中所示。这三个控制端也叫做“片选”输入端利用片选的作用可以将多篇连接起来以扩展译码器的功能。
3.4 74LS273芯片 8位数据/地址锁存器
74LS273是一种带清除功能的8D触发器 D0D7为数据输入端Q0Q7为数据输出端正脉冲触发低电平清除常用作数据锁存器,地址锁存器。
74LS273的工作原理:
1脚是复位端11脚是时钟脉冲输入端;当1脚为L电平时无论有无脉冲数据端D端是H或L电平输出端Q端都为L电平;仅当1脚为高电平H时“D”端的数据在脉冲的上升期间被传送到“Q”端.
第一脚WR主清除端低电平触发即当为低电平时芯片被清除输出全为0低电平
CPCLK触发端上升沿触发即当CP从低到高电平时D0~D7的数据通过芯片为0时将数据锁存D0~D7的数据不变。 图3.5 74LS273芯片
⑴1脚是复位/MR低电平有效当1脚是低电平时输出脚2Q0、5Q1、6Q2、9Q3、12Q4、15Q5、16Q6、19Q7全部输出0即全部复位。
⑵当1脚为高电平时11CP脚是锁存控制端并且是上升沿触发锁存.。当11脚有一个上升沿立即锁存输入脚3、4、7、8、13、14、17、18的电平状态并且立即呈现在在输出脚2Q0、5Q1、6Q2、9Q3、12Q4、15Q5、16Q6、19Q7上。
⑶74ls273其它管脚功能1D8D为数据输入端1Q8Q为数据输出端正脉冲触发低电平清除常用作8位地址锁存器。
3.5 七段数码管(共阴极)
一个七段数码管由一根导线选中一组八根导线控制发光显示不同的数字。
3.6 其他简单元件
LED_RED/YELLOW/GREEN红黄绿发光二极管、SWITCH一位开关、RES电阻、NOT非门、OR_10或门10连线等。
4.设计方案与硬件连线
4.1设计方案
8086采用最小模式连接8255A并行接口并进行汇编编程实现本次课设要求如下设计方案8255A的C端口输入K1、K2、K3三个开关的断连状态A端口输出倒计时数码管状态B端口输出东南西北红黄绿灯状态。
首先8255A的C端口读入K1/K2/K3按键数据如果判断数据为001B则实现功能AGAIN1黄灯闪烁如果判断为010B则实现功能AGAIN2设置红黄绿525秒如果判断为100B则实现功能AGAIN3设置红黄绿212秒如果读入数据都不符合则进行最初AGAIN0循环重新读入按键数据。
按下K1开关进入黄灯闪烁功能AGAIN1首先向A端口输入0关闭倒计时数码管、B端口输入0100100B点亮东西南北黄灯进行延时0.5秒再向B端口输入0熄灭东西南北黄灯延时一秒。配合外部AGAIN0大循环可以实现黄灯一直闪烁。
按下K2开关进入红绿灯设置时间525功能AGAIN2首先设置TIME1为5对应红绿灯倒计时初始值TIME2为2对应黄灯倒计时初始值然后跳转AGAIN_LOOP进行显示——通过A端口向数码管传输数字通过B端口改变红黄绿灯状态内部有小循环S1、S2、S3、S4使红绿灯状态不变倒计时每秒减一。配合外部AGAIN0大循环可以实现实时接受按键变化。
按下K3开关进入红绿灯设置时间212功能AGAIN3除了更改设置TIME1为2TIME2为1其他设计思路与功能AGAIN2一样。
4.2硬件连线 图4.1 总接线图 图4.2 8255A主要接线部分图
5.程序流程图
5.1总流程图(AGAIN0) 图5.1 总流程图
5.2按K1黄灯闪烁流程图(AGAIN1) 图5.2 按K1黄灯闪烁流程图
5.3按K2红黄绿灯设置时间525流程图(AGAIN2) 图5.3 按K2红黄绿灯设置时间525流程图
5.4按K3红黄绿灯设置时间212流程图(AGAIN3) 图5.4 按K2红黄绿灯设置时间212流程图
6.程序源代码
......
7.设计结果
7.1 初始状态用K1键控制为两个黄灯闪烁 图7.1 黄灯亮
图7.2 黄灯灭
7.2 K2键控制红、黄、绿灯接通时间分别为5秒、2秒、5秒 图7.3 东西绿南北红5 图7.4 东西黄南北红2 图7.5 东西红南北绿5 图7.6 东西红南北黄2
7.3 K3键控制红、黄、绿灯接通时间分别为2秒、1秒、2秒 图7.7 东西绿南北红2 图7.8 东西黄南北红1 图7.9 东西红南北绿2 图7.10 东西红南北黄1
8.总结
通过本次课设我更加深刻的理解到了微机课上所讲的知识很好的将学过的知识8086、8255A、汇编语言等联系到一起中间遇到了一些小困难——比如如何实现延时0.5秒那些端口控制什么进行输入输出、初始化控制字、硬件连线等但是都通过查找相关资料得到了较好的解决。
“纸上得来终觉浅绝知此事要躬行”选择了自己很感兴趣的交通信号灯管理系统。做完这个课设明白了原来红绿灯的实现也没有那么难做现在的自己也对用单片机开发连线、编程实现简单功能有了个囫囵见解很有成就感希望能继续加油下次争取做得更好。