📄 adc0808-ledc.c
字号:
#include"regx51.h"
#include"math.h"
#define uchar unsigned char
void delayms(uchar);
void display(void);
void result(uchar);
uchar code discode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80};
uchar data gsb[]={0,0,0,0,0,0};
sbit st=P3^1;
sbit oe=P3^2;
sbit eoc=P3^3;
void display(void){
uchar k;
uchar j;
uchar temp;
uchar dis_bit;
for(j=0;j<100;j++)
{
dis_bit=0x20;
for(k=0;k<6;k++)
{
temp=gsb[k];
if(k==0)
P0=discode[temp]|0x80;
else
P0=discode[temp];
P2=dis_bit;
delayms(45);
dis_bit=dis_bit>>1;
}
}
}
void result(uchar j){
uchar i;
int k;
k=5*j;
for(i=0;i<6;i++){
if(i==0)
gsb[i]=k/255;
else gsb[i]=k/255;
k=k%255;
k=k*10; // high bit will be saved at low adrees
}
}
void delayms(uchar n){
while(n--){
uchar i;
for(i=0;i<120;i++);
}
}
main(){
uchar k;
while(1){
st=1;
st=0;
do{
P3_4=!P3_4;
}
while(!eoc);
oe=1;
k=P1;
result(k);
display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -