版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
金陵科我学院
锦程强计总务零
课程名称微机原理及应用
院部名称机电工程学院
专业电气工程及其自动化
班级
指导教师—一
金陵科技学院教务处制
摘要
学了微型计算机原理与应用课程之后,为了巩固和检测所学知识,我选择基于
8088CPUH勺模拟计算器设计。要完毕设计首先需要构建简朴H勺微型计算机应用系统,另
一方面是确定构成各部件的芯片,然后画原理图并且用仿真软件仿真。仿真对的后再
连接硬件电路,电路连接完毕后进行调试。设计过程中我们用到了8088CPU、可编程计
时器8253、可编程并行输入/输出芯片8255A、74LS138、2*8矩阵式键盘、六位七段
LED数码管。原理图设计完毕之后用PROTUES仿真软件对原理图进行了仿真得到了预期
的成果。我们的模拟计算器能实现5位十进制数以内的及减法运算和2位十进制数以
内的乘除法运算。
关键词:模拟计算器,8088CPU,PROTUES,8255A
目录
一、概述............................................................4
二、硬件电路........................................................4
2.1、CPU控制模块....................................................4
2.2、键盘输入模块....................................................6
2.3、可编程并行通信接口芯片8255A......................................................................7
2.4、可编程计数器/定期器...........................................8
2.5、总原理图........................................................9
三、软件设计框图......................................................10
四、源程序............................................................11
五、调试过程..........................................................26
六、课程设计体会......................................................26
七、参照文献..........................................................27
模拟计算器设计
一、概述
设计思绪:首先运用程仔不停扫描键盘是入是有输入,假如没有就一直扫描,
假如有就停止扫描,完毕输入,运用汇编的程序查对输入键H勺数值,通过调用子程
序实现5位十进制数以内日勺及减法运算和2位十进制数以内的乘除法运算。运算完
毕后将运算的成果储存并显示到LED显示屏上。
二、硬件电路设计
硬件电路键盘输入及LED数码管通过8255A接口与系统总线连接,键盘口勺16个
按键构成8*2矩阵,其中8根矩阵线作为8255A日勺输出线与PB7〜PBO连接,2根
矩阵线作为8255A的)输入线与PC7、PC6连接。键盘采用逐次扫描原理,16个按键
中。〜9座位数字健,+、-、*、/、二作为加、减、乘、除和等号功能键,C为清零
键U
1、CPU控制模块
GNF—1U40—烟V5)
A”239
16位微处理器,内含29000个晶体管,时钟频率为AD338辰4,
An437A与,
Au一536一5
4.77MHz,地址总线为20位,可使用1MB内存。8088A”——635一反£,
A,一734一醺巴OH)
A*833MliMX
内部数据总线都是16位,外部数据总线是8位。ADr一932-RD
AD.1031
OAOO
°AD11ouoo30HlftAiRQOTj)
AIX——J29—WL^K)
AD)1328而10(&)
^Tah-O-11427DT正J
AE\—IS26一曲d)
y
AU—ie25一A^.QS.)
NNU——1724—DrrAiQs,)
INT一
1323TiST
R
CLK1922R2ADY
GND—2021-RISZT
图1-1.8284时钟发生器图1-2.8C88CPU
公用信号引脚
名称功能引脚号类型
AD|5〜AD()地址/数据总线(分时复用)2〜16,39双向,三态
A|“S6~A|6/S3地址/状态总线(分时复用)35-38输出,三态
数据总线高8位允许/状态34输出
BHE/S7(SSO)
MN/MX最小/最大方式控制33输入
RD读控制32输出
TEST测试信号23输入
READY存储器或I/O准备好信号22输入
RESET系统复位21输入
输入
NMI不可屏蔽中断请求17
(上升沿触发)
INTR可屏蔽中断请求18输入
CLK系统时钟19输入
VCC+5V电源40输入
GND接地1,20输入
最小工作方式信号引脚
名称功能引脚号类型
HOLD总线保持请求信号31输入
HLDA总线保持响应信号30输出
WR写信号29输出,三态
M/IO(M/IO)存储器/I0控制28输出,三态
DT/R数据发送/接受27输出,三态
DEN数据允许26输出,三态
ALE地址锁存允许25输出
INTA中断响应24输出
2、键盘输入模块
键盘是常用信息输入元件,其实键盘也是由一种个按钮构成,假如是独立按钮的话必
须要需要一种I/O口对它进行检测,而键盘往往这需要键盘按钮数二分之一的I/O口数对
它进行检测,也许对一种比较简朴的系统I/O口数一般不是问题,但对于一种大型、复杂
U勺系统来说I/O资源就显得非常宝贵了,尽量减少I/O使用是非常利于减少成本,此外首
先键盘比用独立按键要美观。我们设计时使用的是8*2行列式键盘,如图2-1所示。
图中有8行2列,8根行线与PA口相连,2根列线与PC口的PC6、PC7相连。PA、PB
口要么所有输入或输出。PC口可以进行输入和输出。按键设置在行、类交点处(数字或字
符为其键号),行、列线分别连接到按键开关的两端。当列线通过上拉电阻接+5V时,就被
钳位在高电平状态。键盘中有无按键按卜是由行线送入全扫描字、列线读入行线状态来判
断。这就是:给航线所有I/O线均置成低电平,然后读入列线电平状态。如国有按键盘卜,
总会有一根列线电平被拉至低电平,从而使列线输入不全为1。
图2-1键盘电路图2-2数码管电路
3、可编程并行通信接口芯片8255A
(1)并行输入/输出端口A,B,C
8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,对应信号线
是PA7〜PAO、PB7〜PB。、PC7〜PCO。端口都是8位,都可以作为输入或输出。一股将端口
A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A
W
和端口B的状态和控制信息的传送端口。-EA4
140
PA2IUPA5
鼠239
PA6
338
(2)A组和B组控制部件PAO:IPA7
437
一536
cs_RESET
吧635
端口A和端口C的高4位(PC7〜PC4)构成A组;由A组控CO
734—
AlI
J2L
833
D2
制部件实现控制功能。瑞口B和端口C的低4位(PC3〜PCO)构AH932
PC7ID3
1031
PC6F1-D4
118255A3U
成组;由组控制部件实现控制功能。组和组运用各自勺GD5
BBABH1229
D6
PCO11328
巴~D7
1427
vcc
PC2I
空1526
PB7
1625
PB6
PB0&I
1724
PB5
1823
PB2IPB4
一
1922
PB3
2021
控制单元来接受读写控制部件的]命令和CPU通过数据总线(DO〜D7)送来的J控制字,并根据
他们来定义各个端口R勺操作方式。
(3)数据总线缓冲存储器
三态双向8位缓冲器,是8255A与8O86CPU之间H勺数据接口。与I/O操作有关的数据、
控制字和状态信息都是通过该缓冲器进行传送。
(4)读/写控制部件
8255A完毕读/写控制功能"勺部件。能接受CPUU勺控制命令,并根据控制命令向各个功能
部件发出操作指令。图2-3.8255A芯片图
CS片选信号:由CPU输入,有效时表达该8255A被选中。RD,WR读、写控制信号:由
CPU输入。RD有效表达CPU读8255A,WR有效表达CPU写8255A。RESET复位信号:由
CPU输入。RESET信号有效,清除8255A中所有控制字寄存器内容,并将各个端口置成输入
方式。
I/O
PA?〜PA。
I/O
PC7〜PC4
I/O
PC3〜PC。
1/0
PB7〜PB°
CS------------J
图2-4.8255A内部构造
定义工作方式控制字:
工作奇式浮鳖鸳1只输岸心式。
100XIX|0IX13r
-「LPC3〜PC。为输入
-l,0*C3〜PC。为输出
标
定端口B输入
志
义
Ch端口B输出
位
端
口
A
为
方
式
u
D7一一
图2-5.8255A工作124
D6—
223WR
D5
方式控制322RD
Ur\A^t
421CS
D3f]
520
D2-一AO
6825319
4、可编程计数器/定期器DICKL2
718
八Anr»w-»A
DO
817
CLKO-OUT2
8253具有3个独立的计数通道,采用减1916
OUTOCLKI
1015
GETOGATEI
计数方式。在门控信号有效时,每输入11114
GND~-OUTl
1213
个计数脉冲,通道作1次计数操作。当计
数脉冲是已知周期的时钟信号时,计数就成为定期。
(1)、8253内部构造
8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。
1.数据总线缓冲器图2-6、8253芯片图
数据总线缓冲器与系统总线连接,8位双向,与CPU互换信息的通道。这
是8253与CPU之间的数据接口,它由8位双向三态缓冲寄存器构成,是CPU与8253
之间互换信息的必经之路。
2.读/写控制
读/写控制分别连接系统H勺I0R和I0W,由CPU控制着访问8253H勺内部通道。
接受CPU送入口勺读/写控制信号,并完毕对芯片内部各功能部件的控制功能,因
此,它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253
内部有3个独立的通道和一种控制字寄存器,它们构成8253芯片的4个端口,CPU
可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由
最低2位地址码Al>A0来选择。
5、总原理图
-X2X1
F/C
RESEI
RESREADV
ROYCLK
y
ONDVCC工
A14A15ffi;
38圭
边A13A16-
吧
*,
A12A17Jwr
四
一KE
芝
A11A18三
35-
RDA10z
34一
於CSASS$0
A11-
AO19A8MN/MX31-
IK;18A07RD30-
17ADGHOLD5-一
1
IE6ADOHLDA27一
CLKt0UT21
,26一
6A04”
OUUCLK11
25一
!4A03Mg
GATE,GATE]1
24一
3AD2DTXR
}GNDOUT123-
A01DEN
.22
AOOALE21
NMIINTA
INTRTEST
◎1。2
CLKREADY
20
,TONDRESET
图2-7、PROTUES画出日勺总原理图
三、软件设计框图
四、源程序
一、源程序
STACKSEGMENTSTCAK
DB64DUP(?)
STACKENDS
DATASEGMENT
ORG3000H
VARIDBOOH,01H,02H,03H,04H
VAR2DB3FH,3FH,3FH,3FH,3FH,3FH,3PH,3FH,3FH,3FH
VAR3DBOOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH
VAR4DBOOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH,OOH
TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,
71H
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACK
START:MOVAX,DATA
MOVDS,AX
MOVAL,88H
OUT63H,AL;82255A初始化
MOVBX,OOOOHBX清零
STT:MOVAL,OOH:键盘测试
OUT61H.AL
NEXT:INAL,62H
ANDAL,OCOH
CMPAL,OCOH
JNZKEYABC
CALLDTSP;调用显示程序
JMPSTT
KEYABC:CALLTIME;延时,去抖动
INAL,62H
ANDAL,OCOH
CMPAL,OCOH
JNZKEY
JMPSTT
KEY:MOVAL,OFEH;键盘扫描识别
OUT61H,AL
INAL,62H
TESTAL,80H
JNZKEY_O
CALLKEY8
JMPSTTK
KEY_O:TESTAL,40H
JNZKEY_9
CALLKEYO
JMPSTTK
KEY9:MOVAL,OFDH
OUT61H,AL
INAL,62H
TESTAL,80H
JNZKEY_1
CALLKEY9
JMPSTTK
KEY_1:TESTAL,40H
JNZKEY_A
CALLKEY1
JMPSTTK
KEYA:MOVAL,OFBH
OUT61H,AL
INAL,62H
TESTAL,80H
JNZKEY_2
CALLKEYA
JMPSTTK
KEY_2:TESTAL,40H
JNZKEY_B
CALLKEY2
JMPSTTK
KEYB:MOVAL,0F7H
OUT61H,AL
INAL,62H
TESTAL,80H
JNZKEY_3
CALLKEYB
JMPSTTK
KEY_3:TESTAL,4OH
JNZKEYC
CALLKEY3
JMPSTTK
KEY_C:MOVAL,OEFH
OUT61H,AL
INAL,62H
TESTAL,80H
JNZKEY_4
CALLKEYC
JMPSTTK
KEY4:TESTAL,40H
JNZKEYD
CALLKEY4
JMPSTTK
KEY_D:MOVAL,ODFH
OUT61H,AL
INAL,62H
TESTAL,80H
JNZKEY_5
CALLKEYD
JMPSTTK
KEY5:TESTAL,40H
JNZKEY_D
CALLKEY5
JMPSTTK
KEY_E:MOVAL,OBFH
OUT61H,AL
INAL,62H
TESTAL,80H
JNZKEY_6
CALLKEYE
JMPSTTK
KEY6:TESTAL,4OH
JNZKEY_F
CALLKEY6
JMPSTTK
KEY_F:MOVAL,07FH
OUT6111,AL
INAL,62H
TESTAL,80H
JNZKEY7
CALLKEYF
JMPSTTK
KEY_7:TESTAL,40H
JNZKEY_71
CALLKEY7
JMPSTTK
KEY_71:JMPSTTK
KEY9:CMPBH,OOH;按键9处理子程序
JZKEY9_1;未按过符号键,不清零
CALLCLEAR;已按过符号键,清零
KEY91:CALLLP1;低4位字节前移
MOVAL,6FH;最低字节输入一种数据
MOV[SIH],AL
MOVAL,09H
MOV[DI+4],AL
CALLD1SP;显示
RET;返回
KEY8:CMPBH,OOH;按键8处理子程序
JZKEY81
CALLCLEAR
KEY81:CALLLP1
MOVAL,7FH
MOV[SIM],AL
MOVAL,08H
MOV[DI+4],AL
CALLDISP
RET
KEY7:CMPBH,OOH;按键7处理子程序
JZKEY7_1
CALLCLEAR
KEY71:CALLLP1
MOVAL,07H
MOV[SIH],AL
MOVAL,07H
MOV[DI+4],AL
CALLDISP
RET
KEY6:CMPBH,OOH;按键6处理子程序
JZKEY61
CALLCLEAR
KEY61:CALLLP1
MOVAL,7DH
MOV[SIM],AL
MOVAL,06H
MOV[DI+4],AL
CALLDISP
RET
KEY5:CMPBH,OOH;按键5处理子程序
JZKEY5_1
CALLCLEAR
KEY51:CALLLP1
MOVAL,6DH
MOV[SI+4],AL
MOVAL,05H
MOV[DI+4],AL
CALLDISP
RET
KEY4:CMPBH,OOH;按键4处理子程序
JZKEY4_1
CALLCLEAR
KEY41:CALLLP1
MOVAL,66H
MOV[SI+4],AL
MOVAL,04H
MOV[DI+4],AL
CALLDISP
RET
KEY3:CMPBH,OOH;按键3处理子程序
JZKEY3_1
CALLCLEAR
KEY31:CALLLP1
MOVAL,4FH
MOV[SI+4],AL
MOVAL,03H
MOV[DI+4],AL
CALLDISP
RET
KEY2:CMPBH,OOH;按键2处理子程序
JZKEY2_1
CALLCLEAR
KEY21:CALLLP1
MOVAL,5BH
MOV[SI+4],AL
MOVAL,02H
MOV[DI+4],AL
CALLDISP
RET
KEY1:CMPBH,OOH;按键1处理子程序
JZKEY1_1
CALLCLEAR
KEY11:CALLLP1
MOVAL,06H
MOV[SI+4],AL
MOVAL,O1H
MOV[DI+4],AL
CALLDISP
RET
KEYO:CMPBH,OOH;按键。处理子程序
JZKEYO.1
CALLCLEAR
KEYO1:CALLLP1
MOVAL,3FH
MOV[SI+4],AL
MOVAL,OOH
MOV[DI+4],AL
CALLDISP
RET
KEYA:CMPBH,OOH;按键+号处理子程序
JNZKEYA_1
CALLLP3;保留输入H勺数据
KEYA1:MOVBX,O1O1H;设置符号标志
RET;返回
KEYB:CMPBH,OOH;按键一号处理子程序
JNZKEYB_1
CALLLP3;保留输入日勺数据
KEYB_1:MOVBX,0102II;设置符号标志
RET;返回
KEYC:CMPBH,OOH;按键*号处理子程序
JNZKEYC_1
CALLLP3;保留输入日勺数据
KEYC1:MOVBX,0103H;设置符号标志
RET;返回
KEYD:CMPBH,OOH;按键/号处理子程序
JNZKEYD_1
CALLLP3;保留输入的数据
KEYD_1:MOVBX,010411;设置符号标志
RET;返回
KEYE:MOVBH,01H;按键二号处理子程序
CMPBL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Spark实时日志分析技巧课程设计
- 2025-2026学年2026年中考二轮复习:三角函数的再认识(课件)
- 0-3岁儿童保健课件
- 耳鼻喉科咽喉炎康复护理措施
- 核医学科甲状腺功能亢进症核素治疗操作规范
- 眼科近视眼康复训练要点
- 麻醉科麻醉前后患者恢复指导
- 单身公寓室内设计方案
- 微课设计思路与应用方法
- 老年骨折术后康复训练指南
- 2025山西运城河津市城市基础设施建设投资开发有限公司招聘工作人员笔试及后续环节笔试历年典型考点题库附带答案详解试卷2套
- 中粮集团秋招面试题及答案
- 土木工程施工课后习题答案
- 沈阳华润万象城调研报告148p
- ISO9001-2026质量管理体系中英文版标准条款全文
- 2025向量化与文档解析技术加速大模型RAG应用
- 2025年中国中车集团有限公司招聘笔试题库及答案解析
- 凉山之最教学课件
- 消防设备维修实习总结范文
- 智慧健康养老服务与管理专业教学标准(高等职业教育专科)2025修订
- DB3502-T 180-2025 公安派出所“两队一室”建设规范
评论
0/150
提交评论