广东海洋大学
单片机综合实****报告
学号
201311632207
姓名
黄学孟
班级
自动化1132班
广东海洋大学信息学院
简易计算器设计
实****目的、要求
目的:
2 .深入理解单片机课程
要求:
实****地点:科技楼
计算器电路设计
总体电路图:
部分程序:
void main() //主函数
{
U4CE=0;
U4AB=1;
LCD_init();
Timer_INIT();
P2=0X0f;
while(1)
{
key=getkey();
if(key!=-1)
{
TR1=1; //启动定时器
while(v==0)
main_keydriver();
v=0;
TR1=0; //关闭定时器
mand(0x01);
mand(0x80);
switch(key)
{
case '+':if(meun==3||meun==2)show(s);
mand(0x80);key_buff=key;sprintf(s,"%d%c",a,key_buff);write_s(s);meun=1;
break;
case '-':if(meun==3||meun==2)show(s);
mand(0x80);key_buff=key;sprintf(s,"%d%c",a,key_buff);write_s(s);meun=1;
break;
case 'x':if(meun==3||meun==2)show(s);
mand(0x80);key_buff=key;sprintf(s,"%d%c",a,key_buff);write_s(s);meun=1;
break;
case '/':if(meun==3||meun==2)show(s);
mand(0x80);key_buff=key;sprintf(s,"%d%c",a,key_buff);write_s(s);meun=1;
break;
case 'c':if(long_time==1) {long_time=0;a=0;c=0;all=0;meun=3;}
if(meun==0) {a=a/10;sprintf(s,"%d",a); write_s(s);}
if(meun==1) {sprintf(s,"%d",a); write_s(s);meun=0;}
if(meun==2) {c=c/10;if(c==0){ meun=1;sprintf(s,"%d%c",a,key_buff);write_s(s);}
else{sprintf(s,"%d%c%d",a,key_buff,c);write_s(s);} }
if(meun==3) {a=0;meun=0;sprintf(s,"%c",'_');write_s(s);}
break;
case '=':sprintf(s,"%d%c%d",a,key_buff,c);write_s(s);
show(s
基于51单片机的计算器设计 来自淘豆网www.taodocs.com转载请标明出处.