adc0808-ledc.c

来自「关于单片机数摸转换的程序adc0808-ledc.c」· C语言 代码 · 共 68 行

C
68
字号
#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 + =
减小字号Ctrl + -
显示快捷键?