文档介绍:详细设计说明书
——简单电子计算器设计
信科05-3
1引言 4
4
4
4
2设计系统的结构 5
3 CPU模块设计说明 6
6
6
6
6
6
4键盘模块设计说明 6
6
7
7
7
8
5 LCD显示模块设计说明 8
8
9
9
9
9
10
详细设计说明书
1引言
电子计算器作为信息时代的一项不了或缺的计算工具,为人们的工作和生活带来了很多的方便和实惠。随着科学技术的进步,尤其是电子工业技术的发展,计算器已经从先前的半导体技术实现到现在的广泛采用高集成度芯片实现的多功能计算器。
AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。
采用AT89C51芯片作为比较经典的8位单片机在做比较小的系统设计时候能够达到比较好的效果,本次电子设计就是采用AT89C51单片机设计的简单计算器,能够简单的实现六位数以内的+、—、*、/ 运算。采用LCD来进行显示,方便可靠。
满足基本的计算,提高工作效率。
适合读者,入门级的单片机爱好者。
项目名称:51单片机实现的简单计算器。
项目任务提出者:
项目任务开发者:
开发环境:Keil uVision3 Protel DXP2004
项目审核:
列出有关的参考文件:
根据中国矿业大学计算机科学与技术学院电子设计要求而开题。
《单片机的C语言应用程序设计》(第四版)马忠梅北京航空航天大学 2007
《MCS-51系列单片机系统及其应用》(第二版)蔡美琴高等教育出版社
2设计系统的结构
程序开始
初始化键盘
初始化LCD
输出Cal 08053543
进入主循环函数
进行按键扫描和简码处理
输出计算结果
ERROR!
YES
NO
系统模块展示:
3 CPU模块设计说明
电子计算器的主要处理模块,采用AT89C51单片机,购买而来。
能够从键盘得到数据并进行数据的处理再并进行写功能向外设发送数据实现计算功能。
CPU模块采用厂家封装的形式,性能可靠。
本模块共有40个引脚P0~P3四个数据口,两个时钟引脚XTAL1,XTAL2,控制信号引脚RST/Vpd,ALE等。
C语言进行编程控制。
采用while(1)//进入键盘扫描循环,来实现CPU对键盘数据的读取控制,和对LCD的写控制。
4键盘模块设计说明
*
/
=
Q
--
+
0
9
5
6
7
8
4
3
2
1
键盘扫描模块用于输入操作数和操作符,由4行4列16个按键组成。各按键定义如下:
key1(){ //按键1的设定,其它依次类推
LCD_output("1");
a[keytime-1]=1;
}
keyjia(){ //+处理符号按键其它依次类推
if(keytime>7)
over();
else
{LCD_output("+");
yunsuan=1;
suan1();
keytime=0;
}
}
keyrst(){ //清零的按键处理
yunsuan=0;
keytime=0;
num1=0;
num2=0;
result=0;
num=0;
SEND_I(0x01);
SEND_I(0x80);
}
本模块用于输入数值和运算符。
要求设计消抖电路用于消除按键时候的抖动。采用16个104电容进行硬件消斗处理。
P3=0xfe; //扫描获取键盘码
keyNO=P3;
switch(keyNO){
case 0x7e :keytime++;key1();break;
case 0xbe :keytime++;key2();break;
case 0xde :keytime++;key3();break;
case 0xee :keytime++;k