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

標(biāo)題: 想請教一下,想在軟件上實(shí)現(xiàn)對51單片機(jī)的自檢功能,像對八位數(shù)碼管,按鍵、LED燈等... [打印本頁]

作者: 歡歡1111    時(shí)間: 2023-12-5 16:15
標(biāo)題: 想請教一下,想在軟件上實(shí)現(xiàn)對51單片機(jī)的自檢功能,像對八位數(shù)碼管,按鍵、LED燈等...
想請教一下,想在軟件上實(shí)現(xiàn)對51單片機(jī)的自檢功能,像對八位數(shù)碼管,按鍵、LED燈等元器件檢測,怎么去實(shí)現(xiàn)啊,第一次做這個(gè)。

作者: chxelc    時(shí)間: 2023-12-5 20:00
設(shè)計(jì)一個(gè)自程序,把單片機(jī)所有資源如定時(shí)器,串口,ADC,PWM等。搭配上按鍵/數(shù)碼管/LED等外設(shè)顯示程序執(zhí)行狀態(tài)。
作者: 歡歡1111    時(shí)間: 2023-12-6 14:46
chxelc 發(fā)表于 2023-12-5 20:00
設(shè)計(jì)一個(gè)自程序,把單片機(jī)所有資源如定時(shí)器,串口,ADC,PWM等。搭配上按鍵/數(shù)碼管/LED等外設(shè)顯示程序執(zhí)行 ...

能否具體一點(diǎn)點(diǎn)
作者: zhuls    時(shí)間: 2023-12-6 15:24
這個(gè)要看你的系統(tǒng)有多少外設(shè)要自檢。
比如你的系統(tǒng)有8個(gè)7段數(shù)碼管,有個(gè)按鍵,還有個(gè)LED,那么:
開機(jī)LED閃爍,直到按鍵按下,按下后8個(gè)7段數(shù)碼管同時(shí)顯示a/b/c/d...段。然后每個(gè)數(shù)碼管單獨(dú)顯示01234...
然后等待按鍵或自動結(jié)束測試,進(jìn)入工作狀態(tài)。。
有喇叭、蜂鳴器則讓它吱一聲。
有LCD則讓它全屏點(diǎn)亮、全屏滅,再來個(gè)逐行、逐列顯示。
有對外通訊口比如串口,則讓它回彈一下數(shù)據(jù)。




作者: 歡歡1111    時(shí)間: 2023-12-6 17:49
zhuls 發(fā)表于 2023-12-6 15:24
這個(gè)要看你的系統(tǒng)有多少外設(shè)要自檢。
比如你的系統(tǒng)有8個(gè)7段數(shù)碼管,有個(gè)按鍵,還有個(gè)LED,那么:
開機(jī)LED ...

八位的數(shù)碼管我已經(jīng)對他進(jìn)行了0~7的滾動初始化,可以不用在對數(shù)碼管進(jìn)行檢測了嗎?
然后我想著重去檢測4個(gè)開關(guān)按鍵是否存在按下(低電平)的情況和蜂鳴器.下面是我定義的代碼,不太對
//自檢//
void keyscan()
{
        if(key1==0)//開機(jī)后檢測到按鍵又被按下,則有問題閃紅燈。
        {
                Delay(10);
   if(key1==0)//再次確認(rèn)是否按下
  {
                led14=0;
                Delay(1000);
                led14=1;
                Delay(1000);
        }
}
}
作者: 歡歡1111    時(shí)間: 2023-12-6 18:11
zhuls 發(fā)表于 2023-12-6 15:24
這個(gè)要看你的系統(tǒng)有多少外設(shè)要自檢。
比如你的系統(tǒng)有8個(gè)7段數(shù)碼管,有個(gè)按鍵,還有個(gè)LED,那么:
開機(jī)LED ...

