微机课程设计8086控制的循环彩灯报告
更新时间:2023-09-16 20:03:01 阅读量: 高中教育 文档下载
微机原理课程设计报告书
设计目的:
1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件; 2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;
3.深入了解与掌握8255A在PC机系统的典型接法和8255A的工作方法及应用编程。
设计任务与要求:
设计一个循环彩灯控制系统,能输出四种花型,输出花型如下:
1)00000001 左循环(1时亮,0时灭) 2)10000000 右循环
3)按00000001,00000011,00000111-----11111111规律递增,后同时闪烁
一次,循环不断。
4)按01010101,10101010(或红、绿彩灯) 交替闪烁。
功能要求: 1)循环彩灯的循环速度可调;
2)按键要求
① 启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。
② 花型变换,由开关SW2、SW3进行四种花型切换; 总体方案与说明:
根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器,74LS373锁存器,和8255A可编程并行接口芯片和8个led彩灯。
Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道;8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;8086CPU的地址\\数据总线AD15-AD0和地址\\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离
1
微机原理课程设计报告书
开始 定义8255各个端口地址 8255初始化 装入控制字 系统启动,屏蔽高四位,继续检测按键值 al=20h al=00h 彩灯左循环 al=01h 彩灯右循环 al=02h 彩灯递增循环 al=03h 彩灯交替闪烁 al=10h 延时子程序 停止系统 结束
循环彩灯主要模块流程图
2
微机原理课程设计报告书
软件设计
采用模块化程序设计思想,将软件划分成若干单元,主要包括主程序、LED彩灯显示子程序和延时子程序等。本系统具体汇编源程序见附表一。
使用软件说明: Proteus
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真, 其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等
Emu8086
Emu8086-MicroprocessorEmulator结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具,编译源代码,并在模拟器上一步一步的执行。可视化界面令操作易如翻掌.可以在执行程序的同时可观察寄存器,标志位和内存.算术和逻辑运算单元(ALU)显示中央处理器内部的工作情况.
点击编译之生成.exe文件后,调试界面图
硬件电路图与说明:
3
微机原理课程设计报告书
8255A的数据线,片选信号,地址线,读写控制线等与系统总线相连,CS与译码器的也相连,通过译码器连接到系统总线。 锁存控制电路74LS373
在微控制器单元(MCU)中,寄存器是十分重要的资源。寄存器的主要作用是快速寄存算术逻辑运算单元(ALU)运算过程中的数据,其锁存功能利用74LS373来实现, (1) 锁存使能控制端 LE。 (2) 控制输入端 (3) 数据输入端
通过锁存器74LS373把数据存储于集成块中,当LE锁存控制端为1,\\OE使能端为0时,其具有输入功能,反之其具有锁存功能,在此系统中充当一个桥梁的作用,将部分数据传送个8255A的A0,A1,和CS片选等等,从而驱动发光二级管显示不同的花色。
由于地址锁存器8282与74LS373有相同的功能,可以将此处的74LS373替换成8282,原理上同样可以实现
4
微机原理课程设计报告书
可编程并行通信接口芯片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。
然而8255A的3种基本工作方式:由方式选择控制字来决定,D7=1(特征位)表明是设定方式选择控制字;D7=0,则表示是端口C按位置位/复位控制字;
端口C分成高4位(PC7~PC4)和低4位(PC3~PC0),可分别设置成输入端口或输出端口;端口C的高4位与端口A配合组成A组,端口C的低4位与端口B配合组成B组。 综上可得此系统需要满足A端口为输出,输出数据给到8个LED彩灯;端口C为输入,需要检测按键的输入情况;
问题分析与解决方案:
1. unknow 1-byte opcode at B900:7056! 61
[SPICE]error---too many iterations without convergence
在仿真过程中,出现以上两行的错误,太多的迭代没有收敛性,和某个汇编语言在编码过程中的地址不正确:
说明程序代码过于分散,没有模块化,之后再将程序能够模块化的地方尽量改善,达到更加简洁易读易运行的目的由于程序中定义了 dz db 01h,03h,07h,0fh,1fh,3fh,7fh,0ffh,00h,0ffh,00h,0ffh 在在最初的调试的时候variable里面elements的值总是显示1,然而此处共有12个值,si共需要在此取11个偏移地址,所以改成11后,程序调试运行正常;
2.延时子程序模块的编写方法多种,之前为了测试单一的彩灯循环左移是否能够成功,采用nop延时,由CPU晶振频率计算,12M的晶振频率,执行一个nop需要时间1us,8086的晶振频率是5MHz,所以执行一个nop需要的时间是12/5us若要实现短暂而精确的延时可以用nop,然而此处流水灯的延时仅仅用空指令nop并不具有很好的移植性和修改性,程序代码也显得冗余;
一般一定功能的程序段设计成一个子程序,MASM宏汇编程序用“过程”(Procedure)来构造子程序。如此段延时子程序: delay proc push cx push bx
mov cx,0fh ;修改此处的值,可以改变延时时间 d1:mov bx,0fh d2:dec bx jnz d2 pop bx pop cx
5
正在阅读:
微机课程设计8086控制的循环彩灯报告09-16
linux内核模块实验(2学时)04-22
第三章 患者安全04-09
员工职业规划【优秀10篇】03-24
达梦数据交换平台产品白皮书05-31
蒙牛vs伊利 成功战略剖析11-25
关爱是什么作文06-12
2019江苏省对口高考数学试卷(可编辑修改word版)05-06
党政机关公文格式02-18
青春属于我们作文800字07-17
- 上海大众、一汽大众、东风日产车型与VIN代号对照表
- 第2章服装原型及原型制作
- 江苏省工商行政管理系统经济户口管理办法及四项制度
- 纪检监察业务知识试题2
- 传感器综合题答案
- 北京第二外国语学院翻硕招生人数及学费
- 初三新编英语教材下册
- 公司庆中秋、迎国庆联欢会客串词
- 向区委常委会汇报安全生产工作材料
- 2006年GCT英语模拟试题(三)及答案解析
- 经济法概念的早期使用
- 我爱做家务课堂教学设计
- 学校安全工作月报表、消防安全排查表、消防隐患排查台账
- 成本会计毕业论文
- 班级文化建设论文
- 2018年天津市高考文科试题与答案汇总(Word版) - 图文
- 铁路论文
- 2017年嵌入式系统设计师考试时间及地点
- 1.111--灾害与突发公共卫生事件应急预案
- 起爆点主图 注意买入 拉升 逃顶源码指标通达信指标公式源码
- 彩灯
- 微机
- 循环
- 课程
- 控制
- 报告
- 设计
- 8086
- 财经法规知识框架 - 图文
- 2015南通市高三数学三模试卷
- 材料成型及机械制造工艺基础简答题(精)
- 作物栽培学 - 试题 -
- 《市场营销策划》考试题一
- 淮海工学院2013—2014学年上《电磁场与电磁波》期末考试试卷(B卷)及答案与评分标准
- 高考物理牛顿运动定律答题技巧
- 多选题思考题-参考答案(1)
- 三线摆测量转动惯量
- 北师大版四年级数学下册第三单元小数乘法测试题
- 现浇连续箱梁桥(满堂支架)工程监理细则 - secret
- 2013 材料力学复习素材
- 2008定额重要记录
- 《我站在祖国地图前》教学设计
- 2009年江苏造价员考试装饰案例
- R25=20kΩ B25-50=3950 NTC热敏电阻阻值与温度对应RT表
- 新版苏教版四年级语文上册四语上期末试卷5
- 16秋华师《中级财务会计》在线作业
- 穷人优秀教学设计(共8篇)
- 小鼠在免疫抗原后机体产生的特异性免疫应答研究