标题: ADC0808 PWM实验(资源共享) [打印本页]

作者: ttl12138    时间: 2019-7-24 11:55
标题: ADC0808 PWM实验(资源共享)
  1. /***************   writer:shopping.w   ******************/
  2. #include <reg52.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char

  5. sbit CLK = P2^4;
  6. sbit ST  = P2^5;
  7. sbit EOC = P2^6;
  8. sbit OE  = P2^7;
  9. sbit PWM = P3^0;

  10. void DelayMS(uint ms)
  11. {
  12.         uchar i;
  13.         while(ms--)
  14.         {
  15.                  for(i=0;i<120;i++);
  16.         }
  17. }

  18. void main()
  19. {
  20.         uchar Val;
  21.         TMOD = 0x02;
  22.         TH0 = 0x14;
  23.         TL0 = 0x00;
  24.         IE  = 0x82;
  25.         TR0 = 1;
  26.         while(1)
  27.         {
  28.                  ST = 0;
  29.                 ST = 1;
  30.                 ST = 0;
  31.                 while(!EOC);
  32.                 OE  = 1;
  33.                 Val = P1;
  34.                 OE  = 0;
  35.                 if(Val == 0)
  36.                 {
  37.                          PWM = 0;
  38.                         DelayMS(0xff);
  39.                         continue;
  40.                 }
  41.                 if(Val == 0xff)
  42.                 {
  43.                          PWM = 1;
  44.                         DelayMS(0xff);
  45.                         continue;
  46.                 }
  47.                 PWM = 1;
  48.                 DelayMS(Val);
  49.                 PWM = 0;
  50.                 DelayMS(0xff - Val);
  51.         }
  52. }

  53. void Timer0_INT() interrupt 1
  54. {
  55.         CLK = !CLK;
  56. }
复制代码







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1