微机原理模拟计算器设计课程设计 (2)

上传人:仙*** 文档编号:103641604 上传时间:2022-06-09 格式:DOC 页数:12 大小:174KB
收藏 版权申诉 举报 下载
微机原理模拟计算器设计课程设计 (2)_第1页
第1页 / 共12页
微机原理模拟计算器设计课程设计 (2)_第2页
第2页 / 共12页
微机原理模拟计算器设计课程设计 (2)_第3页
第3页 / 共12页
资源描述:

《微机原理模拟计算器设计课程设计 (2)》由会员分享,可在线阅读,更多相关《微机原理模拟计算器设计课程设计 (2)(12页珍藏版)》请在装配图网上搜索。

1、课程设计任务书课 程 名 称 微机原理和应用 院 部 名 称 机电工程学院 专 业 电气工程和其自动化 班 级 吴映阳 指 导 教 师 李国利 金陵科技学院教务处制摘 要学了微型计算机原理与应用课程之后,为了巩固和检测所学知识,我选择基于8088CPU的模拟计算器设计。要完成设计首先需要构建简单的微型计算机应用系统,其次是确定组成各部件的芯片,然后画原理图并且用仿真软件仿真。仿真正确后再连接硬件电路,电路连接完成后进行调试。设计过程中我们用到了8088CPU、可编程计时器8253、可编程并行输入/输出芯片8255A、74LS138、2*8矩阵式键盘、六位七段LED数码管。原理图设计完成之后用P

2、ROTUES仿真软件对原理图进行了仿真得到了预期的结果。我们的模拟计算器能实现5位十进制数以内的和减法运算和2位十进制数以内的乘除法运算。关键词:模拟计算器,8088CPU,PROTUES,8255A目 录一、 概述 4二、 硬件电路 42.1、CPU控制模块42.2、键盘输入模块62.3、可编程并行通信接口芯片8255A 72.4、可编程计数器/定时器82.5、总原理图9三、软件设计框图 10 四、源程序 11五、调试过程 26六、课程设计体会 26七、参考文献 27模拟计算器设计一、 概述设计思路:首先利用程序不断扫描键盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇

3、编的程序核对输入键的数值,通过调用子程序实现5位十进制数以内的和减法运算和2位十进制数以内的乘除法运算。运算完成后将运算的结果储存并显示到LED显示器上。二、 硬件电路设计硬件电路 键盘输入和LED数码管通过8255A接口与系统总线连接,键盘的16个按键组成8*2矩阵,其中8根矩阵线作为8255A的输出线与PB7PB0连接,2根矩阵线作为8255A的输入线与PC7、PC6连接。键盘采用逐次扫描原理,16个按键中09座位数字健,+、-、*、/、=作为加、减、乘、除和等号功能键,C为清零键。1、 CPU控制模块16位微处理器,内含29000个晶体管,时钟频率为4.77MHz,地址总线为20位,可使

4、用1MB内存。8088内部数据总线都是16位,外部数据总线是8位。图1-1. 8284时钟发生器 图1-2.8088CPU2、 键盘输入模块键盘是常用信息输入元件,其实键盘也是由一个个按钮组成,如果是独立按钮的话必须要需要一个I/O口对它进行检测,而键盘往往这需要键盘按钮数一半的I/O口数对它进行检测,也许对一个比较简单的系统I/O口数一般不是问题,但对于一个大型、复杂的系统来说I/O资源就显得非常珍贵了,尽量减少I/O使用是非常利于降低成本,另外一方面键盘比用独立按键要美观。我们设计时使用的是8*2行列式键盘,如图2-1所示。图中有8行2列,8根行线与PA口相连,2根列线与PC口的PC6、P

5、C7相连。PA、PB口要么全部输入或输出。PC口可以进行输入和输出。按键设置在行、类交点处(数字或字符为其键号),行、列线分别连接到按键开关的两端。当列线通过上拉电阻接+5V时,就被钳位在高电平状态。键盘中有无按键按下是由行线送入全扫描字、列线读入行线状态来判断。这就是:给航线所有I/O线均置成低电平,然后读入列线电平状态。如国有按键盘下,总会有一根列线电平被拉至低电平,从而使列线输入不全为1。 图2-1 键盘电路 图2-2数码管电路3、 可编程并行通信接口芯片8255A(1)并行输入/输出端口A,B,C 8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA

6、7PA0、PB7PB0、PC7PC0。端口都是8位,都可以作为输入或输出。通常将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A和端口B的状态和控制信息的传送端口。(2)A组和B组控制部件端口A和端口C的高4位(PC7PC4)构成A组;由A组控制部件实现控制功能。 端口B和端口C的低4位(PC3PC0)构成B组;由B组控制部件实现控制功能。 A组和B组利用各自的控制单元来接收读写控制部件的命令和CPU通过数据总线(D0D7)送来的控制字,并根据他们来定义各个端口的操作方式。(3)数据总线缓冲存储器 三态双向8位缓冲器,是8255A与8086CPU之间的数据

