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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)定時(shí)器對(duì)數(shù)碼管的影響

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1084208 發(fā)表于 2023-7-5 17:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
當(dāng)我開(kāi)一個(gè)定時(shí)器去運(yùn)行數(shù)碼管的顯示時(shí),它是可以正常顯示的,但當(dāng)我開(kāi)兩個(gè)定時(shí)器時(shí),數(shù)碼管就不顯示了,我把二個(gè)定時(shí)器也試過(guò)了用4ms運(yùn)行一次,數(shù)碼管也同樣不顯示,只有當(dāng)屏蔽掉第二個(gè)定時(shí)器時(shí),數(shù)碼管才能正常顯示,在第二個(gè)定時(shí)器里面我沒(méi)有放任何東西,我想知道到底是不是我結(jié)構(gòu)的問(wèn)題,是否有人做過(guò)數(shù)碼管的框架,如果有,請(qǐng)指導(dǎo)我一下,我現(xiàn)在這邊做跑步機(jī)的速度顯示,一共有三個(gè)按鍵,一個(gè)按鍵是啟動(dòng)和停止,一個(gè)按鍵是速度上升,一個(gè)按鍵是速度下降。麻煩大伙幫我看看代碼,我的按鍵是ADC按鍵,然后顯示的函數(shù)都放到了main.c文件里面,顯示數(shù)碼管時(shí)我把賦值和段位選的函數(shù)分開(kāi)來(lái)了,謝謝~

f868f3e5b77b772990b19b2a15d14fb.png (22.52 KB, 下載次數(shù): 57)

f868f3e5b77b772990b19b2a15d14fb.png

222.PNG (69.07 KB, 下載次數(shù): 63)

222.PNG

20230706下午,可同時(shí)用兩個(gè)定時(shí)器且數(shù)碼管能正常顯示,T2定時(shí)器中斷刪掉數(shù)碼管不顯示.rar

106.89 KB, 下載次數(shù): 20

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

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2023-7-5 22:21 | 只看該作者
那么多警告,不先解決一下嗎?

回復(fù)

使用道具 舉報(bào)

板凳
ID:1085441 發(fā)表于 2023-7-6 00:05 | 只看該作者
我是盡量不用多個(gè)中斷,否則總有一些意外的問(wèn)題。
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2023-7-6 07:17 | 只看該作者
沒(méi)有認(rèn)真讀懂別人的模板,胡亂套用當(dāng)然玩不轉(zhuǎn)。
回復(fù)

使用道具 舉報(bào)

5#
ID:1084208 發(fā)表于 2023-7-6 08:41 | 只看該作者
cnfloatleaf 發(fā)表于 2023-7-6 00:05
我是盡量不用多個(gè)中斷,否則總有一些意外的問(wèn)題。

用兩個(gè)定時(shí)器就出現(xiàn)不顯示的現(xiàn)象,而且我還是一個(gè)定時(shí)器100us執(zhí)行一次,一個(gè)定時(shí)器2ms執(zhí)行一次,這樣都會(huì)影響到數(shù)碼管的顯示,想不通
回復(fù)

使用道具 舉報(bào)

6#
ID:1084208 發(fā)表于 2023-7-6 08:45 | 只看該作者
lkc8210 發(fā)表于 2023-7-5 22:21
那么多警告,不先解決一下嗎?

哦哦,這些剛剛解決,都是變量定義放在那不用,現(xiàn)在都刪了。很奇怪,定義兩個(gè)定時(shí)器,一個(gè)定時(shí)器100us執(zhí)行一次(這個(gè)放數(shù)碼管的顯示,每2ms就顯示一次,每50ms就賦值一次,這樣子人的眼睛察覺(jué)不到閃爍),另外一個(gè)定時(shí)器2ms執(zhí)行一次,但里面什么都沒(méi)放,但為什么有了這個(gè)定時(shí)器數(shù)碼管就不顯示了,這個(gè)我想不通。
回復(fù)

使用道具 舉報(bào)

7#
ID:161164 發(fā)表于 2023-7-6 11:03 | 只看該作者
時(shí)間煮雨我煮魚(yú) 發(fā)表于 2023-7-6 08:45
哦哦,這些剛剛解決,都是變量定義放在那不用,現(xiàn)在都刪了。很奇怪,定義兩個(gè)定時(shí)器,一個(gè)定時(shí)器100us執(zhí) ...

