微机原理课设+汽车尾灯详解

上传人:jin****ng 文档编号:198586711 上传时间:2023-04-09 格式:DOCX 页数:24 大小:140.49KB
收藏 版权申诉 举报 下载
微机原理课设+汽车尾灯详解_第1页
第1页 / 共24页
微机原理课设+汽车尾灯详解_第2页
第2页 / 共24页
微机原理课设+汽车尾灯详解_第3页
第3页 / 共24页
资源描述:

《微机原理课设+汽车尾灯详解》由会员分享,可在线阅读,更多相关《微机原理课设+汽车尾灯详解(24页珍藏版)》请在装配图网上搜索。

1、课程设计名称:微机系统综合课程设计课程设计题目:模拟汽车尾灯动作院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名: 指导教师完成日期目录第1章 总体设计方案 11.1 设计原理 11.2 设计思路 11.2.1 提出方案 11.2.2 方案阐述 21.3 实验环境 2第2章 详细设计方案 32.1硬件电路设计 32.2主程序设计 42.3功能模块的设计与实现 6第3章 结果测试及分析 83.1结果测试 83.2结果分析 8参考文献 9附 录 10第 1 章 总体设计方案1.1 设计原理在设计要求中要实现控制左右共 6 个指示灯闪烁,会用到 8255 芯片,在此使 用PA 口输

2、出控制各灯的具体动作。PA0-PA2控制左边三个指示灯,PA5-PA7控 制右边三个指示灯。在汽车左转、右转、刹车中要计时10s,则用8253计数器控制计时,用8253 计数器产生1s的方波和0.5s的方波来实现1s和0.5s的计时。要显示计时,则需要用 8279键盘显示芯片,采用 8279控制数码管的 D0 位 显示倒计时 10s。在8253计时过程中,每计数1s需要通过8279进行显示,需要调用中断程序 来实现,则用 8259芯片来实现。1.2 设计思路根据课程设计的要求,需要设计控制汽车启动、左转、右转、刹车、停止 5 个功能键。在此,可以采用 0 键控制汽车启动,数码管显示正常行驶标识

3、反向的 “A”;1 键控制汽车左转,左侧3 个指示灯按左循环依次点亮,同时数码管开始 倒计时10s,并显示左转标识反向的“E”2键控制汽车右转,右侧3个指示灯按右循环依次点亮,同时数码管开始倒计时10s,并显示右转标识“E”3键控制汽车临时刹车,所有指示灯按照亮0.5s灭0.5s次序循环闪烁,同时数码管开始 倒计时10s,并显示临时刹车标识“ A” ; 4键控制汽车的停止,清空显示RAM, 指示灯全部熄灭。1.2.1 提出方案首先,分别能实现启动,左转,右转,刹车,停止等五项功能,并且仅当汽 车启动后,其他功能才能实现;其次,实现计时显示功能,分别能显示0.5s和倒 计时 10s。1.2.2

4、方案阐述指示灯闪烁控制部分,采用8255PA 口输出控制。左转时给PA 口送值OFBH, 左边第三个灯亮,各位取反后,右移一位取反使左边第二个灯亮(移位方向与灯的 循环方向相反),如此循环使左边三个灯循环闪亮。右转同理,循环方向相反。刹 车时PA 口依次送值OFFH、0H,以使所有指示灯闪烁。计时部分,8253计数器0的输入为9600Baud,计数器0的输出作为计数器1 和计数器2的输入,计数器的输出为周期0.5s的方波。在数码管显示计时时,每 两个 0.5s 显示一个计数(即每个数字在一秒中显示两次),这样所有的动作中,指 示灯的闪烁频率都为2Hz。显示计时部分只要设置好控制字,可以正确显示

5、计数 数字。计时部分使其产生两个不同的输出频率,一个为1Hz,控制数码管计时;一 个为2Hz,控制刹车时指示灯的闪烁。本方案将计数部分分为两部分,分别产生两个不同脉冲,并可以准确的控制 0.5s 与 1s 计时,由 1s 计时作为总控计时时间, 0.5s 单独控制灯闪烁,两者互不 干扰且又不矛盾,灯的闪烁准确定在10s内。1.3 实验环境硬件环境:AEDK实验箱,PC机。软件环境:LCA88ET应用软件。第 2 章 详细设计方案2.1 硬件电路设计硬件电路由可编程并行接口芯片 8255、可编程键盘显示接口芯片 8279、可编 程中断控制器芯片 8259 和可编程定时器/计数器芯片 8253 共