這是我重新寫的代碼,大佬能否幫我看看,只有那個(gè)蜂鳴器響3次沒有實(shí)現(xiàn)。
//顯示開機(jī)初始化等待畫面//
  1. void Disp_init(void)
  2. {
  3.         uchar i;
  4.                 for(i=0;i<8;i++)
  5.                 {
  6.                         wei=1;
  7.                         P0=we[i];
  8.                         wei=0;
  9.                         P0=LEDData[i];//循環(huán)8次
  10.                         Delay(100000);  //延時(shí)
  11.                         P0=0x00;
  12.                 }
  13.                
  14. }

  15. //燈自檢//
  16. void led_jiance(void)
  17. {
  18.         uchar j;
  19.                 for(j=5;j>0;j--)   //閃爍5次
  20.                 {
  21.                 led1=0;led2=0;led3=0;
  22.                 Delay(500000);
  23.                 led1=1;led2=1;led3=1;
  24.                 Delay(500000);
  25.                 }
  26.         }

  27.         //蜂鳴器自檢//
  28.         void spreak_jiance(void)
  29.         {
  30.                 uchar h;
  31.                 for(h=0;h<3;h++)   //響3次
  32.                 {
  33.                 beep_st=1;   ////蜂鳴器間隔標(biāo)志
  34.                 beep1_st=1;
  35.                 beep2_st=1;
  36.                 beep=1;
  37.                 beep1=1;
  38.                 beep2=1;
  39.                 Delay(500);
  40.                 beep_st=0;
  41.                 beep1_st=0;
  42.                 beep2_st=0;
  43.                 beep=0;
  44.                 beep1=0;
  45.                 beep2=0;
  46.     Delay(500);
  47.                 }
  48.         }
  49.         
  50.         //按鍵檢測
  51.         void keyscan(void)
  52. {
  53.         if(key1==0)//開機(jī)后檢測到按鍵被按下,則有問題閃紅燈。
  54.         {
  55.                 Delay(10);
  56.    if(key1==0)   //再次確認(rèn)是否按下
  57.   {
  58.                 while(1)
  59.                 {
  60.                 led14=0;
  61.                 Delay(1000);
  62.                 led14=1;
  63.                 Delay(1000);
  64.         }
  65. }
  66.         }
  67. }
復(fù)制代碼

作者: zhuls    時(shí)間: 2023-12-7 09:41
歡歡1111 發(fā)表于 2023-12-6 18:11
這是我重新寫的代碼,大佬能否幫我看看,只有那個(gè)蜂鳴器響3次沒有實(shí)現(xiàn)。
//顯示開機(jī)初始化等待畫面//

蜂鳴器是有源無源的?看你這個(gè)代碼像是有源的,沒有圖,不明白你為什么要這么控制?
有源的只要給電就叫,斷電就停。

作者: 歡歡1111    時(shí)間: 2023-12-7 10:57
zhuls 發(fā)表于 2023-12-7 09:41
蜂鳴器是有源無源的?看你這個(gè)代碼像是有源的,沒有圖,不明白你為什么要這么控制?
有源的只要給電就叫 ...

是有源,代碼是想表示蜂鳴器響3次,帶好像我這樣不行
作者: 歡歡1111    時(shí)間: 2023-12-7 11:01
zhuls 發(fā)表于 2023-12-7 09:41
蜂鳴器是有源無源的?看你這個(gè)代碼像是有源的,沒有圖,不明白你為什么要這么控制?
有源的只要給電就叫 ...

謝謝   解決啦
作者: zhuls    時(shí)間: 2023-12-7 11:06
歡歡1111 發(fā)表于 2023-12-7 10:57
是有源,代碼是想表示蜂鳴器響3次,帶好像我這樣不行

有源BEEP:

