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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請教大家,51單片機(jī)10us中斷一次,能來得及執(zhí)行其它程序嗎

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:282726 發(fā)表于 2024-3-27 10:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
C51單片機(jī),晶振用12M

void init()     //初始化函數(shù)
{
        TMOD=0X01;  //工作模式選擇
        TH0=(65535-10)/256;   //高位裝載初始值
        TL0=(65535-10)%256;   //低位裝載初始值
        EA=1;                 //開總中斷
        ET0=1;                //開定時(shí)器0中斷
        TR0=1;                                 //啟動(dòng)定時(shí)器0


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

使用道具 舉報(bào)

沙發(fā)
ID:282726 發(fā)表于 2024-3-27 10:28 | 只看該作者
我做了個(gè)PWM控制LED的亮度,想讓燈慢慢亮下來
回復(fù)

使用道具 舉報(bào)

板凳
ID:1109793 發(fā)表于 2024-3-27 10:29 | 只看該作者
12M,12T,10US?應(yīng)該干不了啥了吧,主頻提到22M,改為1T,興許還能干點(diǎn)
回復(fù)

使用道具 舉報(bào)

地板
ID:1109793 發(fā)表于 2024-3-27 10:45 | 只看該作者
rebios 發(fā)表于 2024-3-27 10:28
我做了個(gè)PWM控制LED的亮度,想讓燈慢慢亮下來

硬件PWM還是軟件的?頻率不需要那么高啊
回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2024-3-27 11:09 | 只看該作者
PWM占空比0-100,100-200us中斷就行,10us中斷基本玩不轉(zhuǎn)。
回復(fù)

使用道具 舉報(bào)

6#
ID:1110945 發(fā)表于 2024-3-27 12:33 | 只看該作者
那就要看你的程序怎么寫了,你想玩PWM放著高級定時(shí)器不用非要用T0完成
PWM的任務(wù)。T0只能軟件模擬,這樣要花費(fèi)很多的CPU的時(shí)間,而且最窄
脈沖做不到1個(gè)時(shí)鐘。
如果用高級定時(shí)器來做那就不同了,10uS就是120個(gè)時(shí)鐘,CPU只需要在“更新”
中斷里寫一下下個(gè)周期的脈寬值就好了,120個(gè)時(shí)鐘里面還有大部分的時(shí)間CPU
還可以做其它的任務(wù)。
回復(fù)

使用道具 舉報(bào)

7#
ID:401564 發(fā)表于 2024-3-27 12:43 | 只看該作者
10uS一次中斷,如果中斷執(zhí)行時(shí)間再有個(gè)10uS的話,效率就慢一半了,影響很大的,它不是說做不了什么事,而是慢,而且是慢到“一卡一卡”的那種情況
比如你按鍵按一下就開燈,10uS中斷可能就是按下按鍵之后,好幾秒才能開燈的那種
如果是要用到PWM,可以用片上的PWM
實(shí)在沒有或者是非得用定時(shí)器不可的話,可以把燈的頻率調(diào)到200HZ,感覺上有一點(diǎn)點(diǎn)閃頻,但也能接受
定時(shí)器PWM只做10級的占空比調(diào)節(jié),那就可以了
回復(fù)

使用道具 舉報(bào)

8#
ID:402383 發(fā)表于 2024-3-27 13:46 | 只看該作者
Y_G_G 發(fā)表于 2024-3-27 12:43
10uS一次中斷,如果中斷執(zhí)行時(shí)間再有個(gè)10uS的話,效率就慢一半了,影響很大的,它不是說做不了什么事,而是 ...

我最近一次項(xiàng)目也遇到過這個(gè)情況:電機(jī)驅(qū)動(dòng)芯片建議10K以上的PWM頻率,10KHZ對應(yīng)是100us的PWM周期,然后在調(diào)試電機(jī)功能時(shí)發(fā)現(xiàn)調(diào)速有卡頓。后面排查問題就定位到是主程序跟中斷服務(wù)程序有沖突導(dǎo)致的異常。

當(dāng)初做MCU選型的時(shí)候沒考慮到這一點(diǎn),所以沒選帶有PWM功能的型號,嗐。
吃一塹長一智,下一批次就準(zhǔn)備用STC8H系列來調(diào)試。
回復(fù)

使用道具 舉報(bào)

9#
ID:1034262 發(fā)表于 2024-3-27 21:59 | 只看該作者
可以執(zhí)行幾個(gè)us的程序。
回復(fù)

使用道具 舉報(bào)

10#
ID:235438 發(fā)表于 2024-3-27 23:08 | 只看該作者
10u的話,完全沒有問題,不過你要是玩pwm,10u周期,100可調(diào),這1ms了,相當(dāng)于1k的頻率.這種pwm使用有限吧,最好用硬件pwm,現(xiàn)在基本都有,寄存器一設(shè)置,自動(dòng)發(fā)指定頻率,指定占空比,方便的一批
回復(fù)

使用道具 舉報(bào)

11#
ID:1088185 發(fā)表于 2024-3-28 00:04 | 只看該作者
10us 中斷間隔是否可行,取決于你的中斷程序,你不貼中斷程式只貼初始化的代碼是啥意思?
回復(fù)

使用道具 舉報(bào)

12#
ID:420836 發(fā)表于 2024-3-28 06:26 | 只看該作者
這取決于其他任務(wù)是否嚴(yán)重依賴于時(shí)間。
回復(fù)

使用道具 舉報(bào)

13#
ID:282726 發(fā)表于 2024-3-29 09:58 | 只看該作者
謝謝樓上各位的回復(fù)
采用的是STC15W104,沒有硬件PWM,用軟件來模擬,我試了,燈可以慢慢亮下來或暗下來

void  Time0() interrupt 1 //中斷函數(shù)
{
        TH0=(65536-10)/256;   //裝載初值
        TL0=(65536-10)%256;   //裝載初值
        num++;                //10us中斷一次 num 加1
        if(num==100)          //判斷num 值  是否等于100 如果等于100 說明1ms時(shí)間到 也就相當(dāng)于定時(shí)為1KHZ頻率
        {
                num=0;            //將num值清零
        }
        pwm_print();           //調(diào)用PWM函數(shù)
        pwm_print1();           //調(diào)用PWM函數(shù)
}
回復(fù)

使用道具 舉報(bào)

14#
ID:282726 發(fā)表于 2024-3-29 10:10 | 只看該作者
祥子陳 發(fā)表于 2024-3-27 23:08
10u的話,完全沒有問題,不過你要是玩pwm,10u周期,100可調(diào),這1ms了,相當(dāng)于1k的頻率.這種pwm使用有限吧,最好用 ...

謝謝
程序就是這樣設(shè)計(jì)的,10us周期,100可調(diào),工作頻率1K,依靠延時(shí)程序,燈能一級一級亮下來。
但是有個(gè)問題,LED的亮度是非線性,一開始亮度變化特別大,后來就基本感覺不出來了。
回復(fù)

使用道具 舉報(bào)

15#
ID:282726 發(fā)表于 2024-3-29 10:16 | 只看該作者
感謝各位,程序就是拷貝自本壇的。
程序可以正常運(yùn)行,后來我嫌100級調(diào)光,檔位還是太少,改成1000級調(diào)光,芯片用STC15W104,控制BP2838 LED電源。晶體還是12M默認(rèn)。仍能正常工作,程序改成下面這樣。
我現(xiàn)在魚缸就正在用這個(gè)燈照明,每天從不亮到最亮,將近要一個(gè)小時(shí),模擬自然光。

void  Time0() interrupt 1 //中斷函數(shù)
{
        TH0=(65536-1)/256;   //裝載初值
        TL0=(65536-1)%256;   //裝載初值
        num++;                //1us中斷一次 num 加1
        if(num==1000)          //1KHZ頻率
        {
                num=0;            //將num值清零
        }
        pwm_print();           //調(diào)用PWM函數(shù)
        pwm_print1();           //調(diào)用PWM函數(shù)
}
回復(fù)

使用道具 舉報(bào)

16#
ID:525244 發(fā)表于 2024-3-29 10:36 來自觸屏版 | 只看該作者
燈慢慢亮下來?眼睛看?需要那么快的頻率?1毫秒調(diào)一次,眼睛能分辨出來?你知道變得很快和看出來變不一樣。能看出來就行,那么快有啥用?
回復(fù)

使用道具 舉報(bào)

17#
ID:1088185 發(fā)表于 2024-3-29 20:41 | 只看該作者
以你貼出來的中斷程序,估計(jì)CPU是12T, 加上這種寫法10us肯定是不夠的,不用想了
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩在线免费 | 久久久久国产精品一区二区 | 精品亚洲一区二区三区四区五区 | 在线a视频网站 | 午夜影院操 | 日韩aⅴ片 | 精品91久久 | 狠狠操天天操 | 亚洲vs天堂 | 日韩av一区二区在线观看 | 日本免费一区二区三区视频 | 久久久久国产一区二区三区四区 | 在线看一区二区 | 超碰在线人 | 欧美在线高清 | 国产精品久久久久久久久久 | 久久亚洲一区二区三区四区 | 色婷婷一区二区三区四区 | 成人精品一区二区三区 | 久久高清 | 鲁视频 | 久久精品一级 | 亚洲精品久久久一区二区三区 | 992tv人人草| 国产精品免费一区二区三区 | 国产在线观看福利 | 午夜婷婷激情 | 国产精品久久久久久久久久久免费看 | 免费国产视频在线观看 | 久久久xx | 四虎最新视频 | 欧美簧片 | 中文字幕福利视频 | 国产精品毛片 | 国产a区 | 久久一区二区三区四区 | 国产成人麻豆免费观看 | 成人h动漫精品一区二区器材 | h在线播放 | 浮生影院免费观看中文版 | 欧美日韩高清一区 |