第一范文网 - 专业文章范例文档资料分享平台

毕业设计(论文)-基于MC51单片机的简易计算器设计 - 图文

来源:用户分享 时间:2025/6/6 15:19:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

附录二:系统程序清单

;主程序 // Header: // File Name: // Author: // Date:

#include #include \#include \

void Header_printf(unsigned char *str) //规避WARNING L15 { }

void Header() { }

void Main() {

26

while(*str!='\\0') { }

BWR_data(*str); str++;

LCD_moveto(0,0);

Header_printf(\LCD_moveto(1,3);

Header_printf(\

LCD_init(); Header();

P2=P2|0x0F; P1=P1&0xC0;

/*开外部中断*/

IT0=1; //下降沿触发 EX0=1; EA = 1;

while(1);

}

void mINT0 (void) interrupt 0 { char i; EA=0;

for(i=5;i>0;i--) { if(INT0==1) break;

}

if(INT0==0) {

Key_press(); } EA=1;

}

;按键处理程序 #include

27

#include \#include \#include \void Key_press() {

char a[16];

//第一次输入数字存在b[16]里,按下中间计算符后,循环a[len]=b[len];

清空b[len]

char b[16]; char key; char i;

//再次输入数字仍存在b[16]里,按下等号后,计算a,b,结果存在b[len];

char arc; //运算符 char len; //数字长度 bit sign; //正负号 bit point; //小数点

key=Key_get(); //数字键处理

if(key==12) key='7'; else if(key==13) key='8'; else if(key==14) key='9'; else if(key==22) key='4'; else if(key==23) key='5'; else if(key==24) key='6'; else if(key==32) key='1'; else if(key==33) key='2'; else if(key==34) key='3'; else if(key==42) key='0';

else if(key==11) key='C'; else if(key==21) key='S'; else if(key==31) key='%';

else if(key==41) key=' '; //空格

28

//清空 //正负号

else if(key==43) key='.'; else if(key==44) key='='; else if(key==45) key='+'; else if(key==25) key='-'; else if(key==15) key='*'; else if(key==16) key='/'; else if(key==26) key='M'; //MRC else if(key==36) key='D'; //M- else if(key==46) key='A'; //M+

else key='E'; //错误

if(len<15) //前15个数字输入有效 {

if(len==0) {

LCD_init();

for(len=15;len>0;len--) { b[len]=' ';

}

b[0]='0';

b[1]='.';

LCD_moveto(1,14); LCD_printf(\

}

if(key>0x2F&&key<0x3A) { if(len==0&&key=='0') { LCD_moveto(1,14); LCD_printf(\ //第一位输入'0'不响应

}

29

毕业设计(论文)-基于MC51单片机的简易计算器设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8p2z914q9s7g2499hhrv_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top