再上傳吧
回復(fù)

使用道具 舉報(bào)

8#
ID:1085441 發(fā)表于 2023-7-6 13:51 | 只看該作者
時(shí)間煮雨我煮魚(yú) 發(fā)表于 2023-7-6 08:41
用兩個(gè)定時(shí)器就出現(xiàn)不顯示的現(xiàn)象,而且我還是一個(gè)定時(shí)器100us執(zhí)行一次,一個(gè)定時(shí)器2ms執(zhí)行一次,這樣都會(huì) ...

用2個(gè)中斷和就要考慮2個(gè)中斷會(huì)發(fā)生沖突,你可否這樣試試?在一個(gè)中斷前暫時(shí)禁止另一個(gè)中斷,等中斷結(jié)束再回復(fù)該中斷使能,看看能不能解決問(wèn)題。
回復(fù)

使用道具 舉報(bào)

9#
ID:584814 發(fā)表于 2023-7-6 14:47 | 只看該作者
1、據(jù)說(shuō)有多個(gè)警告什么的,最好處理先;
2、一個(gè)定時(shí)器也可以定出多個(gè)時(shí)間;
3、不是每個(gè)器件都和說(shuō)明書(shū)講的一樣可靠。
回復(fù)

使用道具 舉報(bào)

10#
ID:1084208 發(fā)表于 2023-7-6 15:07 | 只看該作者

上傳了
回復(fù)

使用道具 舉報(bào)

11#
ID:1084208 發(fā)表于 2023-7-6 15:14 | 只看該作者

我現(xiàn)在把T2定時(shí)器的初始化屏蔽掉了,就是用個(gè)#if 0    #endif給他這樣屏蔽,奇怪的是,我不能刪掉T2定時(shí)器的中斷,不然數(shù)碼管就不會(huì)顯示,只有把T2定時(shí)器的中斷打開(kāi),才能讓他正常顯示,
就像下面這個(gè)
//定時(shí)器初始化
#if 0
T2MOD=0x00
T2CON=0x00
RCAP2H=(65536-10000)/256
RCAP2L=(65536-10000)%256
TR2=0
ET2=1;
TR2=1;
#endif

void timer2(void) interrupt 5  //這一個(gè)刪了數(shù)碼管就不會(huì)顯示
{

}
回復(fù)

使用道具 舉報(bào)

12#
ID:1084208 發(fā)表于 2023-7-6 16:08 | 只看該作者
man1234567 發(fā)表于 2023-7-6 14:47
1、據(jù)說(shuō)有多個(gè)警告什么的,最好處理先;
2、一個(gè)定時(shí)器也可以定出多個(gè)時(shí)間;
3、不是每個(gè)器件都和說(shuō)明書(shū) ...

有時(shí)候不處理會(huì)有什么情況嗎,因?yàn)槲伊?xí)慣不處理,都是一些變量沒(méi)有外部引用。
回復(fù)

使用道具 舉報(bào)

13#
ID:213173 發(fā)表于 2023-7-6 21:02 | 只看該作者
時(shí)間煮雨我煮魚(yú) 發(fā)表于 2023-7-6 16:08
有時(shí)候不處理會(huì)有什么情況嗎,因?yàn)槲伊?xí)慣不處理,都是一些變量沒(méi)有外部引用。


Buzzer()運(yùn)行時(shí)間在中斷函數(shù)中遠(yuǎn)遠(yuǎn)大于中斷周期,無(wú)論如何也不至于定10us中斷吧。你叫main函數(shù)如何運(yùn)行?還把極其簡(jiǎn)單的數(shù)碼管掃描代碼寫(xiě)得無(wú)比復(fù)雜,點(diǎn)陣屏也不至于如此。
/*****************************************************
*函數(shù)名稱(chēng):void Buzzer();
*函數(shù)功能:蜂鳴器
*入口參數(shù):void
*出口參數(shù):void
*****************************************************/
#if 1
void Buzzer()
{       
        if(beep_num)
        {
                beep_p = 1;
                delay_ms(60);
                beep_p = 0;
                beep_num--;
        }       
        else
        {
                beep_p =0;
        }       
}
#endif

