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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2709|回復: 0
打印 上一主題 下一主題
收起左側

AT89S52單片機8按鍵8路舵機控制器源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:41770 發表于 2018-1-16 16:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

單片機源程序如下:
  1. /*舵機控制程序

  2. 8路舵機控制器  

  3. 芯片:AT89S52

  4. 晶振:12MHz

  5. ===================================================================================*/

  6. #include<config.h>

  7. #define uint8  unsigned char

  8. #define uint16 unsigned int



  9. sbit key1=P3^2;

  10. sbit key2=P3^3;

  11. //PWM的輸出端口

  12. sbit PWM_OUT0=P5^4;    //key1,key2

  13. sbit PWM_OUT1=P5^5;

  14. sbit PWM_OUT2=P0^2;

  15. sbit PWM_OUT3=P0^3;

  16. sbit PWM_OUT4=P0^4;

  17. sbit PWM_OUT5=P0^5;

  18. sbit PWM_OUT6=P0^6;

  19. sbit PWM_OUT7=P0^7;



  20. //PWM的數據值

  21. uint16 PWM_Value[8]={1500,1000,1500,1000,1750,2000,2500,2000}; uint8 order1;  //定時器掃描序列

  22. /*===================================================================================

  23.     定時器T0的中斷服務程序

  24.     一個循環20MS  = 8*2.5ms

  25. =====================================================================================*/

  26. void timer0(void) interrupt 1 using 1

  27. {

  28. switch(order1)

  29. {

  30. case 1:  PWM_OUT0=1;

  31.           TH0=-PWM_Value[0]/256;

  32.           TL0=-PWM_Value[0]%256;

  33.           break;

  34. case 2:  PWM_OUT0=0;        

  35.           TH0=-(2700-PWM_Value[0])/256;

  36.           TL0=-(2700-PWM_Value[0])%256;

  37.           break;

  38. case 3:  PWM_OUT1=1;

  39.           TH0=-PWM_Value[1]/256;

  40.           TL0=-PWM_Value[1]%256;

  41.           break;

  42. case 4:  PWM_OUT1=0;

  43.           TH0=-(2700-PWM_Value[1])/256;

  44.           TL0=-(2700-PWM_Value[1])%256;

  45.           break;

  46. case 5:  PWM_OUT2=1;

  47.           TH0=-PWM_Value[2]/256;

  48.           TL0=-PWM_Value[2]%256;

  49.           break;

  50. case 6:  PWM_OUT2=0 ;

  51.           TH0=-(2700-PWM_Value[2])/256;

  52.           TL0=-(2700-PWM_Value[2])%256;

  53.           break;

  54. case 7:  PWM_OUT3=1;

  55.           TH0=-PWM_Value[3]/256;

  56.           TL0=-PWM_Value[3]%256;

  57.           break;

  58. case 8:  PWM_OUT3=0;

  59.           TH0=-(2700-PWM_Value[3])/256;

  60.           TL0=-(2700-PWM_Value[3])%256;

  61.           break;

  62. case 9:  PWM_OUT4=1;

  63.           TH0=-PWM_Value[4]/256;

  64.           TL0=-PWM_Value[4]%256;  
  65.                    break;

  66. case 10: PWM_OUT4=0;

  67.           TH0=-(2700-PWM_Value[4])/256;

  68.           TL0=-(2700-PWM_Value[4])%256;

  69.           break;

  70. case 11: PWM_OUT5=1;

  71.           TH0=-PWM_Value[5]/256;

  72.           TL0=-PWM_Value[5]%256;

  73.           break;

  74. case 12: PWM_OUT5=0;

  75.           TH0=-(2700-PWM_Value[5])/256;

  76.           TL0=-(2700-PWM_Value[5])%256;

  77.           break;

  78. case 13: PWM_OUT6=1;

  79.           TH0=-PWM_Value[6]/256;

  80.           TL0=-PWM_Value[6]%256;

  81.           break;

  82. case 14: PWM_OUT6=0;

  83.           TH0=-(2700-PWM_Value[6])/256;

  84.           TL0=-(2700-PWM_Value[6])%256;

  85.           break;

  86. case 15: PWM_OUT7=1;

  87.           TH0=-PWM_Value[7]/256;

  88.           TL0=-PWM_Value[7]%256;

  89.           break;

  90. case 16: PWM_OUT7=0;

  91.           order1=0;

  92.           TH0=-(2700-PWM_Value[7])/256;

  93.           TL0=-(2700-PWM_Value[7])%256;

  94.           order1=0;

  95.           break;

  96.           default : order1=0;

  97.     }

  98.     order1++;

  99. }

  100. /*===================================================================================

  101. 初始化中斷   

  102. =====================================================================================*/

  103. void InitPWM(void)

  104. {

  105.    order1=1;

  106.    TMOD |=0x11;

  107.    TH0=-1500/256;    TL0=-1500%256;

  108.    EA=1;

  109.    EX0=0;

  110.    ET0=1; TR0=1;PT0=1;PX0=0;

  111. }



  112. void delay(void)

  113. {

  114.   uint16 i=100;

  115.   while(i--);

  116. }



  117. void main(void)

  118. {

  119. ……………………

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

所有資料51hei提供下載:
ok_8按鍵8路舵機控制器.rar (63.79 KB, 下載次數: 34)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区不卡 | 亚洲综合无码一区二区 | 欧美中文字幕在线观看 | 欧美午夜精品久久久久免费视 | 欧美成人免费在线 | 中文字幕一区二区三区日韩精品 | av在线一区二区三区 | 国产精品美女久久久av超清 | 国产99免费视频 | 日韩精品免费在线观看 | 亚洲精品中文字幕在线观看 | 黑人成人网 | 97久久精品午夜一区二区 | 91精品国产91久久久久游泳池 | 一级a爱片性色毛片免费 | 久久久精品一区二区三区 | 人人九九精 | 国产精品视频免费看 | 色综合一区二区 | 99国产在线 | 成人夜晚看av | 羞羞视频在线观看免费观看 | 狠狠操操| 亚洲高清中文字幕 | 一区二区免费 | 中文字幕在线免费观看 | 黄色免费网站在线看 | 亚洲精品三级 | 久久精品一区二区 | 欧美极品在线播放 | 亚洲在线久久 | 国产片一区二区三区 | 中文字幕日韩欧美一区二区三区 | 久久久久久黄 | 天天干视频 | 中文字幕欧美日韩 | 久久91av | 国产成人福利在线 | 国产精品xxxx | 谁有毛片 | 精品一二三 |