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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14944|回復: 10
收起左側

51單片機PWM調試LED呼吸燈程序-經典例程

  [復制鏈接]
ID:233281 發表于 2017-9-16 16:04 | 顯示全部樓層 |閱讀模式
51單片機利用PWM調試LED顯示經典例程
PWM控制LED亮度.jpg
單片機源程序如下:
  1. /*********************************************************************************
  2. * 【編寫時間】: 12月2日
  3. * 【作    者】: 清翔電子:03
  4. * 【版    本】: 1.0
  5. * 【實驗平臺】: QX-MCS51 單片機開發板 & QX-A51智能小車
  6. * 【外部晶振】: 11.0592mhz       
  7. * 【主控芯片】: STC89C52
  8. * 【編譯環境】: Keil μVisio4
  9. * ********************************【接線說明】********************************
  10.              以下"A_"表示智能小車底板~~~"B_"表示開發板     
  11. *開發板供電線  :A_J5-VCC~~~B_VCC或5V0    A_J6-GND~~~B_GND (一共使用2根杜邦線)
  12. *電機控制線    :A_J10-P1.2至P1.7 對應接到B_P1.2至P1.7 (一共使用6根杜邦線)
  13. *避障尋跡反饋線:A_J11-P3.2至P3.5 對應接到B_P3.2至P3.5 (一共使用4根杜邦線)
  14. ******************************************************************************
  15. * 【程序功能】:QX-A51智能小車紅外避障(跟隨障礙物)                                                                                   
  16. * 【使用說明】:接線無誤后,燒寫程序打開電源開、按下S2按鍵后蜂鳴器發出提示音1秒后啟動小車
  17. * 【注意事項】:避免小車撞向障礙物或小車輪子堵轉,小車電壓不能低于6V
  18.                                 1、不能在自然光強烈的條件下進行試驗
  19.                                 2、進行試驗前必須調節好避障探頭
  20.                                 3、必須先搭建好實驗環境(參考相關視頻教程)
  21.                                 4、此程序只做參考,實際運行效果需根據不同實驗場地進行不同調試
  22. **********************************************************************************/
  23. #include <reg52.h> //51頭文件
  24. #include <..\CONFIG\QXA51.h>//QX-A51智能小車配置文件
  25. unsigned char pwm_left_val = 160;//左電機占空比值 取值范圍0-170,0最快
  26. unsigned char pwm_right_val = 160;//右電機占空比值取值范圍0-170 ,0最快
  27. unsigned char pwm_t;//周期

  28. void delay(unsigned int z)//毫秒級延時
  29. {
  30.         unsigned int x,y;
  31.         for(x = z; x > 0; x--)
  32.                 for(y = 114; y > 0 ; y--);
  33. }       
  34. /*小車前進*/
  35. void forward()
  36. {
  37.         left_motor_go; //左電機前進
  38.         right_motor_go; //右電機前進
  39. }
  40. /*小車左轉*/
  41. void left_run()
  42. {
  43.         left_motor_stops; //左電機停止
  44.         right_motor_go; //右電機前進       
  45. }
  46. /*小車右轉*/
  47. void right_run()
  48. {
  49.         right_motor_stops;//右電機停止
  50.         left_motor_go;    //左電機前進
  51. }

  52. //定時器0中斷
  53. void timer0() interrupt 1
  54. {
  55.         pwm_t++;//周期計時加
  56.         if(pwm_t == 255)
  57.                 pwm_t = EN1 = EN2 = 0;
  58.         if(pwm_left_val == pwm_t)//左電機占空比       
  59.                 EN1 = 1;               
  60.         if(pwm_right_val == pwm_t)//右電機占空比
  61.                 EN2 = 1;                         
  62. }
  63. void main()
  64. {
  65.         for(;;)        //死循環
  66.         {
  67.                 if(key_s2 == 0)// 實時檢測S2按鍵是否被按下
  68.                 {
  69.                         delay(5); //軟件消抖
  70.                         if(key_s2 == 0)//再檢測S2是否被按下
  71.                         {
  72.                                 while(!key_s2);//松手檢測
  73.                                 beep = 0;        //使能有源蜂鳴器
  74.                                 delay(200);//200毫秒延時
  75.                                 beep = 1;        //關閉有源蜂鳴器
  76.                                 break;                //退出FOR死循環
  77.                         }
  78.                 }
  79.         }
  80.         delay(1000);//延時1秒
  81.         TMOD |= 0x02;//8位自動重裝模塊
  82.         TH0 = 220;
  83.         TL0 = 220;//11.0592M晶振下占空比最大比值是256,輸出100HZ
  84.         TR0 = 1;//啟動定時器0
  85.         ET0 = 1;//允許定時器0中斷
  86.         EA        = 1;//總中斷允許
  87.         while(1)
  88.         {
  89.                 //為0 識別障礙物 為1沒有識別到障礙物
  90.                 if(left_led2 == 0 && right_led2 == 0)//左右識別到障礙物,前進跟隨
  91.                 {
  92.                         forward();//前進
  93.                 }
  94.                 if(left_led2 == 1 && right_led2 == 0)//小車右側識別到障礙物,右轉跟隨
  95.                 {
  96.                         right_run();//右轉
  97.                 }
  98.                 if(left_led2 == 0 && right_led2 == 1)//小車左側識別到障礙物,左轉跟隨
  99.                 {
  100.                         left_run();//左轉

  101.                 …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
PWM調試LED燈顯示.zip (808.25 KB, 下載次數: 147)


評分

參與人數 2黑幣 +53 收起 理由
艾迪科特 + 3 很給力!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:349454 發表于 2018-6-11 16:59 | 顯示全部樓層
沒有Proteus仿真圖,建議附件上以源程序+原理圖+Proteus仿真圖的形式發表會讓此帖子更有實用性
回復

使用道具 舉報

ID:319888 發表于 2018-6-12 16:31 | 顯示全部樓層
看看,學習學習
回復

使用道具 舉報

ID:350462 發表于 2018-6-12 17:21 | 顯示全部樓層
不建議完全變暗的呼吸,
回復

使用道具 舉報

ID:350462 發表于 2018-6-12 17:22 | 顯示全部樓層
完全變暗的呼吸燈不好看,保留一點亮燈,效果更好看
回復

使用道具 舉報

ID:409028 發表于 2018-11-13 10:44 | 顯示全部樓層

完全變暗的呼吸燈不好看,保留一點亮燈,效果更好看
回復

使用道具 舉報

ID:425684 發表于 2018-11-13 16:04 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:417804 發表于 2018-11-23 08:13 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:612528 發表于 2020-2-8 21:39 | 顯示全部樓層
你這個附件中的程序不是呼吸燈的
回復

使用道具 舉報

ID:259035 發表于 2020-2-10 09:58 | 顯示全部樓層
樓主好厲害是怎么實現的?
回復

使用道具 舉報

ID:713781 發表于 2020-4-8 16:03 | 顯示全部樓層
有仿真工程或電路嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品久久久蜜桃网站 | 色婷婷综合久久久中字幕精品久久 | caoporn国产| 免费看啪啪网站 | 免费观看一级特黄欧美大片 | 中文字幕日韩三级 | 日韩精品成人一区二区三区视频 | 黑人巨大精品欧美一区二区免费 | 91视频国产精品 | 欧美精品91爱爱 | 91看片视频 | 91精品国产综合久久久久 | 欧美一区不卡 | 久久亚洲国产精品日日av夜夜 | 国产中文视频 | 第一区在线观看免费国语入口 | 欧美精品久久久 | 国产精品网址 | 美女久久 | 久草视频在线播放 | 一区福利视频 | 91精品国产91久久久久久三级 | 一区二区三区精品视频 | 97精品国产 | 中文字幕二区 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 91精品国产91久久久久久吃药 | www.久久| 精品91av | 国产乱码久久久久久 | 91久久久久 | 亚洲天堂免费在线 | 91精品一区 | 91久久久久久久 | 在线免费av观看 | 国产成人福利视频在线观看 | 手机av在线 | 99精品免费久久久久久日本 | 久草精品视频 | 91精品久久久久久久久久入口 | 亚洲欧美一区二区三区国产精品 |