版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-O一一二O二学年第一学期信息科学与工程学院自动化系课程设计计划书课程名称:微机原理及应用课程设计班级:自动化0901姓名:王立学号:4032二o年十二月六日一、课题名称简易计算器设计二、课题目的利用8088和8255设计一个简易计算器,并将其结果显示在 LED数码管上。熟悉系统设计的基本步骤,掌握8088与8255的接 口设计,掌握通过8255设计键盘扫描技术,掌握通过8255显示七 段共阴极数码管设计。加强对8088数据总线,地址总线及接口寻 址的理解,加深对8255的端口控制的理解。三、需求分析(1)能够实现99以内的加减乘法运算,并显示在2位LED上。(2)对于减法运算产生的负数,可在
2、LED上显示号,若负 量超过9,则显示“E0S四、方案选择方案一:该方案将LED显示电路直接接在8088的DB上,而键盘则 采用8255进行扫描。方案二:该方案则是将LED显示电路和键盘扫描电路分别接在两个不同的8255上,扫描和显示时,选中不同的8255。方案三:该方案则只用一片8255驱动LED显示和键盘扫描电路。方案评估:方案一:LED显示驱动电路实现起来较简单,但是很浪费系统总 线资源,舍弃!方案二:释放了系统数据总线,但是方案缺乏经济性,因为采用 了两片8255,与建设资源节约型社会初衷冲突!舍弃!方案三:此种方案较为经济,方便,具有模块化的特点(因为将 计算和显示电路全部集成在了
3、8255上,应用时,直接挂接8255即可实现要求!)综上所述:采用方案三!五、程序流程图程序总流程图:判断输入流程图:断电开始I六. 系统原理图键盘映射图:789*456+1f230=键盘编码图:777B7D7EB7BBBDBED7DBDDDEE7EBEDEE系统原理图:注:1、复位电路单独画在旁边,其参数设置符合6MHZo2、74HC04反相器由于位置不够,本人自己画了一个小型的 74HC04。3、IOW, IOR信号线由于采用了最大系统组态,故由8288的 IORC 和 AIOWC 代替。4.8088的CLK由8284A提供,其电路连接方式参照Datasheet5、最大系统组态连接方式参照
4、课本。6、LED与键盘扫描电路的上拉电阻阻值统一采用,保证数码 管有足够亮度。7、所有芯片的电源和GND均未标出。8、7段数码管为共阴极连接方式。9、74LS373和74LS245作为提高总线驱动能力的作用而存在。10、8259A的INT信号和8088的INTR信号相连,由于纸张大 小问题,用网络标号“INT8259A”表明他们是相连的。11、CAD图纸见附件。七、元件清单元件名称参数值数量8088U118255U218284U318288U418259AU5174LS245U6174LS373U7 18 19374LS00110174LS30Uli1S74HC04U12 L13 U14 L1
5、54RES2RlR2020RES2R21 2001RES2R22 IK1RES1R11DIODE(DI1CAPCl1CAPC2 22uF1SW-PBS0S15167-SEG-DPYDS1 DS22CRYSTALY1(1A.程序源代码PAGE 60J32TITLECalculator A program to calculate with 8088 and 8255DI SPLAY MACRO;送至LED显示函数MOV DX,383H;控制字寄存器的端口地址(8255)MOV AL,80H;方式选择字BOUT DX,ALMOV DX, 381H; B端口的地址送DXMOV AL,HIGH NUM
6、 ;段码送至B端口显示OUT DX,ALMOV DX,383HMOV AL,80H;方式选择字BOUT DX.ALMOV DX,382H;C端口地址送DXMOV AL,LOW NUM;段码送至C端口显示OUT DX.ALJMP Allscan.Key ;显示完成,跳至键盘扫描ENDMCALCDIVTENMOVDX,AXCBWMOVBX,AXMOVCL,LEDBXMOVHIGH NUM,CLMOVAX,DXXCHGAH,ALCBWMACRO;计算结果并存至HIGH NUM,LOW NUM中;除10取余和商分别显示;保存计算结果;将商AL符号扩展至AX;高位段码送至HIGH NUM (乘结果):交
7、换AH和AL,将余数放在AL准备符号扩展;将余数AL符号扩展至AXMOV BX,AXMOV CHLEDBXMOV LOW NUM, CH ;低位段码送至LOW NUM (乘结果)ENDM MMBw MM MMM MMV*fMODEL SMALL;程序大小为SMALL数据段和代码段均小于64KBSTACK 100;堆栈大小100个字 DATA;数据段KEYTAB DB 0E7H,0D7HODBH,ODDH.0B7H,OBBH,ODBH;键盘编码09 * + -=DB 77H,7BH.7DH,7EHOBEH,ODEH.OEEHLED DB 3FH,06H5BH,4FH.66H.6DH,7DH,07
8、H.7FH,6FH:LED 显示字模(共阴极)OPERANDDB0;用于存放运算符号TENDB10NUM1 DB10;用于存放第一个计算数JNUM2 DB0;用于存放第二个计算数HIGH NUMDB0:用于存放结果的高位段码LOW NUMDB 0;用于存放结果的低位段码.CODEMAIN PROC FARMOV AX,data;代码段:主程序开始 ;将05指向DATAAlisean Key:MOV DX,383HMOV AL,80HOUT DX.ALMOV DX.380HXOR AL,ALOUT DX.ALMOV DX.383HMOV DS,AX;控制字寄存器地址的端口地址(8255) ;方式
9、控制字B;端口 A的地址送DX;送0,全键盘扫描MOV AL,90HOUT DX,ALMOV DX,380HIN AL.DX;方式控制字B A输入;端口 AAND AL,0FH;屏蔽掉送回来的AL中的高四位CMP AL,OFHJZAllscanKey;相等说明没有键按下,重新全键盘扫描MOV BX,0MOV AH,7FH;保存扫描设定初量Scan key:MOV DX.383HMOV AL,80H;方式控制字,A输出OUT DX,ALMOV DX,380H;端口 AMOV AL,AH;逐行扫描OUT DX,ALMOV DX,383HMOV AL,90H汕输入OUT DX.ALMOV DX.38
10、0H;端口 AINAL.DX;读按键状态AND AL,OFH;取数据的低四位CMP AL,OFHJNEDecode(ROR AH,1;向右循环移位,扫描下一行JMPAllscanKeyDecode:AND AH,OFOHORAL, AH:AL, AH或操作组合编码CMP AL,KEYTABBX;比较编码JENextINCBXJMPDecodeNext:CMPBX.13;13的偏移量表示编码值为EE,即7JECalc;检测到,计算结果CMPBXJO;10的偏移量表示编码值为7E,即JNSStroe:比10大,表示按下或+或-MOVAL,OPERANDCMPAL,0;OPERAND若为0,表示为按
11、下运算符号;将计算结果存至HIGH NUM,LOW NUM中 ;送至LED显示:79H为飞的段码;3FH为V的段码:NUM1+NUM2JNENumber:OPERAND非0,说明按下过运算符号MOVAL.NUM1MULTEN:NUM1*1O+BLADDAU BLMOVNUM LAL:将第一个运算数保存在Nb11中JMPAll scanKeyStroe:MOV OPERAND,BL:按下了运算符号并存入OPERAND中JMPAllscanKeyNumber:MOVAL,NUM2MILTEN;NUM2*10+BLADDAL,BLMOVNUM2.AL;将第二个运算数保存在NIJM2中Calc:CMP
12、BL JOJZMui;乘法CMPBL, 11JZ_Add;加法CMPBL, 12JZ_Sub;减法Mui:MOVAL,NUM1MIL1m2CMP/L, 100;结果超过99,则显示-E0JAEOverflowCALCDISPLAYOverflow:MOV HIGH NUMt79HMOV LOW NUM,3FHJMP AllscanAdd:MOV AL,NUM1ADD AL,NUM2JAE OverflowCALCDISPLAYSub:MOV AL,NUM1SBBAL.NUM2JCNegtiveCALCDISPLAYNegtive:CMP AL,-9JS OverflowMOV HIGH NUM
13、,4OHNEG ALCBWMOV BX.AXMOV CL.LEDBXMOV LOW NL1M,CL;低位段码送至LOW NUM;溢出;将计算结果存至HIGH NUM,LOW NUM中;送至LED显示;有借位,说明结果为负数;将计算结果存至HIGH NUM.LOW NUM中 ;送至LED显示;负量超过9 了吗:超过了,则溢出,显示E0- :40H为的段码:求补;AL符号扩展至AXJMP Allscan_KeyMOV AX,4C00HINT 21HMAIN ENDPEND MAIN九、参考文献1 朱定华,微机原理、汇编与接口技术清华大学出版社,2005 Page: 163 (8088引脚图)、17
14、1 (最大系统组态连接方式)、176(最大系统组态时的I/O读写时序图)、221 (4x4键盘扫描)、264 (8255引脚图)、266272 (方式0输入输出程序例程)。2 张毅刚,新编MCS-51单片机应用设计(第3版)哈尔滨工 业大学出版社,2003Page: 26(按键电平复位电路)3 8088pdf 8255pdf8088CLK时钟产生电路由8284产生。十、心得与体会此次的微机原理课程设计从开始的方案设计,方案选择,到原 理图的设计,原理图的绘制,再到最后的接口程序编写只用了两天 的时间。其中编写手画原理图和编写程序用了 一天,上机用Protel 画图外加整理报告用了一天。这两天感
15、觉很充实,因为这是我有史 以来第一次完全设计一个具有实用性的系统接口电路。在设计的过程当中,以前总是感觉一上来就开始连接电路,但 是脑海里的思绪似乎都很乱,没有一条很清晰的线路。于是就静下 心来,发现设计一个电路首先需要的是一个方案,于是方案选择的 模块就诞生了,并且在思考的过程当中,发现了几种不同的设计方 案,当时心里就开心了起来,毕竟都是突然冒出来的点子,比较有 成就感,尤其是选择了一个具有模块化的方案三。选择好了方案就开始设计电路的连接:8088与8255的连接, 键盘的扫描,LED的接口显示很快就完成了。然后根据画出来的系 统连接引脚图,开始了接口的程序设计,我想这应该是重头戏了, 我
16、用了一天的时间来做他。之前编写程序的时候也总是不喜欢什么程序流程图之类的东 西,感觉拿东西没必要,而且很浪费时间,还不如自己直接写代码 来的爽。刚开始感觉没问题,后来就卡了一个输入检测的地方。因 为从8255传来的数据可能是第一个运算数,也可能是第二个运算 数,还可能是-. *之类的运算符号,甚至是号。于是很自 然的就开始话条件判断语句开始程序的跳转指令设计。完成之后, 乍眼一看才发现原来我写的是流程图。随后根据这个流程图很快就 把这个难点给攻破了。经过几经周折,终于把程序编好了,于是就开始上机用Protel 画图,让我重拾了当年使用Protel的快感。不过在画到8088的 AEN信号时,我卡了壳(之前设计时,以为AEN在8088引脚上, 采用的是最小系统组态)。后来一翻书,才发现8088只有在最大系 统组态中的8288总线控制器上才有AEN这个信号,于是就忍痛可 爱的将辛辛苦苦画的最小系统换成了最大系统,于是就有了 8259Ao在引出AEN信号之后,工程就差不多完成了 ,只是在74LS30 八输入与非门那里,由于纸张的原因,不得不自己画了一个小型的 74HC04反相器才得以解决问题。另外说一句,LED数码管的上拉电阻由于没找到8255的最大 灌电流参数,所以选用的,如果太
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南方医科大学《国际工程合同管理》2023-2024学年第一学期期末试卷
- 南昌医学院《装饰工程预决算》2023-2024学年第一学期期末试卷
- 南昌大学科学技术学院《西班牙文学作品》2023-2024学年第一学期期末试卷
- 闽南师范大学《中国传统文化经典选读》2023-2024学年第一学期期末试卷
- 民办合肥滨湖职业技术学院《流体力学及其工程应用》2023-2024学年第一学期期末试卷
- 二零二五版旧车收购合同含交易税费结算3篇
- 漯河医学高等专科学校《语文学科教学设计与案例分析》2023-2024学年第一学期期末试卷
- 鲁迅美术学院《比较文学导论》2023-2024学年第一学期期末试卷
- 2025年科普教育视频制作合同范本3篇
- 六盘水师范学院《音乐文献检索与论文写作》2023-2024学年第一学期期末试卷
- 四年级上册数学应用题练习100题附答案
- 2024年度中国电建集团北京勘测设计研究院限公司校园招聘高频难、易错点500题模拟试题附带答案详解
- 有关企业会计人员个人工作总结
- 2024-2030年中国护肝解酒市场营销策略分析与未来销售渠道调研研究报告
- 人教版高中数学必修二《第十章 概率》单元同步练习及答案
- 干部人事档案专项审核工作情况报告(8篇)
- 智慧校园信息化建设项目组织人员安排方案
- 多旋翼无人机驾驶员执照(CAAC)备考试题库大全-下部分
- 2024年青海一级健康管理师高频核心题库300题(含答案详解)
- 2024年贵州省铜仁市中考文科综合试卷真题
- 实际控制人与法人协议模板
评论
0/150
提交评论