资源描述
摘要
“微机原理与接口技术”是高等学校电子信息工程、 通信工程、 自动化、 电气工程及其自动化等工科电气与电子信息类各专业关键课程。该课程以INTER 8086微处理器和IBM PC系列微机为关键对象, 系统。深入地介绍了微型计算机基础组成、 工作原理、 接口技术及应用, 把微机系统开发过程中用到硬件技术和软件技术有机地结合起来。
本文详述了8个LED灯循环闪烁课程设计。设置8个LED灯, 首先是1、 3、 5、 7号LED依次亮1秒钟, 当7号LED亮后, 这四个灯同时闪烁5下。然后是2、 4、 6、 8号LED依次亮1秒钟, 当8号LED亮后, 这四个灯同时闪烁5下。
本课程设计, 因为本身能力和学习水平有限, 可能存在一定错误和不妥之处, 敬请批评和指正。
一、 设计目
1.巩固和加深课堂所学知识; 熟悉多种指令应用及条件;
2.学习掌握通常软硬件设计方法和查阅、 利用资料能力;
3.深入了解8255A各引脚功效, 8255A和系统总线之间连接, 8255A和CPU之间数据交换, 以及8255A内部逻辑结构。深入掌握8255A显示电路基础功效及编程方法, 8255等芯片工作方法、 作用。
4.培养和锻炼在学习完本门课后综合应用所学理论知识, 处理实际工程设计和应用问题能力。经过课程设计, 要求熟悉和掌握微机系统软件、 硬件设计方法、 设计步骤, 得到微机开发应用方面初步训练。同时并了解综合问题程序设计掌握实时处理程序编制和调试方法, 掌握通常设计步骤和步骤, 使我们以后搞设计时逻辑愈加清楚。
二、 设计内容
依据所学内容和对8255A应用, 整个系统硬件采取8086微处理器和8255A可编程并行接口芯片和8个LED等连成硬件电路。设计8个LED灯, 实现以下要求: 首先是1、 3、 5、 7号LED依次亮1秒钟, 当7号LED亮后, 这四个灯同时闪烁5下。然后是2、 4、 6、 8号LED依次亮1秒钟, 当8号LED亮后, 这四个灯同时闪烁5下。
三、 设计要求
使用8255A可编程接口芯片实现8个LED灯以十种不一样方法显示。画出硬件电路图, 能在PROTEUS中模拟实现。
四、 设计原理与硬件电路
1、 整体设计思想
采取8086微处理器, 经过并行接口芯片8255A和计算机硬件连接, 经过软件延时计数, 来实现10种显示方法交替循环, 用不一样输出值确定8个LED灯怎样亮。
2、 使用各芯片作用及工作原理
(1)可编程并行通信接口芯片8255A:
方法0为简单I/O, 查询方法, 端口A、 端口B、 端口C均可使用。
方法1为选通I/O, 中止方法, 端口A、 端口B能够使用, 选通输入/输出方法。
方法2为双向I/O, 中止方法, 只有端口A能够使用, 双向传输方法。
方法0也叫基础输入/输出方法。一个方法, 不需要应答联络信号,端口A、 端口B和端口C高4位及低4位都能够作为输入或输出端口。方法0应用场所有没有条件传送和查询传送2种; 故依据我们系统设计要求, 综上可知, 选择8255A为工作方法0。
然而8255A3种基础工作方法: 由方法选择控制字来决定, D7=1(特征位)表明是设定方法选择控制字; D7=0, 则表示是端口C按位置位/复位控制字;
端口C分成高4位(PC7~PC4)和低4位(PC3~PC0), 可分别设置成输入端口或输出端口; 端口C高4位与端口A配合组成A组, 端口C低4位与端口B配合组成B组。
综上可得此系统需要满足A端口为输出, 输出数据给到8个LED灯; 端口C为输入, 需要检测按键输入情况;
(2)8086微处理器
选择最小工作模式, 全部总线控制信号均由8086产生; 8086CPU地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用, 必需经过地址锁存器把地址总线和数据总线分离。
3、 使用软件说明:
Proteus
Proteus是世界上著名EDA工具(仿真软件), 从原理图布图、 代码调试到单片机与外围电路协同仿真, 其处理器模型支持8051、 HC11、 PIC10/12/16/18/24/30/DsPIC33、 AVR、 ARM、 8086和MSP430等
Emu8086
Emu8086-MicroprocessorEmulator结合了一个优异原始编辑器、 组译器、 反组译器、 具除错功效软件模拟工具(虚拟PC), 还有一个循序渐进指导工具, 编译源代码, 并在模拟器上一步一步实施。可视化界面令操作易如翻掌.能够在实施程序同时可观察寄存器, 标志位和内存.算术和逻辑运算单元(ALU)显示中央处理器内部工作情况.
4、 锁存器74LS273
在微控制器单元(MCU)中, 寄存器是十分关键资源。寄存器关键作用是快速寄存算术逻辑运算单元(ALU)运算过程中数据, 其锁存功效利用74LS373来实现,
(1) 锁存使能控制端 LE。
(2) 控制输入端
(3) 数据输入端
经过锁存器74LS373把数据存放于集成块中, 当LE锁存控制端为1,\OE使能端为0时, 其含有输入功效, 反之其含有锁存功效, 在此系统中充当一个桥梁作用, 将部分数据传送个8255AA0,A1, 和CS片选等等, 从而驱动发光二级管显示不一样花色。
5、 译码器74ls154
74ls154功效介绍:
54/74154 为 4 线-16 线译码器, 当选通端(G1、 G2)均为低电平时, 可将地址端(ABCD)二进制编码在一个对应输出端, 以低电平译出。 假如将G1和G2中一个作为数据输入端, 由ABCD对输出寻址, 74LS154还可作1线-16线数据分配器。
74LS154管脚图:
引脚功效介绍
A、 B、 C、 D 译码地址输入端(低电平有效)
G1、 G2 选通端(低电平有效)
0-15 输出端(低电平有效)
推荐工作条件
74ls154电气参数
极限值
电源电压: 7V
输入电压: 5.5V
工作环境温度
54154:-55~125℃
74154:0~70℃
贮存温度:-65~150℃
五、 程序代码
见附页
六、 硬件连接图及运行情况
见附页
七、 设计难点与关键
1、 在调试过程中, 因为led灯一端都接地, 按下开启键, 并没有什么现象, 总让人产生错觉是不是程序出现问题, 仿真不出来; 为了便于开启按键按下有现象, 可将led灯另一端接高电平, 不过想来想去, 假如是在现实中, 不可能用LED灯忽然全部亮来说明系统开启, 故能够在连接开启键导线中用一个led灯是否亮了来检测系统开启成功, 此时全部按键另一端也要求接高电平了。
2、 程序运行过程中, 查阅了相关资料, 得悉代码中loop两步操作: 1、 cx=cx-1; 2、 判定cx值, 决定跳转还是向下实施。进而使得程序运行愈加地顺利了。
八、 设计心得
经过这次课程设计, 我认为我有了很大收获, :
1、 开始时候设计存在很多问题, 这关键表现在基础知识掌握不牢靠。不能灵活利用所学知识处理实际问题, 所以在基础知识这一块还应该多加强和巩固。8255芯片和软件(编程)结合使用能够有更灵活利用方法。一开始我们联络连得比较复杂, 和同组同学一块动脑筋, 最终最终使问题得到很好处理。
2.更一步深化了程序设计步骤思想, 之前混乱状态逐步清楚起来; 编写程序时我碰到了很多麻烦, 开始时我把程序编了出来, 不过我用Proteus仿真就和我想要结果不一致, 然后我又经过认真分析, 发觉我逻辑思维犯错了, 用汇编语言编写时要求有很好逻辑思维能力, 在以后练习中得加强这方面锻炼;
3.我对于工科设计严谨性、 仔细性有了更深地体会。我们此次设计8个LED灯循环闪烁, 仅仅是工科设计中非常简单一个, 思想并不是非常复杂, 手头也有一定资料, 不过我们在研发, 调试过程中还是出现了部分错误。简单部分程序好检验, 不过假如说是以后要设计部分大型程序, 出现故障就不是那么轻易检验了。这就要求我们在以后工程设计当中要更为细致仔细。
4.对专业设计很多步骤、 标准、 注意事项以及撰写专业汇报相关事项有了一定了解。
5.学到了书本上没有知识, 掌握了部分程序设计技巧, 对以后学习与设计有深远影响。
总而言之, 经过这次课程设计, 我对以后专业学习所要注意事项有了更深刻地了解, 这对我以后学习必将产生深远影响。
展开阅读全文