单片机简易计算器程序代码.doc

单片机简易计算器程序代码.doc

ID:61488277

大小:47.00 KB

页数:12页

时间:2021-02-05

单片机简易计算器程序代码.doc_第1页
单片机简易计算器程序代码.doc_第2页
单片机简易计算器程序代码.doc_第3页
单片机简易计算器程序代码.doc_第4页
单片机简易计算器程序代码.doc_第5页
资源描述:

《单片机简易计算器程序代码.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、#include#include#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlongsbitlcden=P2^2;//定义引脚E使能sbitrs=P2^0;sbitrw=P2^1;sbitshangdang=P2^7;chari,temp,num,g=0,f=0,gz=0,ad=0,bd=0,eq=0,qz,k;//gz为跟踪地址,ad,bd分别表示a,b是否按小数点,eq表示是否入过等号doubleafd=0,bfd=0;//afd,bfd为小数点后个数floata,b

2、,daan;longc1,c2;//a,第一个数b,第二个数c,得数daan答案floatdzh;ucharflag,fuhao;//flag表示是否有符号键按下,fuhao表征按下的是哪个符号ucharcodetable[]={7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0};ucharcodetable1[]={7,8,9,0x2f-0x30,//按键标值0x2f-0x30是将字符转化为数字,与后面的0x30+i抵消,得i值4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0x2b-0x30//0x01是清屏命令}

3、;voiddelay(uintz)//延迟函数{while(z--);}voidwrite_com(ucharcom)//写指令函数{delay(1000);lcden=0;rs=0;rw=0;P0=com;//com指令付给P0口lcden=1;delay(20);lcden=0;}voidwrite_date(uchardate)//写数据函数{delay(1000);lcden=0;rs=1;rw=0;lcden=1;P0=date;lcden=0;}voidinit()//初始化{write_com(0x38);//功能设置命令:8位,2行DDRAM的地址delay(200);wri

4、te_com(0x0e);//显示开,光标开,不闪烁delay(200);write_com(0x06);//增量方式不移位delay(200);write_com(0x80);//设置访问地址delay(200);}voidxianshi(chari,charh,floatdaan)//c为得数i从最后一位跟踪,H为精确到小数点后几位{qz=0;k=0;c1=(long)daan;c2=(long)((daan-c1)*10000);//为小数点后6位尝试用pow函数答案不理想if(c2%10>=5){c2=(c2/10)+1;}else{c2=c2/10;}while(c2!=0){k=

5、c2%10;if(i

6、dgg(chargz){write_com(0xc0);write_date(0xfe);write_com(0x80+gz);}voidkeyscan(void)//键盘扫描程序{if(shangdang==0)//上档键{delay(100);if(shangdang==0){while(shangdang==0);g=!g;//g表示那个档位g=0,下档g=1,上档if(g==1){write_com(0xc0);write_date(0x5e);write_com(0x80+gz);}if(g==0){write_com(0xc0);write_date(0xfe);write_co

7、m(0x80+gz);}shangdang=1;}}P1=0xfe;//第一行,7,8,9,/或sinif(P1!=0xfe){delay(20);//20msif(P1!=0xfe){temp=P1&0xf0;switch(temp){case0xe0:num=0;break;case0xd0:num=1;break;case0xb0:num=2;break;case0x70:num=3;break;}}w

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

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

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