- 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)