for(i=0;i<3;i++) {BEEP控制IO置高;延時(shí);BEEP控制IO置低;延時(shí);}  //這就能斷續(xù)響3聲了
作者: rayin    時(shí)間: 2023-12-7 11:18
數(shù)碼管可以軟件設(shè)置全部段碼亮1s, LED燈閃爍,  按鍵可以編號, 按中那個(gè)按鍵, 段碼管顯示對應(yīng)的數(shù)值.
作者: 1619422734    時(shí)間: 2023-12-7 12:01
首先,你需要了解51單片機(jī)的基本原理和編程語言,比如C語言或者匯編語言。然后,你可以按照以下步驟實(shí)現(xiàn)自檢功能:1. 編寫程序:首先,你需要編寫一個(gè)程序,在程序中對八位數(shù)碼管、按鍵、LED燈等元器件進(jìn)行檢測。你可以使用相應(yīng)的庫函數(shù)或者直接操作寄存器來控制這些元器件。2. 設(shè)計(jì)測試方法:在程序中,你需要設(shè)計(jì)一些測試方法,用來檢測這些元器件是否正常工作。比如,你可以編寫一個(gè)函數(shù)來逐個(gè)點(diǎn)亮LED燈,或者逐個(gè)檢測按鍵是否按下。3. 執(zhí)行測試:將程序下載到51單片機(jī)中,然后執(zhí)行測試。觀察測試結(jié)果,檢查元器件是否正常工作。4. 調(diào)試程序:如果測試結(jié)果不符合預(yù)期,你需要對程序進(jìn)行調(diào)試,找出問題所在并進(jìn)行修正。總的來說,實(shí)現(xiàn)自檢功能需要你對51單片機(jī)有一定的了解,并且具備一定的編程能力。如果你是第一次做這個(gè),建議你先學(xué)習(xí)一些關(guān)于51單片機(jī)的基礎(chǔ)知識和編程技巧,然后再嘗試實(shí)現(xiàn)自檢功能。祝你好運(yùn)!
作者: hi等你    時(shí)間: 2023-12-7 14:15
樓主還是先規(guī)規(guī)矩矩點(diǎn)個(gè)數(shù)碼管查詢按鍵入門吧,自檢程序是高手出成品再考慮的事情

這行當(dāng)沒有彎道超車。
作者: 歡歡1111    時(shí)間: 2023-12-7 15:38
hi等你 發(fā)表于 2023-12-7 14:15
樓主還是先規(guī)規(guī)矩矩點(diǎn)個(gè)數(shù)碼管查詢按鍵入門吧,自檢程序是高手出成品再考慮的事情

這行當(dāng)沒有彎道超車。

啊。。我就是想先在仿真里做一個(gè)開機(jī)帶有自檢功能的系統(tǒng)
作者: hi等你    時(shí)間: 2023-12-7 15:56
歡歡1111 發(fā)表于 2023-12-7 15:38
啊。。我就是想先在仿真里做一個(gè)開機(jī)帶有自檢功能的系統(tǒng)

閱讀能力這么差?如何去寫程序?我說的和12樓一樣的意思,寫自檢程序需要的技術(shù)和代碼量比你現(xiàn)在

點(diǎn)亮數(shù)碼管和按鍵檢測入門的程序高很多,別好高騖遠(yuǎn),先寫一些點(diǎn)亮數(shù)碼管的小程序,先別考慮自檢了
作者: zhuls    時(shí)間: 2023-12-7 17:27
歡歡1111 發(fā)表于 2023-12-7 15:38
啊。。我就是想先在仿真里做一個(gè)開機(jī)帶有自檢功能的系統(tǒng)

這個(gè)完全可以的。
有多大的能力,就做多大的事。
自檢功能說白了就是一個(gè)軟件硬件相互配合做一些簡單的聲、光、電、機(jī)的動作。
依你的系統(tǒng)而定,但不能把自檢功能寫得比系統(tǒng)本身還復(fù)雜,那就本末倒置了。
有可能你現(xiàn)在做的很簡陋,但到少你做到了!說不定以后某天再返回來看這些代碼時(shí),你又有新的想法,那就按新的想法去完善它。
學(xué)無止境,全靠抄襲--學(xué)習(xí)本就是一個(gè)“抄襲”的過程。沒有人天生就是高手的。加油~~




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1