6、四部分构成,硬件电 路连线图如图 2.1 所示。图 2.1 硬件电路连线图8253是可编程定时器/计数器,用来产生两个不同的输出频率,一个为1Hz, 控制数码管计时;一个为2Hz,控制刹车时指示灯的闪烁。8259是中断控制器芯片,用来产生中断响应,根据8253 芯片产生方波的频 率,根据需要,每1S或0.5s分别产生一次中断。8279是键盘显示接口芯片,用来显示10s的倒计时,输入0键、1键、2键、 3键和4键,以分别用于对启动、左转、右转、刹车和停止等五项功能的控制和 实现。8255 是可编程并行接口芯片,在设计要求中要实现控制左右共 6 个指示灯闪 烁,在此使用PA 口输出控制各灯的具体动

7、作。PA0-PA2控制左边三个指示灯,左转弯时,左侧3个指示灯按左循环依次点 亮;PA5-PA7控制右边三个指示灯,右转弯时,右侧3个指示灯按右循环依次点 亮。2.2 主程序设计根据设计要求,设置各功能键,包括汽车启动、左转、右转、刹车和停止, 故设置5个功能键:1) 0键表示启动,当按下0键,数码管显示正常行驶标识反向的“A”并且, 当且仅当按下 0键时,控制左转、右转、刹车、停止的各键才会有效,其各项功 能才能实现;2) 1 键表示汽车左转,左转时,左边三个指示灯依次左循环点亮,数码管显 示左转标识反向的“E”同时显示计时,当达到10s时,停止计时并且指示灯全 灭,数码管显示正常行驶标识反

8、向的“A”3) 2 键表示汽车右转,右转时,右边三个指示灯依次右循环点亮,数码管显 示右转标识的“E”同时显示计时,当达到10s时,停止计时并且指示灯全灭, 数码管显示正常行驶标识反向的“A”4) 3键表示汽车刹车,当刹车时,所有灯开始闪烁,亮0.5s,灭0.5s,数码 管显示临时刹车标识“A”同时显示计时,当达到10s时,停止计时并且指示灯 全灭,数码管显示正常行驶标识反向的“A”5) 4键表示汽车停止,按下功能键4时,所有灯灭,清空显示RAM,清空 键盘RAM,此时要想继续控制汽车的各项功能,则必须再次按下0键时,才可 以进行。主程序流程图如图 2.2 所示。图 2.2 主程序流程图2.3

9、 功能模块的设计与实现对 8253 , 8255 , 8259 , 8279 各个芯片进行初始化,并将中断服务程序 装入中断向量表。利用8279 的键盘输入功能输入号码,利用显示功能,将经 过计算处理后的数据显示在七段数码管上。利用8255的PAO作为输出,低电 平则灯亮。利用8253的方式2进行分频产生脉冲,执行计时功能,并且触发 8259芯片执行中断服务程序,将8259的IR0 口作为中断请求信号,在边沿触 发方式中,执行中断服务程序,在中断服务程序中对数据处理并显示。1)芯片初始化模块的设计与实现对 8253, 8255, 8259, 8279 等芯片进行初始化,并将中断服务程序装入中断

10、 向量表。芯片初始化流程图如图 2.3所示:图 2.3 芯片初始化流程图2)左转功能的实现在进入左转子程序后,将SI设为OAH,设置计数初值10s。8279芯片控制显 示RAM “D4”显示反向的“E”,表示正在进行左转。开启中断后,执行中断子 程序,每执行一次,数码管计数1s,直到SI等于0时停止计数,关中断。同时, 再开中断的这段时间,8255控制PA 口输出实现左侧3个指示灯按左循环依次点 亮。3)右转功能的实现在进入右转子程序后,将SI设为0AH,设置计数初值10s。8279芯片控制显 示RAM“D4”显示“E”,表示正在进行左转。开启中断后,执行中断子程序, 每执行一次,数码管计时1

