欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求助!用51單片機計時器產生方波,可是改變不了占空比。

[復制鏈接]
跳轉到指定樓層
樓主
用C語言實現方波占空比的改變,占空比有5擋,循環5次,每次100ms,比如在x=3時,P1口先高電平300ms,然后低電平200ms。用外部中斷0讓x+1,外部中斷x-1。可是,仿真時無論如何占空比都是1:1,就是高電平和低電平的時間是一樣的,除了x=0和x=5的時候是一條直線。求助大佬幫忙看下,這是為什么。

2019-06-11_195054.png (44.18 KB, 下載次數: 46)

源程序

源程序

原理圖.png (24.21 KB, 下載次數: 42)

原理圖

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

使用道具 舉報

沙發
ID:123289 發表于 2019-6-12 08:54 | 只看該作者
本帖最后由 yzwzfyz 于 2019-6-13 08:22 編輯

1、用定時器做一個1T中斷。
2、設置一個周期寄存器C,假設你需要的周期是100T,你就讓C=100。
3、設置一個占空比寄存器P,假設你需要的占空比是70,你就讓P=70。
關鍵點(方案):
定時器每次中斷后將C-1,如果P<>0,再將P-1,否則P不動!
1、當C-1=0時,讓IO口置1,同時將C復成100、將P復成70;否則不處理。
2、當P-1=0時,讓IO口清0;否則不處理。
這樣IO口的輸出就如你所愿了。

更高級一點做成活的。
再增設兩個寄存器M,N,將程序中的100用M替代、70用N替代。

這樣你只要改變M、N的值就可以任意改變周期與占空比了。而且隨時改變!不過要保證M>N,這很容易吧。

關鍵不是看你的程序,而是看你的構思!你的程序有什么看頭。
如果你能理解并認為我的方案可行,你就試著寫寫程序。
回復

使用道具 舉報

板凳
ID:332444 發表于 2019-6-12 09:10 | 只看該作者
回復

使用道具 舉報

地板
ID:207421 發表于 2019-6-12 14:24 | 只看該作者
你這是不了解什么叫占空比吧, 百度一下吧, 多看看別人怎么寫的
回復

使用道具 舉報

5#
ID:541189 發表于 2019-6-12 16:44 來自觸屏版 | 只看該作者
好像沒有外部中斷觸發源,怎么觸發中斷???
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表