/**************************************************
*函數(shù)名稱(chēng):void timer0/1/2() interrupt 1/3/5
*函數(shù)功能:定時(shí)器中斷產(chǎn)生方波
*入口參數(shù):void
*出口參數(shù):void
10us執(zhí)行一次
**************************************************/
void timer1() interrupt 3
{
        static unsigned char f_10us1 = 0,T_CNT = 0;
        if(++f_10us1 >= 1)   //10us運(yùn)行一次
        {
                f_10us1 = 0;
                f_10us = 1;
        }
        if(++T_CNT >= 2)     //20us運(yùn)行一次
        {
                T_CNT = 0;
                Buzzer();       
        }
       
}





回復(fù)

使用道具 舉報(bào)

14#
ID:1084208 發(fā)表于 2023-7-7 08:39 | 只看該作者
wulin 發(fā)表于 2023-7-6 21:02
Buzzer()運(yùn)行時(shí)間在中斷函數(shù)中遠(yuǎn)遠(yuǎn)大于中斷周期,無(wú)論如何也不至于定10us中斷吧。你叫main函數(shù)如何運(yùn)行 ...

這個(gè)delay_ms(60)不是真正的60ms,我就是在delay_ms()函數(shù)里面放個(gè)變量循環(huán)60次就跳出來(lái)了。
回復(fù)

使用道具 舉報(bào)

15#
ID:1084208 發(fā)表于 2023-7-7 08:41 | 只看該作者
wulin 發(fā)表于 2023-7-6 21:02
Buzzer()運(yùn)行時(shí)間在中斷函數(shù)中遠(yuǎn)遠(yuǎn)大于中斷周期,無(wú)論如何也不至于定10us中斷吧。你叫main函數(shù)如何運(yùn)行 ...

這個(gè)蜂鳴器函數(shù)去掉跟不去掉都沒(méi)有影響,之前試過(guò)了。
回復(fù)

使用道具 舉報(bào)

16#
ID:1084208 發(fā)表于 2023-7-7 08:42 | 只看該作者
wulin 發(fā)表于 2023-7-6 21:02
Buzzer()運(yùn)行時(shí)間在中斷函數(shù)中遠(yuǎn)遠(yuǎn)大于中斷周期,無(wú)論如何也不至于定10us中斷吧。你叫main函數(shù)如何運(yùn)行 ...

現(xiàn)在能正常顯示了,我發(fā)的這份代碼,只是不太理解T2定時(shí)器的中斷必須打開(kāi),不打開(kāi)的話就會(huì)不顯示
回復(fù)

使用道具 舉報(bào)

17#
ID:1084208 發(fā)表于 2023-7-7 08:52 | 只看該作者
wulin 發(fā)表于 2023-7-6 21:02
Buzzer()運(yùn)行時(shí)間在中斷函數(shù)中遠(yuǎn)遠(yuǎn)大于中斷周期,無(wú)論如何也不至于定10us中斷吧。你叫main函數(shù)如何運(yùn)行 ...

老哥如果有思路也可以跟我講講,這邊做跑步機(jī)的顯示板,因?yàn)槲疫@邊按鍵是ADC去判斷3個(gè)按鍵按下,第一個(gè)按鍵是啟動(dòng)/停止,第二個(gè)按鍵是加速,第三個(gè)按鍵是減速,我這里是把速度的賦值與數(shù)碼管的顯示分開(kāi)了,如果不分開(kāi),再加上有ADC數(shù)值的判斷,這樣會(huì)導(dǎo)致數(shù)碼管輪詢(xún)會(huì)讓肉眼識(shí)別到,我之前試過(guò)寫(xiě)到一起,就是出現(xiàn)了這種情況,或者會(huì)出現(xiàn)一種情況就是我按鍵按下去,數(shù)碼管一邊顯示另一邊不顯示,因?yàn)槲野存I那里有時(shí)候在減速和加速那里會(huì)有個(gè)延時(shí),不讓速度突然降到0,或者按下去立馬到速度的最大值,所以我延時(shí)按下去慢慢加上去,或者慢慢減下來(lái),但這種延時(shí)對(duì)于數(shù)碼管也有影響,寫(xiě)在一起數(shù)碼管就有問(wèn)題了,什么情況都可能出現(xiàn),所以我就分開(kāi)寫(xiě)了,如果你有好的方法或者思路以及模板,也麻煩老哥推薦我,謝謝
回復(fù)

