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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何產(chǎn)生PWM方波

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:497071 發(fā)表于 2019-4-5 17:07 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
STC8A8K64S4A12芯片,在P2.4管腳,需要產(chǎn)生一個1毫秒的方波,應(yīng)該用PWM方式,應(yīng)該怎么寫代碼呢?那位大神不吝賜教。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:310519 發(fā)表于 2019-4-6 12:03 | 只看該作者
使用單片機(jī)的外設(shè)一般要配置很多寄存器,還要計算一些參數(shù)。

下載它的數(shù)據(jù)手冊看看吧。

一MS,如果可以用定時器吧,比較簡單。
回復(fù)

使用道具 舉報

板凳
ID:155507 發(fā)表于 2019-4-6 12:12 | 只看該作者
我給你來個程序試試


  1. //STC8A8K64S4A12芯片,在PMW4/P2.4管腳,需要產(chǎn)生一個1毫秒的方波,用PWM方式

  2. #include "reg51.h"
  3. #include "intrins.h"

  4. //測試工作頻率為12.0000MHz

  5. sfr     P_SW2       =   0xba;
  6. sfr     PWMCFG      =   0xf1;
  7. sfr     PWMIF        =   0xf6;
  8. sfr     PWMFDCR     =   0xf7;
  9. sfr     PWMCR       =   0xfe;

  10. #define PWMC            (*(unsigned int volatile xdata *)0xfff0)
  11. #define PWMCKS          (*(unsigned char volatile xdata *)0xfff2)
  12. #define TADCP           (*(unsigned int volatile xdata *)0xfff3)
  13. #define PWM0T1          (*(unsigned int volatile xdata *)0xff00)
  14. #define PWM0T2          (*(unsigned int volatile xdata *)0xff02)
  15. #define PWM0CR          (*(unsigned char volatile xdata *)0xff04)
  16. #define PWM0HLD         (*(unsigned char volatile xdata *)0xff05)
  17. #define PWM1T1          (*(unsigned int volatile xdata *)0xff10)
  18. #define PWM1T2          (*(unsigned int volatile xdata *)0xff12)
  19. #define PWM1CR          (*(unsigned char volatile xdata *)0xff14)
  20. #define PWM1HLD         (*(unsigned char volatile xdata *)0xff15)
  21. #define PWM2T1          (*(unsigned int volatile xdata *)0xff20)
  22. #define PWM2T2          (*(unsigned int volatile xdata *)0xff22)
  23. #define PWM2CR          (*(unsigned char volatile xdata *)0xff24)
  24. #define PWM2HLD         (*(unsigned char volatile xdata *)0xff25)
  25. #define PWM3T1          (*(unsigned int volatile xdata *)0xff30)
  26. #define PWM3T2          (*(unsigned int volatile xdata *)0xff32)
  27. #define PWM3CR          (*(unsigned char volatile xdata *)0xff34)
  28. #define PWM3HLD         (*(unsigned char volatile xdata *)0xff35)
  29. #define PWM4T1          (*(unsigned int volatile xdata *)0xff40)
  30. #define PWM4T2          (*(unsigned int volatile xdata *)0xff42)
  31. #define PWM4CR          (*(unsigned char volatile xdata *)0xff44)
  32. #define PWM4HLD         (*(unsigned char volatile xdata *)0xff45)
  33. #define PWM5T1          (*(unsigned int volatile xdata *)0xff50)
  34. #define PWM5T2          (*(unsigned int volatile xdata *)0xff52)
  35. #define PWM5CR          (*(unsigned char volatile xdata *)0xff54)
  36. #define PWM5HLD         (*(unsigned char volatile xdata *)0xff55)
  37. #define PWM6T1          (*(unsigned int volatile xdata *)0xff60)
  38. #define PWM6T2          (*(unsigned int volatile xdata *)0xff62)
  39. #define PWM6CR          (*(unsigned char volatile xdata *)0xff64)
  40. #define PWM6HLD         (*(unsigned char volatile xdata *)0xff65)
  41. #define PWM7T1          (*(unsigned int volatile xdata *)0xff70)
  42. #define PWM7T2          (*(unsigned int volatile xdata *)0xff72)
  43. #define PWM7CR          (*(unsigned char volatile xdata *)0xff74)
  44. #define PWM7HLD         (*(unsigned char volatile xdata *)0xff75)

  45. void main()
  46. {
  47.     P_SW2 = 0x80;          //使能程序訪問STC8系列單片機(jī)內(nèi)的特殊功能寄存器(SFR)
  48.                                                         //占空比為(PWM4T2-PWM4T1)/PWMC
  49.     PWMCKS = 0x00;                              // PWM時鐘為系統(tǒng)時鐘
  50.     PWMC = 0x2EE0;                              //設(shè)置PWM周期為2EE0H個PWM時鐘
  51.     PWM4T1= 0x0000;                             //在計數(shù)值為00H地方輸出低電平
  52.     PWM4T2= 0x1770;                             //在計數(shù)值為1770H地方輸出高電平
  53.     PWM4CR= 0x80;                               //使能PWM4輸出
  54.     P_SW2 = 0x00;                                                            //禁止訪問XSFR

  55.     PWMCR = 0x80;                               //啟動PWM模塊

  56.     while (1);
  57. }


復(fù)制代碼
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产亚洲 | 亚洲视频自拍 | 妖精视频一区二区三区 | 一区二区三区欧美 | 高清国产午夜精品久久久久久 | 亚洲精品天堂 | av看看| 99久久精品免费看国产高清 | 午夜不卡福利视频 | 一区二区三区精品视频 | 国产精品视频久久久 | 国产一区二区三区www | 97视频久久 | 91 视频网站| 亚洲精品一区中文字幕乱码 | 欧美一区二区三区的 | 91麻豆精品国产91久久久更新资源速度超快 | 国产盗摄视频 | 欧美aaaa视频 | 亚洲 一区| 婷婷精品 | 在线观看国产wwwa级羞羞视频 | 天天操夜夜操 | 亚洲福利一区二区 | 亚洲精品一区中文字幕乱码 | 最新国产精品 | 久久久成人精品 | 国产精品美女久久久免费 | 亚洲 中文 欧美 日韩 在线观看 | 91在线看| 国产激情网 | 欧美性受xxxx白人性爽 | 亚洲国产精品视频一区 | 黑人精品欧美一区二区蜜桃 | 亚洲国产成人精品久久久国产成人一区 | 精品福利av导航 | 99精品观看| 一区二区三区精品在线视频 | 久久综合久久久 | 天天色综 | 久久久久久国产 |