基于某AT89C51单片机简易计算器地设计94846

基于某AT89C51单片机简易计算器地设计94846

ID:40185054

大小:477.74 KB

页数:22页

时间:2019-07-24

基于某AT89C51单片机简易计算器地设计94846_第1页
基于某AT89C51单片机简易计算器地设计94846_第2页
基于某AT89C51单片机简易计算器地设计94846_第3页
基于某AT89C51单片机简易计算器地设计94846_第4页
基于某AT89C51单片机简易计算器地设计94846_第5页
资源描述:

《基于某AT89C51单片机简易计算器地设计94846》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档基于AT89C51单片机简易计算器的设计一、设计目的2二、总体设计及功能介绍2三、硬件设计3四、软件设计4五、设计总结17参考文献:19标准文案实用文档一、设计目的单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位无符号数范围内的基本加减运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUES仿真,通过

2、硬件实现功能。标准文案实用文档二、总体设计及功能介绍根据功能和指标要求,本系统选用MCS-51系列单片机为主控机,实现对计算器的设计。具体设计及功能如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果。(2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘。(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次

3、键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。三、硬件设计本设计选用AT89C51单片机为主控单元。显示部分:采用LED动态显示。按键部分:采用4*4集成计算键盘;总电路图:标准文案实用文档实物图:标准文案实用文档四、软件设计现实生活中人们熟知的计算器,其功能主要如下:1、键盘输入;2、数值显示;3、加、减、乘、除四则运算;针对上述功能,计算器软件程序要完成以下程序的设计:1、键盘输入检测程序2、LED显示程序3、算术运算程序1、程序流程图标准文案实用文档2、程序清单/************

4、****************************实验名称:六位无符号数加减法简易计算器*连接方式:P0口---段选*138译码器的A、B、C---P2.2、P2.3、P2.4*P1口---矩阵键盘标准文案实用文档*键盘:789+*456-*123*CLR0=***************************************/#include//宏定义类型#defineucharunsignedchar#defineuintunsignedint//--定义使用的IO口--//#defi

5、neDUANP0#defineKEYP1sbitWEIA=P2^2;sbitWEIB=P2^3;sbitWEIC=P2^4;标准文案实用文档//段码表ucharcodeDUANMA[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0--9//显示的八位数据ucharxianshi[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//第一个数据,第二个数据,得到的数据,符号longnum[4]={0,0,0,0};/

6、************函数名称:Delay*作用:毫秒延时*参数:延时毫秒***********/voidDelay(uintx){标准文案实用文档uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}/************函数名称:Kbscan*作用:矩阵键盘扫描*返回值:按键行列数对应的十六进制数据***********/ucharKbscan(void){ucharsccode,recode;KEY=0xf0;Delay(1);if(KEY!=0xf0){Delay(2);标准

7、文案实用文档if(KEY!=0xf0){sccode=KEY&0xf0;KEY=0x0f;Delay(1);recode=(KEY&0x0f)

8、sccode;KEY=0x0f;Delay(1);while(KEY!=0x0f);returnrecode;}}return0;}/************函数名称:Keyval*作用:键值解码标准文案实用文档*返回值:按键对应功能值*10表示+,11表示-,12表示*,13表示/,14表示CLR,15表示=***********/ucharKeyval(void){uchark

9、ey;ucharkeyval=16;//无按键key=Kbscan();switch(key){case0xee:keyval=7;break;case0xde:keyval=8;break;case0xbe:keyval=9;break;case0x7e:keyval=10;break;//+case

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。