




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息科学与技术学院微机原理与接口技术课程设计报告题目名称:出租车计价器学生姓名:王彪学 号:2010508115专业年级:电信10级(2)班指导教师:刘恩博老师时 间:2012.12.31目 录1 课程设计综述 21.1 课程设计的目的 21.2 课程设计的题目 21.3 题目要求 22 方案选择 23 硬件原理电路图的设计及分析 33.1 整体框图 33.2 各模块功能原理分析 44 程序设计与分析 64.1 程序框图 64.2 各模块程序分析 75 系统评价 105.1 程序运行 105.2 评价分析 116 心得体会 121.课程设计综述1.1 课程设计的目的微机原理与接口技术是一门理论结合实践的专业基础课,同时也是考研的考察科目。可以毫不夸张的说,学好学精微机原理,在就业时就有了非常大的优势。为了让我们更好的掌握汇编语言和各种芯片的特点和功能,安排了我们这次课程设计。8086 CPU及其相应的外围可编程芯片实现对计价器主体功能的实现是本次试验的目的。1.2 课程设计的题目出租车计价器1.3 题目要求(1)、实现计价功能。(2)、实现手动设计单价。(3)、实现显示里程、单价与总价。(4)、扩展功能:实现自动根据时间设定单价。2.方案选择根据题目要求,需要一个显示单价的显示器,并能够手动调整大小,要有一个公里显示器,来显示行走的路程,还有一个总价显示器,来达到计价功能。翻阅大量资料后得知公里显示器的增加需要一个固定的脉冲或者霍尔式脉冲信号,我们用一个8253来设置脉冲。把单价起始值设为5,设置一个加1和一个减1按钮,实现对单价的手动设置。最后通过代码的相乘运算,把结果送到总价显示器,完成初步的实验目的。为了显示以上三个数值,我们选用了三片8255芯片、1个2位7段LED数码管和2个4位7段LED数码管,CPU选用8086,地址总线通过两片74LS373进行地址锁存,一片连接74LS138连通3片8255的片选信号CS,一片连接各个8255的控制端口A1和A0。通过3个单脉冲开关按钮实现对整个电路的控制。原理框图如下所示:3.硬件原理电路图的设计及分析3.1 整体电路图3.2 各模块功能原理分析3.2.1 CPU模块选定8086工作在最小模式下,地址选通信号连接两片74LS373用于地址锁存,RD和WR信号连接3片8255的RD和WR引脚。3.2.2 74LS373模块CPU的总线连到两片74LS373的输入端,AD0AD7接第一片用于三片8255和8253的A1、A0的选择控制,AD8AD15接第二片用于连到74LS138并对三片8255和8253的CS片选信号进行选择。LE信号连接CPU的地址选通引脚ALE,OE信号固定接地使之一直能够把锁存器中的数据传送到输出端。3.2.3 74LS138模块74LS138为常用的三线八线译码器,我们用它来进行3片8255和8253的选择,设置E1、E2、E3为有效电平使之工作,CBA为三线输入,000选择Y0端口输出,001选择Y1端口,010选择Y2端口,100选择Y4端口。由此,三片8255和8253的端口地址已经可以确定,如下表所示:端口IOA/OUT0IOB/OUT1IOC/OUT2IOCON/CON18255A08000H8002H8004H8006H8255A19000H9008H9010H9018H8255A20A000H0A020H0A040H0A060H8253A0C000H0C002H0C004H0C006H3.2.4 8253模块8253是定时计数器,使计时器0工作在模式3,我们设置为60次记0.1公里。实现了车轮转速和公里数的转换。3.2.5 8255模块8255是通用的并行接口,在本次设计中,我们把PA口当做输入,PB和PC口当做输出,PB07和PC14连接LED灯做控制和显示作用。由于三片8255的连线一致,所以我们把控制字统一设置为90H,使PA口做输入,工作在方式0,PB口做输出,亦工作在方式0,PC的高四位和低四位都工作在输出状态。3.2.6 7段LED数码管显示模块7段LED数码管分为共阳极和共阴极两种,本次设计我们采用共阴极,ABCDEFG是每一段LED的引脚,1234为位选通信号,由于是共阴极,所以是低电平有效,采用动态显示的方法显示每一位数码管。由此可以得到数字09相对的ABCDEFG电平,如下表所示:01234567893FH06H5BH4FH66H6DH7DH07H7FH6FH若要加入小数点显示,则十六进制的第二位全部加8即可,具体如下表所示:01234567890BFH86H0DBH0CFH0E6H0EDH0FDH87H0FFH0EFH4.程序设计与分析4.1 程序框图4.2 各模块程序分析13DATA SEGMENTCOUNTDB 05;单价计数器,初值为5COUNT1DB 00;公里计数器,初值为0SHIWEI DB ?;单价十位GEWEIDB ?;单价个位BAIWEI1 DB ?;公里百位SHIWEI1 DB ?;公里十位GEWEI1 DB ?;公里个位BAIWEI2 DB ?;总价百位SHIWEI2 DB ?;总价十位GEWEI2 DB ?;总价个位TEMP DB 0;以下三个为按钮判断值TEMP1 DB 0TEMP2DB 0SEGTABDB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH;不带小数点的7段LED数码管码制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 8004HIOCONEQU 8006HIOA1EQU 9000HIOB1 EQU 9008HIOC1EQU 9010HIOCON1 EQU 9018HIOA2EQU 0A000HIOB2 EQU 0A020HIOC2EQU 0A040HIOCON2EQU 0A060HJSQ0EQU 0C000HJSQ1EQU 0C002HJSQ2EQU 0C004HCON1EQU 0C006HSTART:MOV AX,DATAMOV DS,AXMOV AL,90H;设置8255控制字 MOV DX,IOCON OUT DX,AL;输出到三个控制端口MOV DX,IOCON1OUT DX,ALMOV DX,IOCON2OUT DX,ALMOV AL,16H;设置8253控制字MOV DX,CON1OUT DX,ALMOV AL,60MOV DX,JSQ0OUT DX,ALSTART1: MOV DX,IOA IN AL,DX;接收来自PA口的脉冲信号NOT AL;接收为低电平,变为高电平AND AL,01H ;屏蔽其它位,只接收PA0口CMP AL,TEMPJZ START2MOV TEMP,AL;与判断值相比,若不同则不跳转,若相同则说明长按或者没按,直接跳转到START2ADD AL,COUNTMOV COUNT,AL;对单价计数器加1START2:MOV DX,IOA2 IN AL,DXNOT ALAND AL,01HCMP AL,TEMP2JZ START3MOV TEMP2,ALCMP COUNT,0;若单价为0则不再减1JZ START3SUB AL,COUNTMOV COUNT,AL;对单价计数器减1START3:MOV DX,IOA1 IN AL,DXNOT ALAND AL,01HCMP AL,TEMP1JZ FENJIEMOV TEMP1,ALADD AL,COUNT1MOV COUNT1,AL;对公里计数器加1FENJIE:;对单价计数器的值进行分解MOV AL,COUNTMOV AH,0MOV CL,10DIV CLMOV SHIWEI,AL;分成十位和个位MOV GEWEI,AHFENJIE1:;对公里计数器进行分解MOV AL,COUNT1MOV AH,0MOV CL,10DIV CLMOV GEWEI1,AHMOV AH,0DIV CLMOV SHIWEI1,AHMOV BAIWEI1,AL;分百位十位和个位FENJIE2:;对总价进行分解MOV AL,COUNTMOV AH,0MOV CL,COUNT1MOV CH,0MUL CX;单价和公里数相乘得总价MOV CL,10DIV CLMOV GEWEI2,AHMOV AH,0DIV CLMOV SHIWEI2,AHMOV BAIWEI2,AL;分百位十位和个位DISP:;三个值的显示程序MOV AL,00000110B;单价显示器是二位7段LED数码管,所以只屏蔽两位位选信号,1是未选中MOV DX,IOCOUT DX,ALMOV AL,00011110B;总价和总公里用四位7段LED数码管MOV DX,IOC1OUT DX,ALMOV DX,IOC2OUT DX,AL;显示公里百位XOR AX,AXMOV AL,BAIWEI1MOV SI,AXMOV AL,SEGTABSI;数码管码制转换MOV DX,IOB1 OUT DX,AL;输出百位MOV AL,00011010B;开百位位选信号MOV DX,IOC1OUT DX,ALCALL YS;输出后执行延时,让该位短暂显示;总价百位XOR AX,AXMOV AL,BAIWEI2MOV SI,AXMOV AL,SEGTABSIMOV DX,IOB2 OUT DX,ALMOV AL,00011010BMOV DX,IOC2OUT DX,ALCALL YS;显示后继续全部关闭MOV AL,00000110BMOV DX,IOCOUT DX,ALMOV AL,00011110BMOV DX,IOC1OUT DX,ALMOV DX,IOC2OUT DX,AL;单价十位XOR AX,AXMOV AL,SHIWEIMOV SI,AXMOV AL,SEGTABSIMOV DX,IOB OUT DX,ALMOV AL,00000100BMOV DX,IOCOUT DX,ALCALL YS;公里十位XOR AX,AXMOV AL,SHIWEI1MOV SI,AXMOV AL,SEGTAB1SI;用带小数点显示十位MOV DX,IOB1 OUT DX,ALMOV AL,00010110BMOV DX,IOC1OUT DX,ALCALL YS;总价十位XOR AX,AXMOV AL,SHIWEI2MOV SI,AXMOV AL,SEGTAB1SI;用带小数点显示十位MOV DX,IOB2 OUT DX,ALMOV AL,00010110BMOV DX,IOC2OUT DX,ALCALL YS;显示后继续全部关闭MOV AL,00000110BMOV DX,IOCOUT DX,ALMOV AL,00011110BMOV DX,IOC1OUT DX,ALMOV DX,IOC2OUT DX,AL;单价个位XOR AX,AXMOV AL,GEWEIMOV SI,AXMOV AL,SEGTABSIMOV DX,IOB OUT DX,ALMOV AL,00000010BMOV DX,IOCOUT DX,ALCALL YS;总公里个位XOR AX,AXMOV AL,GEWEI1MOV SI,AXMOV AL,SEGTABSIMOV DX,IOB1 OUT DX,ALMOV AL,00001110BMOV DX,IOC1OUT DX,ALCALL YS;总价个位XOR AX,AXMOV AL,GEWEI2MOV SI,AXMOV AL,SEGTABSIMOV DX,IOB2 OUT DX,ALMOV AL,00001110BMOV DX,IOC2OUT DX,ALCALL YSJMP START1;完成一次显示后继续YS PROC NEARMOV CX,500DELY:NOPLOOP DELYRETYS ENDPCODE ENDS END START5.系统评价5.1 程序运行整个程序能够正常运行和显示,运行图如下所示:(1)开始运行(2)公里数增加(3)手动设置单价5.2 评价分析本设计针对出租车计价器还有许多不足之处,并不是现今流行的出租车计价器,即一定公里数内为定价,超出公里数后开始计价,只完成了题目的初步要求。本设计的特点在于可以手动设置单价整个电路其实并不用太多的8255芯片,可以把两片对应于4位7段LED数码管的显示部分进行精简,即用一个8255芯片控制两个数码管,让他们公用输出端口,只要输出时正确选择位选信号即可。对单价做减价处理时,单价为0时不再做减1处理,但运行时发现有不稳定显示现象,即在按钮按住不放时显示不正确,可能是对各个寄存器的处理并不到位,处理方法可以是做好各个寄存器的保护工作。系统只设置了单价从0到99,总价和公里从0到99.9,若超出则会出现乱码现象,我们可以在计数器之后设置判断和跳转指令,即超出显示范围时对计数器赋0处理。总体来说,本次设计基本完成了题目要求。6.心得体会通过本次课程设计,让我受益颇丰。拿到题目时,我即联想到了实验课上老师给我们演示的显示系统,之后,我翻阅了微机接口的有关图书资料后,对设计整体思路有了大概把握。查阅了7段LED数码管的工作原理,由于在实验时忽略了共阴极和共阳极的区别,所以在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年特种作业类危险化学品安全作业胺基化工艺作业-硝化工艺作业参考题库含答案解析
- 2025年特种作业类危险化学品安全作业聚合工艺作业-氧化工艺作业参考题库含答案解析
- 2025年特种作业类危险化学品安全作业氟化工艺作业-合成氨工艺作业参考题库含答案解析
- 2025年特种作业类危险化学品安全作业加氢工艺作业-氯化工艺作业参考题库含答案解析
- 2025年学历类自考公共课-数论初步参考题库含答案解析
- 南京市六下数学试卷
- 2025年学历类自考专业(电子商务)电子商务安全导论-经济学(二)参考题库含答案解析
- 2025年学历类自考专业(电子商务)-市场信息学参考题库含答案解析
- 2025年学历类自考专业(法律)金融法-刑事诉讼法学参考题库含答案解析
- 2025年学历类自考专业(法律)行政法学-法律文书写作参考题库含答案解析
- 走好群众路线-做好群众工作(黄相怀)课件
- 混凝土结构设计原理教学教案
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
- 既有重载铁路无缝线路改造及运维技术探索
- 2022年教师副高职称评答辩范文(七篇)
- 高压罗茨风机选型参数表
- 中国监察制度史
- 架桥机日常检查记录表架桥机验收及试吊安全检查表
- 屠宰加工企业组织机构职能分配表正式版
- 善交益友、乐交诤友、不交损友(课堂PPT)
评论
0/150
提交评论