使用道具 舉報(bào)

18#
ID:213173 發(fā)表于 2023-7-7 11:27 | 只看該作者
時(shí)間煮雨我煮魚(yú) 發(fā)表于 2023-7-7 08:52
老哥如果有思路也可以跟我講講,這邊做跑步機(jī)的顯示板,因?yàn)槲疫@邊按鍵是ADC去判斷3個(gè)按鍵按下,第一個(gè)按 ...

軟件都是基于硬件編寫(xiě)的,你要把硬件電路發(fā)上來(lái)(至少是構(gòu)思)。
回復(fù)

使用道具 舉報(bào)

19#
ID:1084208 發(fā)表于 2023-7-7 11:31 | 只看該作者
wulin 發(fā)表于 2023-7-7 11:27
軟件都是基于硬件編寫(xiě)的,你要把硬件電路發(fā)上來(lái)(至少是構(gòu)思)。

哦哦,有原理圖
回復(fù)

使用道具 舉報(bào)

20#
ID:1084208 發(fā)表于 2023-7-7 13:16 | 只看該作者
wulin 發(fā)表于 2023-7-7 11:27
軟件都是基于硬件編寫(xiě)的,你要把硬件電路發(fā)上來(lái)(至少是構(gòu)思)。

原理圖我發(fā)出來(lái)了,有時(shí)間麻煩你幫我看看
回復(fù)

使用道具 舉報(bào)

21#
ID:213173 發(fā)表于 2023-7-8 16:21 | 只看該作者
時(shí)間煮雨我煮魚(yú) 發(fā)表于 2023-7-7 13:16
原理圖我發(fā)出來(lái)了,有時(shí)間麻煩你幫我看看

沒(méi)有用過(guò)賽元單片機(jī),但51內(nèi)核的單片機(jī)都差不多。在你的程序及硬件基本構(gòu)架下改寫(xiě)了數(shù)碼管驅(qū)動(dòng),ADC按鍵掃描,無(wú)源蜂鳴器驅(qū)動(dòng)。只能作為功能演示,具體參數(shù)還得慢慢調(diào)試。電機(jī)驅(qū)動(dòng)、測(cè)速及意外急停等安全措施你自己添加吧。 23.07.08.rar (31.65 KB, 下載次數(shù): 7)

回復(fù)

使用道具 舉報(bào)

22#
ID:1084208 發(fā)表于 2023-7-10 08:36 | 只看該作者
wulin 發(fā)表于 2023-7-8 16:21
沒(méi)有用過(guò)賽元單片機(jī),但51內(nèi)核的單片機(jī)都差不多。在你的程序及硬件基本構(gòu)架下改寫(xiě)了數(shù)碼管驅(qū)動(dòng),ADC按鍵 ...

好的,謝謝,剛剛運(yùn)行下載是顯示一個(gè)0,后面我再改改
回復(fù)

使用道具 舉報(bào)

23#
ID:1084208 發(fā)表于 2023-7-11 15:00 | 只看該作者
wulin 發(fā)表于 2023-7-8 16:21
沒(méi)有用過(guò)賽元單片機(jī),但51內(nèi)核的單片機(jī)都差不多。在你的程序及硬件基本構(gòu)架下改寫(xiě)了數(shù)碼管驅(qū)動(dòng),ADC按鍵 ...

老哥,我有個(gè)問(wèn)題
就是你這份代碼的那個(gè)定時(shí)器是怎么算的
//12MHz
TL0 = 0X18     //1ms
TH0 = 0XFC
TL1 = 0X38     //200us
TH1 = 0X38
回復(fù)

使用道具 舉報(bào)

24#
ID:161164 發(fā)表于 2023-7-12 13:34 | 只看該作者
時(shí)間煮雨我煮魚(yú) 發(fā)表于 2023-7-11 15:00
老哥,我有個(gè)問(wèn)題
就是你這份代碼的那個(gè)定時(shí)器是怎么算的
//12MHz

Timer0,16位模式:65536 - 1000us = 64536 = 0xFC18
Timer1,8 位模式:256 - 200us = 56 = 0x38
回復(fù)

使用道具 舉報(bào)