11、s,直到SI等于0时停止计数,关中断。同时,再开 中断的这段时间,8255控制PA 口输出实现右侧3个指示灯按右循环依次点亮。4)刹车功能的实现在进入刹车子程序后,将SI设为0AH,设置计数初值10s。8279芯片控制显 示RAM“D4”显示“A”,表示正在进行刹车。在开启中断前,必须重新设置8259 控制字OCW1为0FCH,同时开启0.5s计时及1s计时中断允许。开启中断后, 执行两个中断子程序,每执行1s计时中断一次,数码管计数1s,所有指示灯同 时在这1s中亮0.5s,灭0.5s,直到SI等于0时停止计时,关中断。同时,再开 中断的这段时间,8255控制PA 口输出指示灯闪亮(亮0.5

12、s,灭0.5s)。第 3 章 结果测试及分析3.1 结果测试程序在 LCT88EA 应用软件编译完成之后,按下 0 键,数码管显示正常行驶标 识反向的“A”按下1键,左侧3个指示灯按左循环依次点亮,同时数码管开始 倒计时10s,并显示左转标识反向的“E”按下2键,右侧3个指示灯按右循环 依次点亮,同时数码管开始倒计时10s,并显示右转标识“E”按下3键,所有 指示灯按照亮0.5s灭0.5s次序循环闪烁,同时数码管开始倒计时10s,并显示临 时刹车标识“A” ;按下4键,所有指示灯全部熄灭,此时,按下除0键外其他 各功能键,均无效。3.2 结果分析对于上述的测试结果和运行过程,达到了课程设计任务

13、书中的要求,可以实 现汽车启动、左转、右转、刹车和停止等五项功能,通过优化后使得运行结果也 更直观易懂。不过在设计中,由于个人能力有限,也难免存在不足,代码部分也 不是最优,部分代码有待改进。参考文献1王爽.汇编语言 M 北京: 清华大学出版社, 20082王中民.微型计算机原理 M 西安: 西安电子科技大学出版社, 20033张雪兰.汇编语言程序设计 M 北京: 清华大学出版社, 20064龚尚福.微机原理与接口技术 M 西安: 西安电子科技大学出版社, 20035杨素行.微型计算机系统原理及应用 M 北京: 清华大学出版社, 1996沈美明,温冬婵.IBM-PC汇编语言程序设计M北京:清华

14、大学出版社,20017洪永强.微机原理与接口 M 厦门: 科学出版社, 2004附录CODE SEGMENTASSUME CS:CODESTART:;初始化 8255MOV DX,203HMOV AL,80HOUT DX,ALMOV DX,200HMOV AL,0FFHOUT DX,AL;初始化 8279MOV DX,212HMOV AL,00H;8 字符显示,左端输入OUT DX,AL;MOV AL,38H;内部定时器编程命令字OUT DX,ALMOV AL,0D3H;清除显示RAM,清除键盘RAMOUT DX,AL;8253 初始化MOV DX,233H;MOV AL,35H;计算器0,工

15、作方式2 (分频工作方式),十进制计数OUT DX,ALMOV DX,230HMOV AX,9600HOUT DX,ALMOVAL,AHOUTDX,ALMOVDX,233HMOVAL,57H;计算器1,工作方式3 (方波发生器),十进制计数OUTDX,ALMOVDX,231HMOVAL,48H;OUTDX,ALMOVDX,233HMOVAL,97H;计算器2,工作方式3 (方波发生器),十进制计数OUTDX,ALMOVDX,232HMOVAL,12H;OUTDX,AL;初始化 8259MOVAL,13H;单片工作,写ICW4MOVDX,220H;OUTDX,ALMOVAL,08HMOVDX,2

16、21H;OUTDX,ALMOVAL,03H;OUTDX,ALMOVAL,0FEH;IR0 允许OUTDX,ALXORAX,AXMOVDS,AXMOVAX,OFFSET INT10MOV DS:08H*4H,AXMOVAX,8100HMOVDS:08H*4H+2H,AXMOVAX,OFFSET INT5MOVDS:09H*4H,AXMOVAX,8100HMOVDS:09H*4H+2H,AX;主程序CHECK:MOVDX,212HIN AL,DXtest AL,80h;显示ram 是否可用JNZ CHECK;CHECKsTART:IN AL,DXTEST AL,OFH;是否有按键JZ CHECKs

17、TART;MOV DX,210 H;从数据口读取数据IN AL,DXCMP AL,0H;0 键开始JNZ CHECKSTART;MOV DX,212HMOV AL,84H;D4 缓冲 RAM 可用OUT DX,ALMOV DX,210HMOV AL,7EHOUT DX,ALCTL:MOV DX,212HIN AL,DXTEST AL,0FHJZ CTL;是否有按键MOV DX,210HIN AL,DXCMP AL,1HJNZ CTR;1 键左转CALL TURNLEFTCTR:JMP CTLCMP AL,2HJNZ CTD;2 键右转CALL TURNRIGHTCTD:JMP CTLCMP A