7、接口。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。(4) 读/写控制部件 8255A完成读/写控制功能的部件。能接收CPU的控制命令,并根据控制命令向各个功能部件发出操作指令。 图2-3.8255A芯片图CS 片选信号:由CPU输入,有效时表示该8255A被选中。 RD, WR 读、写控制信号:由CPU输入。RD有效表示CPU读8255A,WR有效表示CPU写8255A。RESET 复位信号:由CPU输入。RESET信号有效,清除8255A中所有控制字寄存器内容,并将各个端口置成输入方式。图2-4 .8255A内部结构定义工作方式控制字:工作方式0:8255A中各端口的基

8、本输入/输出方式。图2-5 .8255A工作方式控制4、 可编程计数器/定时器 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 (1)、8253内部结构 8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。 1.数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双 向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲寄存器构成,是CPU与8253之间交换信息的必经之路。 2.读写控制 读写控制分别连接系统的IOR和IOW, 由CPU控制着访问8253

9、的内部通道。接收CPU送入的读写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道和一个控制字寄存器, 它们构成8253芯片的4个端口,CPU可对3个通道进行读写操作3对控制字寄存器进行写操作。 这4个端口地址由最低2位地址码A1、A0来选择。5、总原理图图2-7、PROTUES画出的总原理图三、软件设计框图 进行加、减、乘、除运算,存结果开始8255A初始化有无压键?是数字键?加号?减号?乘号?除号?等号?清零?显示扫描设加标志设减标志设乘标志设除标志NNY清零显示器,清标志有标志

10、?保存数据放键?显示扫描清零显示器YNNNNNNNNYYYYYYYY四、源程序一、 源程序STACK SEGMENT STCAK DB 64 DUP(?)STACK ENDS DATA SEGMENT ORG 3000H VAR1 DB 00H,01H,02H,03H,04H VAR2 DB 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH VAR3 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H VAR4 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,

11、 00H, 00HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AL,88H OUT 63H,AL ;82255A初始化 MOV BX,0000H;BX清零STT: MOV AL,00H;键盘测试 OUT 61H.ALNEXT: IN AL,62H AND AL,0C0H CMP AL,0C0H JNZ KEYABC CALL D

12、ISP;调用显示程序 JMP STTKEYABC:CALL TIME;延时,去抖动 IN AL,62H AND AL,0C0H CMP AL,0C0H JNZ KEY JMP STTKEY: MOV AL,0FEH;键盘扫描识别 OUT 61H,AL IN AL,62H TEST AL,80H JNZ KEY_0 CALL KEY8 JMP STTKKEY_0: TEST AL,40H JNZ KEY_9 CALL KEY0 JMP STTKKEY_9: MOV AL,0FDH OUT 61H,AL IN AL,62H TEST AL,80H JNZ KEY_1 CALL KEY9 JMP S

13、TTKKEY_1: TEST AL,40H JNZ KEY_A CALL KEY1 JMP STTKKEY_A: MOV AL,0FBH OUT 61H,AL IN AL,62H TEST AL,80H JNZ KEY_2 CALL KEYA JMP STTKKEY_2: TEST AL,40H JNZ KEY_B CALL KEY2 JMP STTKKEY_B: MOV AL,0F7H OUT 61H,AL IN AL,62H TEST AL,80H JNZ KEY_3 CALL KEYB JMP STTKKEY_3: TEST AL,40H JNZ KEY_C CALL KEY3 JMP

14、STTKKEY_C: MOV AL,0EFH OUT 61H,AL IN AL,62H TEST AL,80H JNZ KEY_4 CALL KEYC JMP STTKKEY_4: TEST AL,40H JNZ KEY_D CALL KEY4 JMP STTKKEY_D: MOV AL,0DFH OUT 61H,AL IN AL,62H TEST AL,80H JNZ KEY_5 CALL KEYD JMP STTKKEY_5: TEST AL,40H JNZ KEY_D CALL KEY5 JMP STTKKEY_E: MOV AL,0BFH OUT 61H,AL IN AL,62H TE

15、ST AL,80H JNZ KEY_6 CALL KEYE JMP STTKKEY_6: TEST AL,40H JNZ KEY_F CALL KEY6 JMP STTKKEY_F: MOV AL,07FH OUT 61H,AL IN AL,62H TEST AL,80H JNZ KEY_7 CALL KEYF JMP STTKKEY_7: TEST AL,40H JNZ KEY_71 CALL KEY7 JMP STTKKEY_71:JMP STTKKEY9: CMP BH,00H;按键9处理子程序 JZ KEY9_1;未按过符号键,不清零 CALL CLEAR;已按过符号键,清零KEY9_

16、1:CALL LP1;低4位字节前移 MOV AL,6FH;最低字节输入一个数据 MOV SI+4,AL MOV AL,09H MOV DI+4,AL CALL DISP;显示 RET;返回KEY8: CMP BH,00H;按键8处理子程序 JZ KEY8_1 CALL CLEARKEY8_1:CALL LP1 MOV AL,7FH MOV SI+4,AL MOV AL,08H MOV DI+4,AL CALL DISP RETKEY7: CMP BH,00H;按键7处理子程序 JZ KEY7_1 CALL CLEARKEY7_1:CALL LP1 MOV AL,07H MOV SI+4,AL

