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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2593|回復: 23
收起左側

單片機定時器對數碼管的影響

[復制鏈接]
ID:1084208 發表于 2023-7-5 17:36 | 顯示全部樓層 |閱讀模式
當我開一個定時器去運行數碼管的顯示時,它是可以正常顯示的,但當我開兩個定時器時,數碼管就不顯示了,我把二個定時器也試過了用4ms運行一次,數碼管也同樣不顯示,只有當屏蔽掉第二個定時器時,數碼管才能正常顯示,在第二個定時器里面我沒有放任何東西,我想知道到底是不是我結構的問題,是否有人做過數碼管的框架,如果有,請指導我一下,我現在這邊做跑步機的速度顯示,一共有三個按鍵,一個按鍵是啟動和停止,一個按鍵是速度上升,一個按鍵是速度下降。麻煩大伙幫我看看代碼,我的按鍵是ADC按鍵,然后顯示的函數都放到了main.c文件里面,顯示數碼管時我把賦值和段位選的函數分開來了,謝謝~
f868f3e5b77b772990b19b2a15d14fb.png
222.PNG

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

106.89 KB, 下載次數: 20

回復

使用道具 舉報

ID:161164 發表于 2023-7-5 22:21 | 顯示全部樓層
那么多警告,不先解決一下嗎?
2023-07-05_222037.png
回復

使用道具 舉報

ID:1085441 發表于 2023-7-6 00:05 | 顯示全部樓層
我是盡量不用多個中斷,否則總有一些意外的問題。
回復

使用道具 舉報

ID:213173 發表于 2023-7-6 07:17 | 顯示全部樓層
沒有認真讀懂別人的模板,胡亂套用當然玩不轉。
回復

使用道具 舉報

ID:1084208 發表于 2023-7-6 08:41 | 顯示全部樓層
cnfloatleaf 發表于 2023-7-6 00:05
我是盡量不用多個中斷,否則總有一些意外的問題。

用兩個定時器就出現不顯示的現象,而且我還是一個定時器100us執行一次,一個定時器2ms執行一次,這樣都會影響到數碼管的顯示,想不通
回復

使用道具 舉報

ID:1084208 發表于 2023-7-6 08:45 | 顯示全部樓層
lkc8210 發表于 2023-7-5 22:21
那么多警告,不先解決一下嗎?

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

使用道具 舉報

ID:161164 發表于 2023-7-6 11:03 | 顯示全部樓層
時間煮雨我煮魚 發表于 2023-7-6 08:45
哦哦,這些剛剛解決,都是變量定義放在那不用,現在都刪了。很奇怪,定義兩個定時器,一個定時器100us執 ...

再上傳吧
回復

使用道具 舉報

ID:1085441 發表于 2023-7-6 13:51 | 顯示全部樓層
時間煮雨我煮魚 發表于 2023-7-6 08:41
用兩個定時器就出現不顯示的現象,而且我還是一個定時器100us執行一次,一個定時器2ms執行一次,這樣都會 ...

用2個中斷和就要考慮2個中斷會發生沖突,你可否這樣試試?在一個中斷前暫時禁止另一個中斷,等中斷結束再回復該中斷使能,看看能不能解決問題。
回復

使用道具 舉報

ID:584814 發表于 2023-7-6 14:47 | 顯示全部樓層
1、據說有多個警告什么的,最好處理先;
2、一個定時器也可以定出多個時間;
3、不是每個器件都和說明書講的一樣可靠。
回復

使用道具 舉報

ID:1084208 發表于 2023-7-6 15:07 | 顯示全部樓層

上傳了
回復

使用道具 舉報

ID:1084208 發表于 2023-7-6 15:14 | 顯示全部樓層

我現在把T2定時器的初始化屏蔽掉了,就是用個#if 0    #endif給他這樣屏蔽,奇怪的是,我不能刪掉T2定時器的中斷,不然數碼管就不會顯示,只有把T2定時器的中斷打開,才能讓他正常顯示,
就像下面這個
//定時器初始化
#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  //這一個刪了數碼管就不會顯示
{

}
回復

使用道具 舉報

ID:1084208 發表于 2023-7-6 16:08 | 顯示全部樓層
man1234567 發表于 2023-7-6 14:47
1、據說有多個警告什么的,最好處理先;
2、一個定時器也可以定出多個時間;
3、不是每個器件都和說明書 ...

有時候不處理會有什么情況嗎,因為我習慣不處理,都是一些變量沒有外部引用。
回復

使用道具 舉報

ID:213173 發表于 2023-7-6 21:02 | 顯示全部樓層
時間煮雨我煮魚 發表于 2023-7-6 16:08
有時候不處理會有什么情況嗎,因為我習慣不處理,都是一些變量沒有外部引用。


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

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





回復

使用道具 舉報

ID:1084208 發表于 2023-7-7 08:39 | 顯示全部樓層
wulin 發表于 2023-7-6 21:02
Buzzer()運行時間在中斷函數中遠遠大于中斷周期,無論如何也不至于定10us中斷吧。你叫main函數如何運行 ...

這個delay_ms(60)不是真正的60ms,我就是在delay_ms()函數里面放個變量循環60次就跳出來了。
回復

使用道具 舉報

ID:1084208 發表于 2023-7-7 08:41 | 顯示全部樓層
wulin 發表于 2023-7-6 21:02
Buzzer()運行時間在中斷函數中遠遠大于中斷周期,無論如何也不至于定10us中斷吧。你叫main函數如何運行 ...

這個蜂鳴器函數去掉跟不去掉都沒有影響,之前試過了。
回復

使用道具 舉報