18、L,3HJNZ CTF;3 键减速CALL TURNDOWNCTF:JMP CTLCMP AL,4HJNZ CTL;按 4 ENDMOV DX,212HMOV AL,0D3HOUT DX,AL;清除显示RAM命令字,清楚键盘RAMMOV DX,200HMOV AL,0FFHOUT DX,ALJMP CHECKTURNLEFT PROCMOV SI,0AHMOV DX,212HMOV AL,84HOUT DX,AL;写显示缓冲RAM 命令字MOV DX,210HMOV AL,4FHOUT DX,ALSTIMOV DX,221HMOV AL,0FEHOUT DX,ALTL2:MOV CX,3HMO

19、V AL,0FBHMOV DX,200HTL1:OUT DX,ALCALL DELAYROR AL,1H;影响进位标识CFLOOP TL1CMP SI,0H;JZ TL3JMP TL2TL3:MOV DX,200HMOV AL,0FFHOUT DX,ALCLIRETTURNLEFT ENDPTURNRIGHT PROCMOV SI,0AHMOV DX,212HMOV AL,84HOUT DX,AL;写显示缓冲RAM 命令字MOV DX,210HMOV AL,79HOUT DX,ALSTIMOV DX,221HMOV AL,0FEHOUT DX,ALTR2:MOV CX,3HMOV AL,0DF

20、HMOV DX,200HTR1:OUT DX,ALCALL DELAYROL AL,1HLOOP TR1CMP SI,0HJZ TR3JMP TR2TR3:MOV DX,200HMOV AL,0FFHOUT DX,ALCLIRETTURNRIGHT ENDPTURNDOWN PROCMOV SI,0AHMOV DX,212HMOV AL,84HOUT DX,AL;写显示缓冲RAM 命令字MOV DX,210HMOV AL,77HOUT DX,ALSTIMOV DX,221H;8259 中断控制器奇地址端口MOV AL,0FCHOUT DX,ALMOV DX,200HMOV AL,0HTD:OU

21、T DX,ALCMP SI,0HJZ TD1JMP TDTD1:MOV DX,200HMOV AL,0FFHOUT DX,ALCLIRETTURNDOWN ENDPINT10 PROCCMP SI,0HJNZ TMOV SI,1T: DEC SIPUSH AXPUSH DXMOV DX,212HMOV AL,80HOUT DX,AL;写显示缓冲RAM 命令字MOV DX,210HMOV AX,SIMOV BX,OFFSET TABLE0XLAT CS:TABLE0OUT DX,ALPOP DXPOP AXIRETINT10 ENDPINT5 PROCNOT ALIRETINT5 ENDPDEL

22、AY PROCPUSH CXMOV CX,8888HL2:LOOP L2POP CXRETDELAY ENDPTABLE0 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHCODE ENDSEND START课程设计总结:为期两周的微机系统综合课程设计已近尾声,在课设初期由于对8279芯片 不是很了解,走了很多的弯路。比如数码管的初始化总是出错,显示的时间也总 是不对,但是在杳阅了相关的书籍以及在老师和冋学们的帮助下终于成功的完成 了这个程序的设计。课设伊始,像上学期做计算机组成原理课程设计样,有点不紧不慢,认为 几天就能把这么小小的课程设计弄好,可是,到真

23、正做起来时,发现很是力不从 心,不仅无从下手,而且连刚开始想出的一点思路也产生了些许怀疑,后来天天 在实验室学习,见到老师就问,见到同学就叫过来帮忙研究研究,渐渐地,有了 些眉目。我发现,对于理论这种东西,有时虽然理解,但要变为实际可用的东西, 确实很难,想到的不一定就容易做到,还得多多练习与实践,在动手中找出问题 并进行知识补充和解决。此次课程设计,虽经历了很多不愉快,但最终还是学习到了许多在课程内无 法理解和运用的课外知识,丰富了我们大学生课外学习生活,锻炼了我们的实践 动手能力。最后,非常感谢实验室曾给予我诸多帮助的每位老师,以及鼎力相助的各位 同学!指导教师评语:指导教师(签字):年 月日课程设计成绩

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!