微机原理课程设计简易计算器(共14页).doc
《微机原理课程设计简易计算器(共14页).doc》由会员分享,可在线阅读,更多相关《微机原理课程设计简易计算器(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上二一一二一二学年第 一 学期信息科学与工程学院自动化系课程设计计划书课程名称: 微机原理及应用课程设计 班 级: 自动化 0901 姓 名: 王 立 学 号: 2 指导教师: 孟志华 二一一 年 十二 月 六 日 一、 课题名称简易计算器设计二、 课题目的利用8088和8255设计一个简易计算器,并将其结果显示在LED数码管上。熟悉系统设计的基本步骤,掌握8088与8255的接口设计,掌握通过8255设计键盘扫描技术,掌握通过8255显示七段共阴极数码管设计。加强对8088数据总线,地址总线及接口寻址的理解,加深对8255的端口控制的理解。三、 需求分析(1) 能够实
2、现99以内的加减乘法运算,并显示在2位LED上。(2) 对于减法运算产生的负数,可在LED上显示“-”号,若负量超过9,则显示“E0”。四、 方案选择方案一: 该方案将LED显示电路直接接在8088的DB上,而键盘则采用8255进行扫描。方案二: 该方案则是将LED显示电路和键盘扫描电路分别接在两个不同的8255上,扫描和显示时,选中不同的8255。方案三: 该方案则只用一片8255驱动LED显示和键盘扫描电路。 方案评估:方案一:LED显示驱动电路实现起来较简单,但是很浪费系统总线资源,舍弃!方案二:释放了系统数据总线,但是方案缺乏经济性,因为采用了两片8255,与建设资源节约型社会初衷冲突
3、!舍弃!方案三:此种方案较为经济,方便,具有模块化的特点(因为将计算和显示电路全部集成在了8255上,应用时,直接挂接8255即可实现要求!)综上所述:采用方案三!五、 程序流程图程序总流程图:判断输入流程图:六、 系统原理图键盘映射图:789*456+123-0= 键盘编码图:777B7D7EB7BBBDBED7DBDDDEE7EBEDEE 系统原理图:注: 1、复位电路单独画在旁边,其参数设置符合6MHZ。 2、74HC04反相器由于位置不够,本人自己画了一个小型的74HC04。3、IOW,IOR信号线由于采用了最大系统组态,故由8288的IORC和AIOWC代替。4、8088的CLK由8
4、284A提供,其电路连接方式参照Datasheet5、最大系统组态连接方式参照课本。6、LED与键盘扫描电路的上拉电阻阻值统一采用4.7K,保证数码管有足够亮度。7、所有芯片的电源和GND均未标出。8、7段数码管为共阴极连接方式。9、74LS373和74LS245作为提高总线驱动能力的作用而存在。10、8259A的INT信号和8088的INTR信号相连,由于纸张大小问题,用网络标号“INT8259A”表明他们是相连的。 11、CAD图纸见附件。七、 元件清单元件名称参数值数量8088U118255U218284U318288U418259AU5174LS245U6174LS373U7 U8 U
5、9374LS00U10174LS30U11174HC04U12 U13 U14 U154RES2R1R20 4.7K20RES2R21 2001RES2R22 1K1RES1R11DIODED11CAPC11CAPC2 22uF1SW-PBS0S15167-SEG-DPYDS1 DS22CRYSTALY11八、 程序源代码PAGE60,132TITLECalculator A program to calculate with 8088 and 8255;-DISPLAYMACRO;送至LED显示函数MOVDX,383H;控制字寄存器的端口地址(8255)MOVAL,80H;方式选择字 BOU
6、TDX,ALMOVDX,381H;B端口的地址送DXMOVAL,HIGH_NUM;段码送至B端口显示OUTDX,ALMOVDX,383HMOVAL,80H;方式选择字 BOUTDX,ALMOVDX,382H;C端口地址送DXMOVAL,LOW_NUM;段码送至C端口显示OUTDX,ALJMPAllscan_Key;显示完成,跳至键盘扫描ENDM;-CALCMACRO;计算结果并存至HIGH_NUM,LOW_NUM中DIVTEN;除10取余和商分别显示MOVDX,AX;保存计算结果CBW;将商AL符号扩展至AXMOVBX,AXMOVCL,LEDBXMOVHIGH_NUM,CL;高位段码送至HIG
7、H_NUM(乘结果)MOVAX,DXXCHGAH,AL ;交换AH和AL,将余数放在AL准备符号扩展CBW;将余数AL符号扩展至AXMOVBX,AXMOVCH,LEDBXMOVLOW_NUM,CH;低位段码送至LOW_NUM(乘结果)ENDM;-.MODELSMALL;程序大小为SMALL数据段和代码段均小于64KB.STACK100;堆栈大小100个字.DATA;数据段KEYTABDB0E7H,0D7H,0DBH,0DDH,0B7H,0BBH,0DBH;键盘编码09 * + - = DB77H,7BH,7DH,7EH,0BEH,0DEH,0EEHLED DB3FH,06H,5BH,4FH,6
8、6H,6DH,7DH,07H,7FH,6FH;LED显示字模(共阴极)OPERANDDB0;用于存放运算符号TENDB10NUM1DB0;用于存放第一个计算数NUM2DB0;用于存放第二个计算数HIGH_NUMDB0;用于存放结果的高位段码LOW_NUMDB0;用于存放结果的低位段码;-.CODE ;代码段MAINPROCFAR;主程序开始MOVAX,data;将DS指向DATAMOVDS,AXAllscan_Key:MOVDX,383H;控制字寄存器地址的端口地址(8255)MOVAL,80H;方式控制字 BOUTDX,ALMOVDX,380H;端口A的地址送DXXORAL,ALOUTDX,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 简易 计算器 14
限制150内