ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:405.71KB ,
资源ID:11887140      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11887140.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(出租车计价器微机接口课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

出租车计价器微机接口课程设计.docx

1、出租车计价器微机接口课程设计信息科学与技术学院微机原理与接口技术课程设计报告题目名称:出租车计价器学生姓名:王彪学 号:15专业年级:电信10级(2)班指导教师:刘恩博老师时 间: 程序框图 6 各模块程序分析 7 程序运行 10 评判分析 116 心得体会 121.课程设计综述 课程设计的目的微机原理与接口技术是一门理论结合实践的专业基础课,同时也是考研的考察科目。能够毫不夸张的说,学勤学精微机原理,在就业时就有了超级大的优势。为了让咱们更好的把握汇编语言和各类芯片的特点和功能,安排了咱们这次课程设计。8086 CPU及其相应的外围可编程芯片实现对计价器主体功能的实现是本次实验的目的。 课程

2、设计的题目出租车计价器 题目要求(1)、实现计价功能。(2)、实现手动设计单价。(3)、实现显示里程、单价与总价。(4)、扩展功能:实现自动依照时刻设定单价。2.方案选择依照题目要求,需要一个显示单价的显示器,并能够手动调整大小,要有一个千米显示器,来显示行走的路程,还有一个总价显示器,来达到计价功能。翻阅大量资料后得知千米显示器的增加需要一个固定的脉冲或霍尔式脉冲信号,咱们用一个8253来设置脉冲。把单价起始值设为5,设置一个加1和一个减1按钮,实现对单价的手动设置。最后通过代码的相乘运算,把结果送到总价显示器,完成初步的实验目的。为了显示以上三个数值,咱们选用了三片8255芯片、1个2位7

3、段LED数码管和2个4位7段LED数码管,CPU选用8086,地址总线通过两片74LS373进行地址锁存,一片连接74LS138连通3片8255的片选信号CS,一片连接各个8255的操纵端口A1和A0。通过3个单脉冲开关按钮实现对整个电路的操纵。原理框图如下所示:3.硬件原理电路图的设计及分析 整体电路图 各模块功能原理分析3.2.1 CPU模块选定8086工作在最小模式下,地址选通信号连接两片74LS373用于地址锁存,RD和WR信号连接3片8255的RD和WR引脚。 74LS373模块CPU的总线连到两片74LS373的输入端,AD0AD7接第一片用于三片8255和8253的A一、A0的选

4、择操纵,AD8AD15接第二片用于连到74LS138并对三片8255和8253的CS片选信号进行选择。LE信号连接CPU的地址选通引脚ALE,OE信号固定接地使之一直能够把锁存器中的数据传送到输出端。 74LS138模块74LS138为经常使用的三线八线译码器,咱们用它来进行3片8255和8253的选择,设置E一、E二、E3为有效电平使之工作,CBA为三线输入,000选择Y0端口输出,001选择Y1端口,010选择Y2端口,100选择Y4端口。由此,三片8255和8253的端口地址已经能够确信,如下表所示:端口IOA/OUT0IOB/OUT1IOC/OUT2IOCON/CON18255A080

5、00H8002H8004H8006H8255A19000H9008H9010H9018H8255A20A000H0A020H0A040H0A060H8253A0C000H0C002H0C004H0C006H 8253模块8253是按时计数器,使计时器0工作在模式3,咱们设置为60次记千米。实现了车轮转速和千米数的转换。 8255模块8255是通用的并行接口,在本次设计中,咱们把PA口当做输入,PB和PC口当做输出,PB07和PC14连接LED灯做操纵和显示作用。由于三片8255的连线一致,因此咱们把操纵字统一设置为90H,使PA口做输入,工作在方式0,PB口做输出,亦工作在方式0,PC的高四位

6、和低四位都工作在输出状态。 7段LED数码管显示模块7段LED数码管分为共阳极和共阴极两种,本次设计咱们采纳共阴极,ABCDEFG是每一段LED的引脚,1234为位选通信号,由于是共阴极,因此是低电平有效,采纳动态显示的方式显示每一名数码管。由此能够取得 数字09相对的ABCDEFG电平,如下表所示:01234567893FH06H5BH4FH66H6DH7DH07H7FH6FH假设要加入小数点显示,那么十六进制的第二位全数加8即可,具体如下表所示:01234567890BFH86H0DBH0CFH0E6H0EDH0FDH87H0FFH0EFH4.程序设计与分析 程序框图 各模块程序分析DAT

7、A SEGMENTCOUNT DB 05 ;单价计数器,初值为5COUNT1 DB 00 ;公里计数器,初值为0SHIWEI DB ? ;单价十位GEWEI DB ? ;单价个位BAIWEI1 DB ? ;公里百位SHIWEI1 DB ? ;公里十位GEWEI1 DB ? ;公里个位BAIWEI2 DB ? ;总价百位SHIWEI2 DB ? ;总价十位GEWEI2 DB ? ;总价个位TEMP DB 0 ;以下三个为按钮判断值TEMP1 DB 0TEMP2 DB 0SEGTAB DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH;不带小数点的7段LED

8、数码管码制SEGTAB1 DB 0BFH,86H,0DBH,0CFH,0E6H DB 0EDH,0FDH,87H,0FFH,0EFH;带小数点的7段LED数码管码制DATA ENDSCODE SEGMENT ; ASSUME CS:CODE,DS:DATAIOA EQU 8000H ;各个端口的端口地址IOB EQU 8002HIOC EQU 8004HIOCON EQU 8006HIOA1 EQU 9000HIOB1 EQU 9008HIOC1 EQU 9010HIOCON1 EQU 9018HIOA2 EQU 0A000HIOB2 EQU 0A020HIOC2 EQU 0A040HIOCO

9、N2 EQU 0A060HJSQ0 EQU 0C000HJSQ1 EQU 0C002HJSQ2 EQU 0C004HCON1 EQU 0C006HSTART: MOV AX,DATA MOV DS,AX MOV AL,90H ;设置8255控制字 MOV DX,IOCON OUT DX,AL ;输出到三个控制端口 MOV DX,IOCON1 OUT DX,AL MOV DX,IOCON2 OUT DX,ALMOV AL,16H ;设置8253控制字MOV DX,CON1OUT DX,ALMOV AL,60MOV DX,JSQ0OUT DX,ALSTART1: MOV DX,IOA IN AL,

10、DX ;接收来自PA口的脉冲信号 NOT AL ;接收为低电平,变为高电平 AND AL,01H ;屏蔽其它位,只接收PA0口 CMP AL,TEMP JZ START2 MOV TEMP,AL;与判定值相较,假设不同那么不跳转,假设相同 则说明长按或者没按,直接跳转到START2 ADD AL,COUNT MOV COUNT,AL ;对单价计数器加1START2: MOV DX,IOA2 IN AL,DX NOT AL AND AL,01H CMP AL,TEMP2 JZ START3 MOV TEMP2,AL CMP COUNT,0 ;若单价为0则不再减1 JZ START3 SUB AL

11、,COUNT MOV COUNT,AL ;对单价计数器减1START3: MOV DX,IOA1 IN AL,DX NOT AL AND AL,01H CMP AL,TEMP1 JZ FENJIE MOV TEMP1,AL ADD AL,COUNT1 MOV COUNT1,AL ;对公里计数器加1FENJIE: ;对单价计数器的值进行分解 MOV AL,COUNT MOV AH,0 MOV CL,10 DIV CL MOV SHIWEI,AL ;分成十位和个位 MOV GEWEI,AHFENJIE1: ;对公里计数器进行分解 MOV AL,COUNT1 MOV AH,0 MOV CL,10 D

12、IV CL MOV GEWEI1,AH MOV AH,0 DIV CL MOV SHIWEI1,AH MOV BAIWEI1,AL ;分百位十位和个位FENJIE2: ;对总价进行分解 MOV AL,COUNT MOV AH,0 MOV CL,COUNT1 MOV CH,0 MUL CX ;单价和公里数相乘得总价 MOV CL,10 DIV CL MOV GEWEI2,AH MOV AH,0 DIV CL MOV SHIWEI2,AH MOV BAIWEI2,AL ;分百位十位和个位DISP: ;三个值的显示程序 MOV AL,00000110B;单价显示器是二位7段LED数码管,因此 只屏蔽

13、两位位选信号,1是未选中 MOV DX,IOC OUT DX,AL MOV AL,00011110B;总价和总千米用四位7段LED数码管 MOV DX,IOC1 OUT DX,AL MOV DX,IOC2 OUT DX,AL ;显示千米百位 XOR AX,AX MOV AL,BAIWEI1 MOV SI,AX MOV AL,SEGTABSI ;数码管码制转换 MOV DX,IOB1 OUT DX,AL ;输出百位 MOV AL,00011010B ;开百位位选信号 MOV DX,IOC1 OUT DX,AL CALL YS;输出后执行延时,让该位短暂显示;总价百位 XOR AX,AX MOV

14、AL,BAIWEI2 MOV SI,AX MOV AL,SEGTABSI MOV DX,IOB2 OUT DX,AL MOV AL,00011010B MOV DX,IOC2 OUT DX,AL CALL YS;显示后继续全数关闭 MOV AL,00000110B MOV DX,IOC OUT DX,AL MOV AL,00011110B MOV DX,IOC1 OUT DX,AL MOV DX,IOC2 OUT DX,AL;单价十位 XOR AX,AX MOV AL,SHIWEI MOV SI,AX MOV AL,SEGTABSI MOV DX,IOB OUT DX,AL MOV AL,00

15、000100B MOV DX,IOC OUT DX,AL CALL YS;千米十位 XOR AX,AX MOV AL,SHIWEI1 MOV SI,AX MOV AL,SEGTAB1SI;用带小数点显示十位 MOV DX,IOB1 OUT DX,AL MOV AL,00010110B MOV DX,IOC1 OUT DX,AL CALL YS;总价十位 XOR AX,AX MOV AL,SHIWEI2 MOV SI,AX MOV AL,SEGTAB1SI;用带小数点显示十位 MOV DX,IOB2 OUT DX,AL MOV AL,00010110B MOV DX,IOC2 OUT DX,AL

16、 CALL YS;显示后继续全数关闭 MOV AL,00000110B MOV DX,IOC OUT DX,AL MOV AL,00011110B MOV DX,IOC1 OUT DX,AL MOV DX,IOC2 OUT DX,AL;单价个位 XOR AX,AX MOV AL,GEWEI MOV SI,AX MOV AL,SEGTABSI MOV DX,IOB OUT DX,AL MOV AL,00000010B MOV DX,IOC OUT DX,AL CALL YS;总千米个位 XOR AX,AX MOV AL,GEWEI1 MOV SI,AX MOV AL,SEGTABSI MOV D

17、X,IOB1 OUT DX,AL MOV AL,00001110B MOV DX,IOC1 OUT DX,AL CALL YS;总价个位 XOR AX,AX MOV AL,GEWEI2 MOV SI,AX MOV AL,SEGTABSI MOV DX,IOB2 OUT DX,AL MOV AL,00001110B MOV DX,IOC2 OUT DX,AL CALL YS JMP START1 ;完成一次显示后继续YS PROC NEAR MOV CX,500DELY: NOP LOOP DELY RETYS ENDPCODE ENDS END START5.系统评判 程序运行整个程序能够正常

18、运行和显示,运行图如下所示:(1)开始运行(2)千米数增加(3)手动设置单价 评判分析本设计针对出租车计价器还有许多不足的地方,并非是现今流行的出租车计价器,即必然千米数内为定价,超出千米数后开始计价,只完成了题目的初步要求。本设计的特点在于能够手动设置单价整个电路其实并非用太多的8255芯片,能够把两片对应于4位7段LED数码管的显示部份进行精简,即用一个8255芯片操纵两个数码管,让他们公用输出端口,只要输出时正确选择位选信号即可。对单价做减价处置时,单价为0时再也不做减1处置,但运行时发觉有不稳固显示现象,即在按钮按住不放时显示不正确,可能是对各个寄放器的处置并非到位,处置方式能够是做好

19、各个寄放器的爱惜工作。系统只设置了单价从0到99,总价和千米从0到,假设超出那么会显现乱码现象,咱们能够在计数器以后设置判定和跳转指令,即超出显示范围时对计数器赋0处置。整体来讲,本次设计大体完成了题目要求。6.心得体会通过本次课程设计,让我受益颇丰。拿到题目时,我即联想到了实验课上教师给咱们演示的显示系统,以后,我翻阅了微机接口的有关图书资料后,对设计整体思路有了可能把握。查阅了7段LED数码管的工作原理,由于在实验时忽略了共阴极和共阳极的区别,因此在位选时出了很多过失,但最后取得了解决,共阴极的位选信号是0有效,共阳极的位选信号是1有效。关于8255和8253芯片的利用也取得了进一步的提升

20、,关于最初的地址设置步骤也取得了进一步练习,即能够通过锁存器对地址进行锁存,译码器对地址进行译码转换,让CPU的地址线取得扩展。本次实验最大的收成是学会了如何正确利用7段LED数码管和对程序设计的整体分析及把握。程序在刚开始运行时存在很多错误,通过量次从头更改和测试取得了改善,关于汇编的很多细节取得了更好的熟悉,例如16位的数字假设开头是字母那么应该在字母前面加0来表示16进制。关于PROTEUS的利用也取得了进一步的熟练,使我能够加倍驾轻就熟的利用这款软件,在翻阅资料的进程中发觉PROTEUS是设计单片机的重要软件,许多单片机设计都在该软件中设计,这使我明确了接下来的学习方向和对PROTEUS的重视,这款软件还有许多其他的分析仿真功能等待咱们去利用,应该尽力学习,为以后的单片机课程打下基础。本次实验的成功也使得我对学习微机原理和单片机的热情高涨,不足和不懂的地方还有许多,望教师能够多加指导。参考文献:1 戴梅萼 史嘉权微型运算机技术及应用(第4版)清华大学出版社,20202 宋廷强等32位微机原理与接口技术实验指导化学工业出版社,20203 佘新平等数字电路设计 仿真 测试华中科技出版社,20204 周润景等基于PROTEUS的电路及单片机设计与仿真(第2版)北京航空航天大学,2020

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1