17、 MOV AL,07H MOV DI+4,AL CALL DISP RETKEY6: CMP BH,00H;按键6处理子程序 JZ KEY6_1 CALL CLEARKEY6_1:CALL LP1 MOV AL,7DH MOV SI+4,AL MOV AL,06H MOV DI+4,AL CALL DISP RETKEY5: CMP BH,00H;按键5处理子程序 JZ KEY5_1 CALL CLEARKEY5_1:CALL LP1 MOV AL,6DH MOV SI+4,AL MOV AL,05H MOV DI+4,AL CALL DISP RETKEY4: CMP BH,00H;按键4处

18、理子程序 JZ KEY4_1 CALL CLEARKEY4_1:CALL LP1 MOV AL,66H MOV SI+4,AL MOV AL,04H MOV DI+4,AL CALL DISP RETKEY3: CMP BH,00H;按键3处理子程序 JZ KEY3_1 CALL CLEARKEY3_1:CALL LP1 MOV AL,4FH MOV SI+4,AL MOV AL,03H MOV DI+4,AL CALL DISP RETKEY2: CMP BH,00H;按键2处理子程序 JZ KEY2_1 CALL CLEARKEY2_1:CALL LP1 MOV AL,5BH MOV SI

19、+4,AL MOV AL,02H MOV DI+4,AL CALL DISP RETKEY1: CMP BH,00H;按键1处理子程序 JZ KEY1_1 CALL CLEARKEY1_1:CALL LP1 MOV AL,06H MOV SI+4,AL MOV AL,01H MOV DI+4,AL CALL DISP RETKEY0: CMP BH,00H;按键0处理子程序 JZ KEY0_1 CALL CLEARKEY0_1:CALL LP1 MOV AL,3FH MOV SI+4,AL MOV AL,00H MOV DI+4,AL CALL DISP RETKEYA: CMP BH,00H

20、;按键+号处理子程序 JNZ KEYA_1 CALL LP3;保存输入的数据KEYA_1:MOV BX,0101H;设置符号标志 RET;返回KEYB: CMP BH,00H;按键-号处理子程序 JNZ KEYB_1 CALL LP3;保存输入的数据KEYB_1:MOV BX,0102H;设置符号标志 RET;返回KEYC: CMP BH,00H;按键*号处理子程序 JNZ KEYC_1 CALL LP3;保存输入的数据KEYC_1:MOV BX,0103H;设置符号标志 RET;返回KEYD: CMP BH,00H;按键/号处理子程序 JNZ KEYD_1 CALL LP3;保存输入的数据K

21、EYD_1:MOV BX,0104H;设置符号标志 RET;返回KEYE: MOV BH,01H;按键=号处理子程序 CMP BL,01H;是+号? JZ K1;进行加法运算 CMP BL,02H;是-号? JZ K2;进行减法运算 CMP BL,03H;时*号? JZ K3;进行乘法运算 CMP BL,04H;是/号? JZ K4;进行除法运算STTE: RETK1: CALL ADD1 JMP STTEK2: CALL SUB1 JMP STTEK3: CALL MUL1 JMP STTEK4: CALL DIV1 JMP STTEKEYF: CALL CLEAR;按键C(清零)处理子序

22、RETCLEAR: MOV SI,OFFSET VAR2;数据清零子程序 MOV DI,OFFSET VAR3 MOV CX,000AHCLEAR1:MOV AL,3FH MOV SI,AL MOV AL,00H MOV DI,AL INC SI INC DI LOOP CLEAR1 MOV BH,00H RETADD1: MOV SI,OFFSET VAR3;加法子程序 MOV DI,OFFSET VAR4 CLC MOV CX,0005HADD_1: MOV AL,DI ADC AL,SI AAA MOV DI,AL INC SI INC DI LOOP ADD_1 CALL CHANGE

23、 CALL DISP RETSUB1: MOV SI,OFFSET VAR3;减法子程序 MOV DI,OFFSET VAR4 CLC MOV CX,0005HSUB_1: MOV AL,DI MOV CL,SI AAS MOV DI,AL INC SI INC DI LOOP SUB_1 CALL CHANGE CALL DISP RETMUL1: MOV SI,OFFSET VAR3;乘法子程序 MOV DI,OFFSET VAR4MOV AL,DI MOV CL,SI MUL CL AAM MOV DI+5,AX MOV AL,DI+1 MUL CL AAM ADD AL,DI+6 AAA MOV DI+6,AX MOV AL,DI MOV CL,SI+1 MUL CL AAM MOV SI+5,AX MOV AL,DI+1 MUL CL AAM ADD AL,SI+6 AAA MOV SI+6,AX MOV AL,DI+5 MOV DI,AL MOV AL,DI+6 ADD AL,SI+5 AAA MOV DI+1,AL MOV AL,DI+7 ADC AL,SI+6 AAA第 12 页

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