基于郭天祥C51单片机开发板的简易计算器_第1页
基于郭天祥C51单片机开发板的简易计算器_第2页
基于郭天祥C51单片机开发板的简易计算器_第3页
基于郭天祥C51单片机开发板的简易计算器_第4页
基于郭天祥C51单片机开发板的简易计算器_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<reg52.h>#define uint unsigned int #define uchar unsigned charsbit wela=P27;sbit dula=P26;uchar temp,flag=0,x=0;uint n1=0,n2=0,n=0,m;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code wei=0xff,0xdf,0xef,0xf7,0xfb; void delayms(ui

2、nt); /ÑÓ³Ùº¯ÊýµÄÉêÃ÷void display(uint);void main() while(1) /¼ì²âµÚÒ»ÅÅ°´¼ü P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0) /Óа´

3、88;ü°´Ï delayms(5); /ÑÓ³Ù5SÈ¥¶¶¶¯ temp=P3; temp=temp&0xf0; /È¥¶¶¶¯ÔÙ¼ì²âÊÇ·ñÓа´¼ü°´Ï whi

4、le(temp!=0xf0) /È¥¶¶¶¯ºóÈÔÓа´¼ü°´Ï temp=P3;/´ËʱµÄP3ÊÇÓа´¼ü°´ÏÂʱµÄ11101110£¬

5、¶ø11101110£¡=0xf0£¬ /ËùÒÔûÓÐÌø³öwhileÑ­»· £¬µ±ËÉÊÖµÄÄÇһ˲¼ä£¬P0¾Í±ä&

6、#179;ÉÁË11111110£¬ /ÄÇô¾ÍÌø³öÁËÑ­»·£¬ÊÇÖ´ÐÐÁËÏÂÃæµÄswitchÓï¾äºó²ÅÌ

7、48;³öµÄ switch(temp) case 0xee:n1=10*n1+1; break; case 0xde:n1=10*n1+2; break; case 0xbe:n1=10*n1+3; break; case 0x7e:n2=n1;n1=0;flag=1; break; while(temp!=0xf0)/ËÉÊÖ¼ì²â,Åжϰ´¼üÊÇ·

8、41;ËÉÊÖtemp=P3;/µ±ËÉÊÖµÄÄÇһ˲¼ä£¬P0¾Í±ä³ÉÁË11111110£¬ /ÄÇô¾ÍÌø³öÁËÑ­

9、»·temp=temp&0xf0; if(x=0) display(n1); P3=0xfd;/¼ì²âµÚ¶þÅÅ°´¼ütemp=P3;temp=temp&0xf0;while(temp!=0xf0)delayms(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xed: n1=10*n1+4; break;case 0

10、xdd: n1=10*n1+5; break;case 0xbd: n1=10*n1+6; break;case 0x7d: n2=n1;n1=0;flag=2;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;if(x=0)display(n1); /¼ì²âµÚÈýÅÅ°´¼üP3=0xfb;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delayms(5);t

11、emp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xeb:n1=10*n1+7;break;case 0xdb:n1=10*n1+8;break;case 0xbb:n1=10*n1+9;break;case 0x7b:n2=n1;n1=0;flag=3;break; while(temp!=0xf0)temp=P3;temp=temp&0xf0; if(x=0)display(n1); /¼ì²âµÚËÄÅ&

12、#197;°´¼ü P3=0xf7;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delayms(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xe7:n=0;n1=0;n2=0;flag=0;x=0;break;case 0xd7:n1=10*n1+0;n=n1;break;case 0xb7:if(flag=1)n=n2+n1; if(flag=2)n=n2-n1; if(flag=3)n=n2*n1; if(

13、flag=4)n=n2/n1; n1=0;x=1;break;/ =case 0x77:n2=n1;n1=0;flag=4;break; / / while(temp!=0xf0) temp=P3; temp=temp&0xf0; /½«ÉÏÃæ¼ì²âµ½µÄ°´¼ü¶ÔÓ¦µÄÊýÏÔʾ

14、;³öÀ´£¬ÈôûÓмì²âµ½£¬num»¹Êdzõʼֵ1£¬ /ÄÇôÏÔʾµÄ»¹ÊÇ0£¬

15、3;â¾ÍÊÇΪʲôÎÒÃÇÔÚûÓа´Ï°´¼üʱ£¬ÊýÂë¹ÜÒ»Ö±ÏÔʾµÄ

16、2;¼ÊÇ0 /dula=1; / P0=tablenum-1; / dula=0; if(x!=0) display(n); void delayms(uint xms) /ÑÓ³Ùº¯Êý uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-);void display(uint n) uchar g,s,b,q; if(n>=0)&&(n<9999) g=n%10; s=n/10%10; b=n/100%10; q=n/1000%10; dula=1; P0=tableg; dula=0; P0=0xff; wela=1; P0=wei1; wela=0; delayms(5); if(n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论