1、当计算器执行过程中有错误时,会在LD上显示相应得提示,如:当输入得数值或计算得到得结果大于计算器得表示范围时,计算器会在LED上显示“CUO,提示溢出。三、系统模块组成框图:二、硬件设计(一)、总体硬件设计本设计选用T8C1单片机为主控单元。显示部分:采用LED动态显示.按键部分:采用4*4集成计算键盘;总电路图:(1)44集成计算键盘 集成计算键盘本质上就是4矩阵键盘,矩阵键盘采用四条IO 线作为行线,四条I/O 线作为列线组成键盘,在行线与列线得每个交叉点上设置一个按键。这样键盘上按键得个数就为44个。这种行列式键盘结构能有效地提高单片机系统中I/O口得利用率.矩阵键盘得工作原理:计算器得
2、键盘布局如图所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。矩阵键盘内部电路图如图所示:(三)、LE显示模块如图本设计采用ED共阴数码管来显示输出数据共阴数码管得每一位都就是公共得阴极,只有输入低电平得时候才有可能被点亮,所以位选得时候被选中得位必须就是低电平。本设计采用两个7HC573锁存器来驱动数码管,引脚如上图所示.74HC57就是控制段选得,74HC52就是控制位选得,P2、6与P、7端口就是锁存使能位,置高电平时锁存器透明(即输入与输出相同),置低电平时锁存。C573得八个锁存器都就是透明得D 型锁存器,当使能()为高时,Q输
3、出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立得数据电平上。输出控制不影响锁存器得内部工作,即老数据可以保持,甚至当输出被关闭时,新得数据也可以置入.这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口.特别适用于缓冲寄存器,/O 通道,双向总线驱动器与工作寄存器。C573引脚功能:引脚号 符号 名称及功能1 O 3态输出使能输入(低电平)29 D 7 数据输入-1 Q0 Q7 3态锁存输出11 E 锁存使能输入10 GND 接地(0)20 VC 电源电压(四)运算模块(1单片机控制)1 单片机就是在一块芯片中集成了CPU、RM、ROM、定时器/计数
4、器与多功能I/O等一台计算机所需要得基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(A)、程序存储器(ROM/EPRO)、并行/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(S).单片机就是靠程序运行得,并且可以修改。通过不同得程序实现不同得功能,尤其就是特殊得独特得一些功能,通过使用单片机编写得程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器得主要功能部件,可以很快地实现运算功能。单片机最小系统复位时单片机得初始化操作,只要给ST引脚加上两个机器周期以上得高电平信号,就可以使TC891单片机复位。本次采用得就是2M晶振,
5、按钮复位电路。三、软件设计现实生活中人们熟知得计算器,其功能主要如下:1、键盘输入;2、数值显示;3、加、减、乘、除四则运算;针对上述功能,计算器软件程序要完成以下程序得设计:1、键盘输入检测程序2、LED显示程序3、算术运算程序1、程序流程图系统总流程图算术运算程序流程图2、程序清单#incudereg52、h#nluemh、#deneuch unnedcarefne uint unsined t#define ulog unsgned logsbitwela2; /定义端口sbi dua=P2;lng n1,in2,out,x;n cnt,,lag;uca cod nu=0,0x06,05
6、b,xf,0x6,0x6,0x7d,0,07f,0x6,0x7,xc,0x39,0xe,x79,0x1; /LE显示字模,共阴vod deay(unt x) /延时函数 uint ;for(i=xms;0;i-) r(j=14;j0;j-);void dispay() /显示函数声明ua1,w2,w3,w4,w5,w6,;lng; if(=0) /显示六位计时数 f(x=e) P=0ff; wel1; P=0xf7; wa=;dua=; P=um12; dul=0; dely(2); P=0ff; wela=1; P0=0xef; wl=0; dua1; 0=0e; dula=0; dely(
7、2); P0=f; wela=; 0=0x;ela=0; dula=1; 0=num0; dula=; lay(2); return; w1=x%10;w2=/10%1;w3=x/00%1;w=/1001;w5=/100010;6x1000010;f(f=1w6) f=1; P0=xff;ela=; 0=0e;ela0; Pnmw; ula=0; delay(); f(f=1|w5) =1; P00ff; la=1;P=0xd; wela0; dula; P=numw5;ula=0; delay(2); if(f=1|w4) f1; P=0f; wel=1; 00xfb; ela=0; ula
8、=1; P0=numw4; eay(2); if(f=w3)f=1; P=xff; wela1; P=0xf; wla=0;dl=;P0=numw; la0;ea(2); f(f=|w2) P0=0xff; wel1; P0=0xef; ela=; dul=;0=n2; dl=0; da(2); Pf; wela1; P=0xdf; wel=;du1;=numw1;dua=0;dely(2); lse y=ls(x); if(y=5) P0=0f; wela=1; P=0x7; wla=0; dula=1; P0=nu1; dla=0; el(2); P0xf; wela1; P0=xf; w
9、el0; ula=1; P03; ula=0; deay(2); P00f; el1;=f; wela=0; dua=1; P0=nm0; dula0; deay(); retun; =y10;w2y/0%1;w3y10%10;w4=y/100%1;w/10%0; i(f=1|w5) i(f=0) P00xf; =; P0=xf; wela=0; du1; 00x40; dula=; eay(2); =1; P0xf;w=; P0xfd; a=0; dla=1; P0=numw5; ula=0; ela(2); if(f=|w) if(f=) P=0xff; wela=1; P0=0xf; we=0;dula=1; P0=0x4; dla0; dlay(2); f=1; P0=0xff; wela=1;=xfb; e=0; dla=1; P0=nuw4; eay(2); i(f=1|3) if(f=) 0=0ff; we=1; P00xfb; wel=0; dl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1