51单片机双显示小数计算器.pdfVIP

  • 2
  • 0
  • 约1.47万字
  • 约 10页
  • 2021-04-03 发布于湖南
  • 举报
经典文 自己制作的单片机程序,既可以用数码管显示,也可以用 1602 显示 ,且可以显示小数 ~~~ #includereg52.h #include math.h #define uint unsigned int #define uchar unsigned char uchar code tabledu[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 }; uchar code tabledu1[16]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1}; uchar code tablewe[8]={0,1,2,3,4,5,6,7}; uchar code table[]=0123456789; uchar dispbuf[4]={0,0,0,0}; float dispbuf1[4]={0,0,0,0}; uchar aa,temp,key,keypos,flag,fuhao,a0,b0,c0,d0,e0,flag1,flag2,a1,b1,c1,d1; float num1,num2,num3,flag3=1; int num5,num6,num7,n2; long n1; sbit RS=P2^5; sbit RW=P2^6; sbit E=P2^7; sbit key1=P3^2; sbit key2=P3^3; sbit key3=P3^4; void keyscan1(); void ukeyscan1(); void delay(uint z) { uint x,y; for(x=z;x0;x --) for(y=110;y0;y --); } void change(uchar *p,uchar count) { count=4-count; while(count3) { *(p+count)=*(p+count+1); count++; } } float jisuan(float x,char y,float z) { float m; 下载可复制编辑 经典文 if(y==10)m=x+z; if(y==11)m=x -z; if(y==12)m=x*z; if(y==13)m=x/z; return m; } bit Busy(void) { bit busy_flag = 0; RS = 0; RW = 1; E = 1; delay(1); busy_flag = (bit)(P0 0x80); E = 0; return busy_flag; } void wcmd(uchar del) { while(Busy()); RS=0;RW=0;E=0; P0=del; delay(1)

文档评论(0)

1亿VIP精品文档

相关文档