25#
ID:996773 發(fā)表于 2026-1-21 10:10 | 只看該作者
就這樣的程序用一個(gè)定時(shí)器中斷掌管數(shù)碼管輪流顯示就行了,其他地方用不上定時(shí)器,程序結(jié)構(gòu)再想想
回復(fù)

使用道具 舉報(bào)

26#
ID:1073939 發(fā)表于 2026-1-26 15:07 | 只看該作者
時(shí)間煮雨我煮魚(yú) 發(fā)表于 2023-7-7 08:42
現(xiàn)在能正常顯示了,我發(fā)的這份代碼,只是不太理解T2定時(shí)器的中斷必須打開(kāi),不打開(kāi)的話就會(huì)不顯示

同時(shí)開(kāi)多個(gè)定時(shí)器定時(shí)器正常情形不會(huì)有影響。
很多稀奇古怪的問(wèn)題可能是這芯片特有的。
所以使用新的mcu時(shí),我會(huì)盡量保留原廠demo框架和編譯選項(xiàng)。
sbit 是51特有的,移植不方便。并且位變量區(qū)是比較重要稀有的資源,盡量少用。
我把改了你關(guān)于顯示的代碼,供參考。
  1. void segSet(unsigned char seg) //
  2. {
  3.         // P2 = seg; //如果全部安排在P2上,并且順序一致,一行代碼搞定。
  4.         pin_seg1 = 0; // a段
  5.         pin_seg2 = 0; // b段
  6.         pin_seg3 = 0; // c段
  7.         pin_seg4 = 0; // d段
  8.         pin_seg5 = 0; // e段
  9.         pin_seg6 = 0; // f段
  10.         pin_seg7 = 0; // g段
  11.         pin_seg8 = 0; // h段
  12.         if (seg & (1 << 0))
  13.                 pin_seg1 = 1; // a段亮
  14.         if (seg & (1 << 1))
  15.                 pin_seg2 = 1; // b段亮
  16.         if (seg & (1 << 2))
  17.                 pin_seg3 = 1; // c段亮
  18.         if (seg & (1 << 3))
  19.                 pin_seg4 = 1; // d段亮
  20.         if (seg & (1 << 4))
  21.                 pin_seg5 = 1; // e段亮
  22.         if (seg & (1 << 5))
  23.                 pin_seg6 = 1; // f段亮
  24.         if (seg & (1 << 6))
  25.                 pin_seg7 = 1; // g段亮
  26.         if (seg & (1 << 7))
  27.                 pin_seg8 = 1; // dp段亮
  28. }
  29. void LED_Display(void) // 中斷服務(wù)調(diào)用,數(shù)碼管顯示刷新函數(shù)
  30. {
  31.         static unsigned char sSeg[4] = {0};
  32.         static unsigned char sCom = 0;
  33.         // 數(shù)碼管全滅滅,防止上次點(diǎn)亮殘留
  34.         pin_com1 = 0;                // 第一個(gè)數(shù)碼管
  35.         pin_com2 = 0;                // 第二個(gè)數(shù)碼管
  36.         pin_com3 = 0;                // 第三個(gè)數(shù)碼管
  37.         pin_com4 = 0;                // 第四個(gè)數(shù)碼管
  38.         pin_com5 = 0;                // 兩個(gè)點(diǎn)
  39.         segSet(sSeg[sCom]); // 點(diǎn)亮數(shù)碼管對(duì)應(yīng)位
  40.         switch (sCom)
  41.         {
  42.         case 0:
  43.                 pin_com1 = 1; // 選擇第一個(gè)數(shù)碼管
  44.                 break;
  45.         case 1:
  46.                 pin_com2 = 1; // 選擇第二個(gè)數(shù)碼管
  47.                 break;
  48.         case 2:
  49.                 pin_com3 = 1; // 選擇第三個(gè)數(shù)碼管
  50.                 break;
  51.         case 3:
  52.                 pin_com4 = 1; // 選擇第四個(gè)數(shù)碼管
  53.                 break;
  54.         default:
  55.                 break;
  56.         }
  57.         if (++sCom >= 4)
  58.         { // 依次輪循,僅在數(shù)碼管輪循完后才刷新
  59.                 sCom = 0;
  60.                 sSeg[0] = num1; // num1 最好也用數(shù)組
  61.                 sSeg[1] = num2;
  62.                 sSeg[2] = num3;
  63.                 sSeg[3] = num4;
  64.         }
  65. }
  66. /**************************************************
  67. *函數(shù)名稱(chēng):void timer0/1/2() interrupt 1/3/5
  68. *函數(shù)功能:定時(shí)器中斷產(chǎn)生方波
  69. *入口參數(shù):void
  70. *出口參數(shù):void
  71. 100us執(zhí)行一次
  72. 數(shù)碼管顯示頻率略大于50Hz(20mS)就行,太大效果不一定好。
  73. **************************************************/
  74. bit bF_1ms5 = 0;
  75. void timer0() interrupt 1
  76. {
  77.         TL0 = (65536 - 600 * 15); // 按原代碼改,減少mcu負(fù)擔(dān)
  78.         TH0 = (65536 - 600 * 15) >> 8;
  79.         LED_Display();
  80.         bF_1ms5 = !bF_1ms5;
  81.         if (bF_1ms5)
  82.                 f_3ms = 1;
  83. }

  84. void numDisp(unsigned int num)
  85. {
  86.         unsigned char i;
  87.         bit b = 0; // 高位'0'顯示空格
  88.         EA = 0;
  89.         num1 = num2 = num3 = num4 = num5 = 0;
  90.         if (num > 9999)
  91.         {
  92.                 num %= 10000;
  93.                 i = num / 1000;
  94.                 if (i)
  95.                         b = 1;
  96.         }
  97.         if (b)
  98.                 num5 = bcd[i];
  99.         if (num > 999)
  100.         {
  101.                 num %= 1000;
  102.                 i = num / 1000;
  103.                 if (i)
  104.                         b = 1;
  105.         }
  106.         if (b)
  107.                 num4 = bcd[i]; // 千位
  108.         if (num > 99)
  109.         {
  110.                 num %= 100;
  111.                 i = num / 100;
  112.                 if (i)
  113.                         b = 1;
  114.         }
  115.         if (b)
  116.                 num3 = bcd[i]; // 百位
  117.         if (num > 9)
  118.         {
  119.                 num %= 10;
  120.                 i = num / 10;
  121.                 if (i)
  122.                         b = 1;
  123.         }
  124.         if (b)
  125.                 num2 = bcd[i]; // 百位
  126.         num1 = bcd[num];   // 個(gè)位
  127.         EA = 1;
  128. }
  129. // numDisp(Speed_cnt);
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

