计算机科学与技术学院课程设计报告
20112012学年第二学期
课程名称微型计算机原理与接口技术设计题目简单计算器设计学生姓名学号
专业班级计本102班指导教师
2011
年
9
月
7
日
1
f目录
一:概述3(1)设计要求:3(2)设计思路:3二:硬件电路设计4(1)键盘输入模块4(2)数码管显示电路5(3)8255A6三:部分源程序8(1)键盘源程序8(2)数码管显示源程序11四:课程设计体会12
2
f一:概述
(1)设计要求:1通过小键盘做加减运算。七段数码管显示器作输入数据和结果数据的显示。2数字用小键盘09,R,P,M,G作功能键R开始运算(包括撤销运算),显示‘0PMGE退出返回dos3运算顺序:a输入一原始数据显示器跟随显示b按或显示器内容不变c再输入一数据,显示器跟随显示。d按显示器显示结果数据,当超出能显示的最大值,显示F(溢出)e按R重新开始运算f按E,结束退出
(2)设计思路:首先利用程序不断扫描键盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇编的程序核对输入键的数值,通过调用子程序实现2位十进制数以内的加减法运算。运算完成后将运算的结果储存并显示到LED显示器上。
3
f二:硬件电路设计
(1)键盘输入模块键盘采用矩阵式。我采用44矩阵键盘。键盘输入及LED数码管通过8255A接口与系统总线连接,键盘的16个按键组成44矩阵,其中4根行线作为8255A的输出线与PA3~PA0连接,并且作为8255A的输入线与PB4~PB7连接。4根列线作为8255A的输入线与PB3PB0连接。让PA0PA7依次连接键盘的4行4列,在无键压下时,由于接到5V上的上拉电阻的作用,列线被置成高电平。压下某一键后,该键所在的行线和列线接通。这时,如果向被压下键所在的行线上输出一个低电平信号,则对应的列线也呈现低电平。当从B口读取列线信号时,便能检测到该列线上的低电平。读取B口的状态时,还能读到行线上的低电平信号。这样,根据读入的行和列状态中低电平的位置,便能确定哪个键被压下了。如下图所示:
图21键盘电路
4
f(2)数码管显示电路
38译码器
八个数码管
位0阳极
abcdefgh
位1
位2
位3
位4
位5
位6
位7
位8
PA4PA5PA6
PC0PC1PC2PC3PC4PC5PC6PC7
…
驱动器
…
r