欢迎来到天天文库
浏览记录
ID:47477018
大小:241.00 KB
页数:7页
时间:2020-01-11
《基于51单片机的计算器课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、项目一:简单计算器1.实验题目:用51单片机实现简单的计算器功能2.实验截图:1).实验运行前截图:2).实验运行后截图:3.实验代码:#include#include#include#include#includeunsignedchartable1[16];//1602第一行显示字符unsignedchartable2[16];//1602第二行显示字符unsignedcharcodetable_error[]="error";/*键扫描函数*/unsignedcharkeys
2、can()//扫描键盘函数{unsignedcharkey_l,key_h,addres,num;P0=0x0f;key_l=P0;P0=0xf0;key_h=P0;addres=key_l
3、key_h;if(addres!=0xff){Delayms(1);if(addres!=0xff){P0=0x0f;key_l=P0;P0=0xf0;key_h=P0;addres=key_l
4、key_h;switch(addres){case0xee:num='1';break;case0xde:num='2';break;case0xbe:num='3';break;case0xed:
5、num='4';break;case0xdd:num='5';break;case0xbd:num='6';break;case0xeb:num='7';break;case0xdb:num='8';break;case0xbb:num='9';break;case0xd7:num='0';break;//按键0case0xe7:num='C';break;//按键*case0xb7:num='=';break;//按键#case0x7e:num='/';break;//按键Acase0x7d:num='*';break;//按键Bcase0x7b:num='-';break;/
6、/按键Ccase0x77:num='+';break;//按键D}while(addres!=0xff){P0=0x0f;key_l=P0;P0=0xf0;key_h=P0;addres=key_l
7、key_h;}returnnum;}}return0;}voidclear_lcd(void)//清屏{unsignedcharj;for(j=0;j<16;j++){table1[j]=' ';table2[j]=' ';}}voidmain(){unsignedchari=0,j;unsignedcharkey;unsignedcharflag_operator=0;//加减
8、乘除标志位unsignedcharflag_equ=0;//等于标志位unsignedcharflag_key=0;//运算位标志bitflag_MaxValue=0;bitflag_minus=0;//负数longintvalue=0;//最终运算结果unsignedlongintvalue_H=0;//第一个数据unsignedlongintvalue_L=0;//第二个数据unsignedlonginttemp[]={1,10,100,1000,10000,100000,1000000,10000000,100000000};Initialize_LCD();while(1
9、){key=keyscan();if(key!=0){if(key=='C')//清除键C按下{clear_lcd();i=0;flag_operator=0;flag_equ=0;value=0;value_H=0;value_L=0;flag_key=0;flag_minus=0;}else{for(j=0;j
10、{flag_equ=j;flag_key++;break;}if(table1[j]=='+'
11、
12、table1[j]=='-'
13、
14、table1[j]=='*'
15、
16、table1[j]=='/'){flag_operator=j;flag_key++;}}for(j=16-i;j
此文档下载收益归作者所有