27#
ID:1073939 發(fā)表于 2026-1-27 11:16 | 只看該作者
芯片外設(shè)規(guī)劃
從你的代碼看:
蜂鳴器好像是無(wú)源蜂鳴器,它的驅(qū)動(dòng)頻率為2~5kHz(市面上常用2700Hz),這應(yīng)該是你對(duì)時(shí)間要求最高的任務(wù)。2700Hz定時(shí)器配置為約185uS。建議用T2做,因?yàn)門(mén)2有自動(dòng)加載功能,不會(huì)造成頻率輕微變化。
數(shù)碼管刷新間隔用185uS*10來(lái)做,4位數(shù)碼管刷新一遍為7.4mS,約135Hz。
VSP的Pwm輸出建議利用芯片的硬件pwm做。分辨率、頻率、穩(wěn)定性等性能你你用10us定時(shí)器做好多了。
PG估計(jì)是轉(zhuǎn)速脈沖信號(hào),建議用T0計(jì)數(shù)器做。
T1做波特率發(fā)生器,方便后續(xù)調(diào)試、擴(kuò)展。
這芯片有段碼屏直驅(qū)功能,建議數(shù)碼管驅(qū)動(dòng)引腳適配lcd引腳,以后可使用lcd段碼屏。
你的代碼和官方源碼比,你刪除了太多東西。建議直接寫(xiě)你的代碼,不要?jiǎng)h除官方代碼,這樣方便參考源代碼寫(xiě)直接的外設(shè)驅(qū)動(dòng)。
回復(fù)

使用道具 舉報(bào)

28#
ID:647261 發(fā)表于 2026-1-27 14:03 | 只看該作者
我就奇怪,好幾年的帖子,你們是怎么翻出來(lái)的,樓主都不知道還在不在原來(lái)公司了呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表