锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

## 51单片机通过模拟PWM信号输出,利用光敏电阻控制led10

时间:2023-11-06 00:07:01 光敏电阻加什么能控制灯

通过模拟PWM信号输出由光敏电阻控制led10

#include #include  #define uchar unsigned char #define uint unsigned int #define AIN0 0xb4; ///光敏电阻  sbit CS = P3^7; sbit DCLK = P2^1; sbit DIN =  P2^0; sbit DOUT = P2^5; sbit DU = P2^6;///数码管段选择 sbit WE = P2^7;///数码管段选择 sbit DAC_DATA = P4^4;  uchar code SMGduan[]= { 
        0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,}; uchar code SMGwei[] = { 
        0xfe, 0xfd, 0xfb, 0xf7}; uchar pwm_t,DAC_VAL;  void timer0Init() { 
             EA = 1;     TR0 =1;     ET0 = 1;     TMOD = 0X02;     TH0 = 220;     TL0 = 220;/span> } void SPIWrite(uint DAT) //DCLK上升沿发送数据 { 
          uchar i; for( i = 0; i<8;i++) { 
          DCLK = 0; if(DAT & 0x80) DIN = 1; else DIN = 0; DAT <<= 1; DCLK = 1 ; } } uint SPIRead() { 
          uchar i; uint DAT; for(i = 0; i<12;i++) { 
          DAT <<= 1; DCLK = 1; DCLK = 0; if(DOUT) { 
          DAT |= 0x01; } } return DAT; } uint ReadAD(uint cmd) { 
          uint DAT; CS = 0; SPIWrite(cmd); DCLK = 0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); DAT = SPIRead(); CS = 1; return (DAT); } void display(uint i) { 
          uchar q, b, s, g; static uchar wei; q = i / 1000; b = i % 1000 / 100; s = i % 100 / 10; g = i % 10; P0 = 0XFF;//清除断码 WE = 1;//打开位选存器 P0 = SMGwei[wei]; WE = 0;//锁存位选数据 P0 = 0XFF;//清除断码 switch(wei) { 
          case 0: DU = 1; P0 = SMGduan[q] ; DU = 0; break;//0x80加上小数点 case 1: DU = 1; P0 = SMGduan[b]; DU = 0; break; case 2: DU = 1; P0 = SMGduan[s]; DU = 0; break; case 3: DU = 1; P0 = SMGduan[g]; DU = 0; break; } wei++; if(wei == 4) wei = 0; } void delayms(uchar xms) { 
          uchar i,j; for(i = xms;i>0; i--) for(j = 110;j>0;j--); } void main() { 
          uchar i; uint vol; timer0Init(); while(1) { 
          if(i >= 100) { 
          i = 0; vol = ReadAD(0x94); //传出12进制 DAC_VAL = vol / 16; } display(vol); i++; } } void time0() interrupt 1 { 
          pwm_t++; if(pwm_t <= DAC_VAL) DAC_DATA = 1; else DAC_DATA = 0; } 
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章