如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
河南理工大学计算机科学与技术学院课程设计报告2011—2012学年第二学期课程名称微型计算机原理与接口技术设计题目简单计算器设计学生姓名黄文广学号321009010226专业班级计本10-2班指导教师李泉溪2011年9月7日目录TOC\o"1-3"\h\uHYPERLINK\l_Toc15852一:概述PAGEREF_Toc158523HYPERLINK\l_Toc11689(1)设计要求:PAGEREF_Toc116893HYPERLINK\l_Toc26709(2)设计思路:PAGEREF_Toc267093HYPERLINK\l_Toc8859二:硬件电路设计PAGEREF_Toc88594HYPERLINK\l_Toc23828(1)键盘输入模块PAGEREF_Toc238284HYPERLINK\l_Toc14649(2)数码管显示电路PAGEREF_Toc146495HYPERLINK\l_Toc27597(3)8255APAGEREF_Toc275976HYPERLINK\l_Toc503三:部分源程序PAGEREF_Toc5038HYPERLINK\l_Toc27900(1)键盘源程序PAGEREF_Toc279008HYPERLINK\l_Toc15827(2)数码管显示源程序PAGEREF_Toc1582710HYPERLINK\l_Toc1616四:课程设计体会PAGEREF_Toc161611一:概述(1)设计要求:1.通过小键盘做加减运算。七段数码管显示器作输入数据和结果数据的显示。2.数字用小键盘0~9,R,P,M,G作功能键R开始运算(包括撤销运算),显示‘0'P+M-G=E退出返回dos3.运算顺序:a.输入一原始数据显示器跟随显示b.按+或-显示器内容不变c.再输入一数据,显示器跟随显示。d.按=显示器显示结果数据,当超出能显示的最大值,显示F(溢出)e.按R重新开始运算f.按E,结束退出(2)设计思路:首先利用程序不断扫描键盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇编的程序核对输入键的数值,通过调用子程序实现2位十进制数以内的加减法运算。运算完成后将运算的结果储存并显示到LED显示器上。二:硬件电路设计(1)键盘输入模块键盘采用矩阵式。我采用4*4矩阵键盘。键盘输入及LED数码管通过8255A接口与系统总线连接,键盘的16个按键组成4*4矩阵,其中4根行线作为8255A的输出线与PA3~PA0连接,并且作为8255A的输入线与PB4~PB7连接。4根列线作为8255A的输入线与PB3-PB0连接。让PA0-PA7依次连接键盘的4行4列,在无键压下时,由于接到+5V上的上拉电阻的作用,列线被置成高电平。压下某一键后,该键所在的行线和列线接通。这时,如果向被压下键所在的行线上输出一个低电平信号,则对应的列线也呈现低电平。当从B口读取列线信号时,便能检测到该列线上的低电平。读取B口的状态时,还能读到行线上的低电平信号。这样,根据读入的行和列状态中低电平的位置,便能确定哪个键被压下了。如下图所示:图2-1键盘电路(2)数码管显示电路38译码器八个数码管位0阳极abcdefgh位7位2位3位4位5位6位8位1驱动器PC0PC1PC2PC3PC4PC5PC6PC78255APA4PA5PA6……………………12345678存储运算符存储1操作数存储0操作数存储当前要显示的数8字节数据缓冲区数据分布八位数码管显示电路图其中PC0-PC7作为输出位,PA4-PA6作为选择八个数码管中一个来显示数字。八位数码管只用到位0,位1两个。(3)8255A1.并行输入/输出端口A,B,C8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7~PA0、PB7~PB0、PC7~PC0。端口都是8位,都可以作为输入或输出。通常将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A和端口B的状态和控制信息的传送端口。2.A组和B组控制部件端口A和端口C的高4位(PC7~PC4)构成A组;由A组控制部件实现控制功能。端口B和端口C的低4位(PC3~PC0)构成B组;由B组控制部件实现控制功能。A组和B组利用各自的控制单