找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1168|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ADC0808 PWM實(shí)驗(yàn)(資源共享)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:589455 發(fā)表于 2019-7-24 11:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  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. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表