久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開(kāi)始

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

呼吸燈程序,51單片機(jī)模擬PWM輸出

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
前段時(shí)間寫(xiě)了一個(gè)使用51單片機(jī)對(duì)SG90玩具舵機(jī)的連續(xù)旋轉(zhuǎn)控制程序。今天突發(fā)奇想,將該程序稍作調(diào)整,改為呼吸燈控制程序,分享一下,大家可以根據(jù)這個(gè)程序再做改動(dòng),使其更加完善。
呼吸燈的PWM輸出引腳為51單片機(jī)的P0.0引腳,接發(fā)光二極管正極。


單片機(jī)源程序如下:
  1. // 呼吸燈程序,51單片機(jī)模擬PWM輸出
  2. // 使用單片機(jī)STC89C51
  3. // 晶振:11.0592M
  4. // 編譯環(huán)境 Keil uVision2
  5. ////////////////////////////////////////////////
  6. #include <reg52.h>
  7. #define uint unsigned int
  8. uint count,i,j;
  9. sbit pwm=P0^0 ;                  //信號(hào)輸出引腳P00
  10. void pwm100us(uint);  //20ms周期pwm模型函數(shù),函數(shù)變量是0.1ms高電平的整數(shù)倍
  11. void delay100ms();
  12. ////////////////////////////////////////////////
  13. void main()
  14. {
  15.    EA=1;                             //打開(kāi)總中斷
  16.    TMOD=0x10;                     //定時(shí)器工作方式寄存器初始化TMOD=0001 0000B(T1為16位計(jì)時(shí)模式)
  17.    while(1)
  18.       {
  19.              i=0;
  20.                  j=199;
  21.                  for(i=0;i<199;i++)          //占空比從100%遞減至0
  22.                     {
  23.                             pwm100us(i);
  24.                         }
  25.                  pwm=1;
  26.                  delay100ms();
  27.                  for(j=199;j>0;j--)          //占空比從100%遞減至0
  28.                     {
  29.                             pwm100us(j);
  30.                         }
  31.                  pwm=0;
  32.                  delay100ms();
  33.           }
  34. }
  35. //////////////////////////////////////////////
  36. void pwm100us(uint x)
  37. { uint y;
  38.   pwm=1;                          //輸出信號(hào)高電平
  39.   while(count<x)           //下面是單次100us的計(jì)時(shí),利用循環(huán)函數(shù)產(chǎn)生100*x us的高電平
  40.   {
  41.       TF1=0;                   //初始化定時(shí)器1溢出標(biāo)記位
  42.           TH1=0xff;                   //初始化定時(shí)器1高位寄存器
  43.       TL1=0xa4;                   //初始化定時(shí)器1低位寄存器
  44.       TR1=1;                   //定時(shí)器1開(kāi)始計(jì)時(shí)
  45.       while(TF1==0);        //等待定時(shí)器1溢出
  46.       count++;     
  47.   }
  48.   count=0;
  49.   y=(200-x);                  //給出y與x的關(guān)系
  50.   pwm=0;                          //輸出信號(hào)低電平
  51.   while(count<y)         
  52.   {
  53.       TF1=0;
  54.           TH1=0xff;
  55.       TL1=0xa4;
  56.       TR1=1;
  57.       while(TF1==0);
  58.       count++;     
  59.   }
  60.   count=0;
  61. }
  62. /////////////////////////////////////////////
  63. void delay100ms()
  64. {
  65.     unsigned char a,b;
  66.     for(b=221;b>0;b--)
  67.         for(a=207;a>0;a--);
  68. }
復(fù)制代碼

所有資料51hei提供下載:
呼吸燈hex文件和C程序.zip (1.36 KB, 下載次數(shù): 64)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:609652 發(fā)表于 2019-9-9 18:54 | 只看該作者
能發(fā)一下仿真圖嗎?謝謝。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品欧美一区二区三区 | 国产精品精品3d动漫 | 天天射网站 | 精品一区二区视频 | 香蕉婷婷 | 成人欧美一区二区三区在线播放 | 免费在线观看成人av | 国产日韩av一区二区 | 国产精品久久久久久久久免费丝袜 | 欧美视频网| 日韩一区二区三区视频在线播放 | 日韩精品免费一区二区在线观看 | 成人亚洲在线 | 国产高清在线 | 日本三级电影在线观看视频 | 日韩a视频 | 亚洲高清在线视频 | 国产精品亚洲片在线播放 | 在线一区二区三区 | 国产成人精品网站 | 视频精品一区 | 成人国产一区二区三区精品麻豆 | 国产精品二区三区 | 精品国产欧美一区二区 | 九九久久国产精品 | 青青草一区 | 亚洲欧美国产毛片在线 | 97伦理| 日本小视频网站 | 日韩a在线 | av在线一区二区三区 | 亚洲视频欧美视频 | 人人干人人超 | 日韩欧美综合 | 精品国产一区二区三区日日嗨 | 欧美一区二区视频 | 国产一级在线观看 | 亚洲一区二区三区高清 | 国产精品日韩一区二区 | 精品一区二区av | 国产人成在线观看 |