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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機產生一個450khz,4.5V的pwm波的程序怎樣設初值

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

1.  #include<reg51.h>
2.  #define uint unsigned int//定義uint為無符號整形
3.  #define uchar unsigned char//宏定義,同上
4.   
5.  sbit PWM=P2^0;//  P2.0輸出pwm
6.  uchar time;  // 定義占空比的變量
7.   
8.  void main()
9.  {
10.      TMOD=0x01;//定時器0工作方式1
11.      TH0=?                           這兩個初值該怎樣設置
12.      TL0=?      
13.      EA=1;//開總中斷
14.      ET0=1;//開定時器0中斷
15.      TR0=1;//啟動定時器0
16.      while(1)
17.      {      
18.      }      
19. }
20.  
21. void tim0() interrupt 1
22. {
23.      TR0=0;//賦初值時,關閉定時器
24.      TH0=0xff;//(65536-100)/256;//賦初值定時
25.      TL0=0xf7;//(65536-100)%256;//0.01ms
26.      TR0=1;//打開定時器
27.  
28.      time++;
29.      if(time>=100)  //1khz
30.        time=0;  
31.      if(time<=30)   //占空比%30,可改
32.        PWM=1;  
33.      else PWM=0;
34. }

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

使用道具 舉報

沙發
ID:367369 發表于 2018-7-18 08:36 | 只看該作者
中斷里的th0 tl0與主函數要一致,450KHZ周期只有幾微妙吧,定時器指令時間都要耗費這么多,產生那么高的頻率估計有夠嗆
回復

使用道具 舉報

板凳
ID:373947 發表于 2018-7-18 11:33 | 只看該作者
TH0=?                            TL0=?
回復

使用道具 舉報

地板
ID:367963 發表于 2018-7-18 12:16 | 只看該作者
game灬boy 發表于 2018-7-18 08:36
中斷里的th0 tl0與主函數要一致,450KHZ周期只有幾微妙吧,定時器指令時間都要耗費這么多,產生那么高的頻 ...

那個主函數里面的忘了刪了,就是想知道頻率和初值設置的一個關系
回復

使用道具 舉報

5#
ID:367963 發表于 2018-7-18 12:17 | 只看該作者
哈瑟 發表于 2018-7-18 11:33
TH0=?                            TL0=?

等于多少呢?
回復

使用道具 舉報

6#
ID:264446 發表于 2018-7-18 13:00 | 只看該作者
親51單片機應該不能滿足你450khz的要求
回復

使用道具 舉報

7#
ID:370041 發表于 2018-7-18 13:43 | 只看該作者
要和下面的一樣        51單片機  正常一個定時器中斷滿時是65536us,  算一下你要定時的時間    就是你要減去的數字
回復

使用道具 舉報

8#
ID:373947 發表于 2018-7-18 14:16 | 只看該作者
TH0=(65536-1)/256;  TL0=(65536-1)%256; 這時應該把time>=100改為time>=2(這是時鐘頻率為12Mhz下,頻率應該是500KHZ,要得到450KHZ,你可以換個更大的晶振,計算方式和這一樣),表示中斷兩次如果要得到4.5V的PWM波需把占空比改為90%
回復

使用道具 舉報

9#
ID:373947 發表于 2018-7-18 14:40 | 只看該作者
換個21.6Mhz(或10.8Mhz)的晶振,TH0=(65536-4(2))/256;TL0=(65536-4(2))/256;PWM占空比改為90%
回復

使用道具 舉報

10#
ID:367963 發表于 2018-7-18 15:30 | 只看該作者
哈瑟 發表于 2018-7-18 14:40
換個21.6Mhz(或10.8Mhz)的晶振,TH0=(65536-4(2))/256;TL0=(65536-4(2))/256;PWM占空比改為90%

哇太感謝了
回復

使用道具 舉報

11#
ID:367963 發表于 2018-7-18 15:34 | 只看該作者
哈瑟 發表于 2018-7-18 14:40
換個21.6Mhz(或10.8Mhz)的晶振,TH0=(65536-4(2))/256;TL0=(65536-4(2))/256;PWM占空比改為90%

那么此時中斷還是2次嗎?
回復

使用道具 舉報

12#
ID:373947 發表于 2018-7-18 15:47 | 只看該作者
10.8Mhz是中斷兩次的,21.6Mhz是中斷四次的
回復

使用道具 舉報

13#
ID:374171 發表于 2018-7-18 16:06 | 只看該作者
TH0=(65536-4(2))/256;TL0=(65536-4(2))/256
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产精品一区二区久久 | 欧美高清一区 | 久久免费观看视频 | 欧美日韩中文在线 | 91porn国产成人福利 | 情侣av | 新av在线| 国产在线精品一区二区三区 | 91精品国产色综合久久 | 成人免费影院 | 一区精品视频 | 日韩国产中文字幕 | 国产1区在线 | 天天操网 | 激情亚洲 | 99国内精品久久久久久久 | 久久久久久国产 | 91久久 | 欧美日韩精品久久久免费观看 | av中文字幕在线播放 | 欧美成人一级视频 | 小h片免费观看久久久久 | 99精品视频在线 | 亚洲区中文字幕 | 99这里只有精品视频 | 美女拍拍拍网站 | 国产精品一区二区av | 黄色大片免费网站 | 色视频成人在线观看免 | 婷婷激情综合 | 午夜免费观看体验区 | 在线四虎 | 国产精品视频一区二区三区四区国 | 日韩在线播放中文字幕 | 欧美国产激情 | 日本一区二区三区免费观看 | 免费看国产精品视频 | 亚洲男人天堂av | 人人爽人人爽人人片av | 天堂一区在线 | 美女亚洲一区 |