ID:1084208 發表于 2023-7-7 08:42 | 顯示全部樓層
wulin 發表于 2023-7-6 21:02
Buzzer()運行時間在中斷函數中遠遠大于中斷周期,無論如何也不至于定10us中斷吧。你叫main函數如何運行 ...

現在能正常顯示了,我發的這份代碼,只是不太理解T2定時器的中斷必須打開,不打開的話就會不顯示
回復

使用道具 舉報

ID:1084208 發表于 2023-7-7 08:52 | 顯示全部樓層
wulin 發表于 2023-7-6 21:02
Buzzer()運行時間在中斷函數中遠遠大于中斷周期,無論如何也不至于定10us中斷吧。你叫main函數如何運行 ...

老哥如果有思路也可以跟我講講,這邊做跑步機的顯示板,因為我這邊按鍵是ADC去判斷3個按鍵按下,第一個按鍵是啟動/停止,第二個按鍵是加速,第三個按鍵是減速,我這里是把速度的賦值與數碼管的顯示分開了,如果不分開,再加上有ADC數值的判斷,這樣會導致數碼管輪詢會讓肉眼識別到,我之前試過寫到一起,就是出現了這種情況,或者會出現一種情況就是我按鍵按下去,數碼管一邊顯示另一邊不顯示,因為我按鍵那里有時候在減速和加速那里會有個延時,不讓速度突然降到0,或者按下去立馬到速度的最大值,所以我延時按下去慢慢加上去,或者慢慢減下來,但這種延時對于數碼管也有影響,寫在一起數碼管就有問題了,什么情況都可能出現,所以我就分開寫了,如果你有好的方法或者思路以及模板,也麻煩老哥推薦我,謝謝
回復

使用道具 舉報

ID:213173 發表于 2023-7-7 11:27 | 顯示全部樓層
時間煮雨我煮魚 發表于 2023-7-7 08:52
老哥如果有思路也可以跟我講講,這邊做跑步機的顯示板,因為我這邊按鍵是ADC去判斷3個按鍵按下,第一個按 ...

軟件都是基于硬件編寫的,你要把硬件電路發上來(至少是構思)。
回復

使用道具 舉報

ID:1084208 發表于 2023-7-7 11:31 | 顯示全部樓層
wulin 發表于 2023-7-7 11:27
軟件都是基于硬件編寫的,你要把硬件電路發上來(至少是構思)。

哦哦,有原理圖
回復

使用道具 舉報

ID:1084208 發表于 2023-7-7 13:16 | 顯示全部樓層
wulin 發表于 2023-7-7 11:27
軟件都是基于硬件編寫的,你要把硬件電路發上來(至少是構思)。

原理圖我發出來了,有時間麻煩你幫我看看
回復

使用道具 舉報

ID:213173 發表于 2023-7-8 16:21 | 顯示全部樓層
時間煮雨我煮魚 發表于 2023-7-7 13:16
原理圖我發出來了,有時間麻煩你幫我看看

沒有用過賽元單片機,但51內核的單片機都差不多。在你的程序及硬件基本構架下改寫了數碼管驅動,ADC按鍵掃描,無源蜂鳴器驅動。只能作為功能演示,具體參數還得慢慢調試。電機驅動、測速及意外急停等安全措施你自己添加吧。 23.07.08.rar (31.65 KB, 下載次數: 7)

回復

使用道具 舉報

ID:1084208 發表于 2023-7-10 08:36 | 顯示全部樓層
wulin 發表于 2023-7-8 16:21
沒有用過賽元單片機,但51內核的單片機都差不多。在你的程序及硬件基本構架下改寫了數碼管驅動,ADC按鍵 ...

好的,謝謝,剛剛運行下載是顯示一個0,后面我再改改
回復

使用道具 舉報

ID:1084208 發表于 2023-7-11 15:00 | 顯示全部樓層
wulin 發表于 2023-7-8 16:21
沒有用過賽元單片機,但51內核的單片機都差不多。在你的程序及硬件基本構架下改寫了數碼管驅動,ADC按鍵 ...

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

使用道具 舉報

ID:161164 發表于 2023-7-12 13:34 | 顯示全部樓層
時間煮雨我煮魚 發表于 2023-7-11 15:00
老哥,我有個問題
就是你這份代碼的那個定時器是怎么算的
//12MHz

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线精品国产 | 国产激情福利 | 成人免费区一区二区三区 | 亚洲精品一区二区三区中文字幕 | 蜜臀久久99精品久久久久久宅男 | 国产精品成人一区二区三区夜夜夜 | 日韩国产一区二区三区 | 综合天天久久 | 91精品国产综合久久久久久 | 日韩中文字幕一区 | 九一在线观看 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 一区二区三区精品在线视频 | 国产成人免费视频网站高清观看视频 | 亚洲自拍偷拍av | 欧美福利三区 | 日韩免费网站 | 精品在线一区 | 亚洲福利 | 亚洲精品久久区二区三区蜜桃臀 | 国产精品 欧美精品 | 日日夜夜草 | 国产精品亚洲精品日韩已方 | 中文一区| 国产一级片精品 | 国产精品久久久久久久久久久新郎 | 久久久九九| 亚洲国产精品一区二区久久 | 91人人在线| 欧美a在线 | 欧美mv日韩mv国产网站91进入 | av中文字幕在线 | 天天色影视综合 | 欧美高清dvd | 成人性生交大片 | 欧美激情亚洲天堂 | 日本久久www成人免 成人久久久久 | 欧美国产日韩在线观看 | 在线视频国产一区 | 先锋av资源在线 | 99只有精品 |