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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

想請教一下,想在軟件上實現對51單片機的自檢功能,像對八位數碼管,按鍵、LED燈等...

[復制鏈接]
跳轉到指定樓層
樓主
ID:1102550 發表于 2023-12-5 16:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
想請教一下,想在軟件上實現對51單片機的自檢功能,像對八位數碼管,按鍵、LED燈等元器件檢測,怎么去實現啊,第一次做這個。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:712097 發表于 2023-12-5 20:00 | 只看該作者
設計一個自程序,把單片機所有資源如定時器,串口,ADC,PWM等。搭配上按鍵/數碼管/LED等外設顯示程序執行狀態。
回復

使用道具 舉報

板凳
ID:1102550 發表于 2023-12-6 14:46 | 只看該作者
chxelc 發表于 2023-12-5 20:00
設計一個自程序,把單片機所有資源如定時器,串口,ADC,PWM等。搭配上按鍵/數碼管/LED等外設顯示程序執行 ...

能否具體一點點
回復

使用道具 舉報

地板
ID:69038 發表于 2023-12-6 15:24 | 只看該作者
這個要看你的系統有多少外設要自檢。
比如你的系統有8個7段數碼管,有個按鍵,還有個LED,那么:
開機LED閃爍,直到按鍵按下,按下后8個7段數碼管同時顯示a/b/c/d...段。然后每個數碼管單獨顯示01234...
然后等待按鍵或自動結束測試,進入工作狀態。。
有喇叭、蜂鳴器則讓它吱一聲。
有LCD則讓它全屏點亮、全屏滅,再來個逐行、逐列顯示。
有對外通訊口比如串口,則讓它回彈一下數據。



回復

使用道具 舉報

5#
ID:1102550 發表于 2023-12-6 17:49 | 只看該作者
zhuls 發表于 2023-12-6 15:24
這個要看你的系統有多少外設要自檢。
比如你的系統有8個7段數碼管,有個按鍵,還有個LED,那么:
開機LED ...

八位的數碼管我已經對他進行了0~7的滾動初始化,可以不用在對數碼管進行檢測了嗎?
然后我想著重去檢測4個開關按鍵是否存在按下(低電平)的情況和蜂鳴器.下面是我定義的代碼,不太對
//自檢//
void keyscan()
{
        if(key1==0)//開機后檢測到按鍵又被按下,則有問題閃紅燈。
        {
                Delay(10);
   if(key1==0)//再次確認是否按下
  {
                led14=0;
                Delay(1000);
                led14=1;
                Delay(1000);
        }
}
}
回復

使用道具 舉報

6#
ID:1102550 發表于 2023-12-6 18:11 | 只看該作者
zhuls 發表于 2023-12-6 15:24
這個要看你的系統有多少外設要自檢。
比如你的系統有8個7段數碼管,有個按鍵,還有個LED,那么:
開機LED ...

這是我重新寫的代碼,大佬能否幫我看看,只有那個蜂鳴器響3次沒有實現。
//顯示開機初始化等待畫面//
  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];//循環8次
  10.                         Delay(100000);  //延時
  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;   ////蜂鳴器間隔標志
  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)//開機后檢測到按鍵被按下,則有問題閃紅燈。
  54.         {
  55.                 Delay(10);
  56.    if(key1==0)   //再次確認是否按下
  57.   {
  58.                 while(1)
  59.                 {
  60.                 led14=0;
  61.                 Delay(1000);
  62.                 led14=1;
  63.                 Delay(1000);
  64.         }
  65. }
  66.         }
  67. }
復制代碼
回復

使用道具 舉報

7#
ID:69038 發表于 2023-12-7 09:41 | 只看該作者
歡歡1111 發表于 2023-12-6 18:11
這是我重新寫的代碼,大佬能否幫我看看,只有那個蜂鳴器響3次沒有實現。
//顯示開機初始化等待畫面//

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

使用道具 舉報

8#
ID:1102550 發表于 2023-12-7 10:57 | 只看該作者
zhuls 發表于 2023-12-7 09:41
蜂鳴器是有源無源的?看你這個代碼像是有源的,沒有圖,不明白你為什么要這么控制?
有源的只要給電就叫 ...

是有源,代碼是想表示蜂鳴器響3次,帶好像我這樣不行
回復

使用道具 舉報

9#
ID:1102550 發表于 2023-12-7 11:01 | 只看該作者
zhuls 發表于 2023-12-7 09:41
蜂鳴器是有源無源的?看你這個代碼像是有源的,沒有圖,不明白你為什么要這么控制?
有源的只要給電就叫 ...

謝謝   解決啦
回復

使用道具 舉報

10#
ID:69038 發表于 2023-12-7 11:06 | 只看該作者
歡歡1111 發表于 2023-12-7 10:57
是有源,代碼是想表示蜂鳴器響3次,帶好像我這樣不行

有源BEEP:

for(i=0;i<3;i++) {BEEP控制IO置高;延時;BEEP控制IO置低;延時;}  //這就能斷續響3聲了
回復

使用道具 舉報

11#
ID:517951 發表于 2023-12-7 11:18 | 只看該作者
數碼管可以軟件設置全部段碼亮1s, LED燈閃爍,  按鍵可以編號, 按中那個按鍵, 段碼管顯示對應的數值.
回復

使用道具 舉報

12#
ID:1037692 發表于 2023-12-7 12:01 | 只看該作者
首先,你需要了解51單片機的基本原理和編程語言,比如C語言或者匯編語言。然后,你可以按照以下步驟實現自檢功能:1. 編寫程序:首先,你需要編寫一個程序,在程序中對八位數碼管、按鍵、LED燈等元器件進行檢測。你可以使用相應的庫函數或者直接操作寄存器來控制這些元器件。2. 設計測試方法:在程序中,你需要設計一些測試方法,用來檢測這些元器件是否正常工作。比如,你可以編寫一個函數來逐個點亮LED燈,或者逐個檢測按鍵是否按下。3. 執行測試:將程序下載到51單片機中,然后執行測試。觀察測試結果,檢查元器件是否正常工作。4. 調試程序:如果測試結果不符合預期,你需要對程序進行調試,找出問題所在并進行修正。總的來說,實現自檢功能需要你對51單片機有一定的了解,并且具備一定的編程能力。如果你是第一次做這個,建議你先學習一些關于51單片機的基礎知識和編程技巧,然后再嘗試實現自檢功能。祝你好運!
回復

使用道具 舉報

13#
ID:996773 發表于 2023-12-7 14:15 | 只看該作者
樓主還是先規規矩矩點個數碼管查詢按鍵入門吧,自檢程序是高手出成品再考慮的事情

這行當沒有彎道超車。
回復

使用道具 舉報

14#
ID:1102550 發表于 2023-12-7 15:38 | 只看該作者
hi等你 發表于 2023-12-7 14:15
樓主還是先規規矩矩點個數碼管查詢按鍵入門吧,自檢程序是高手出成品再考慮的事情

這行當沒有彎道超車。

啊。。我就是想先在仿真里做一個開機帶有自檢功能的系統
回復

使用道具 舉報

15#
ID:996773 發表于 2023-12-7 15:56 | 只看該作者
歡歡1111 發表于 2023-12-7 15:38
啊。。我就是想先在仿真里做一個開機帶有自檢功能的系統

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

點亮數碼管和按鍵檢測入門的程序高很多,別好高騖遠,先寫一些點亮數碼管的小程序,先別考慮自檢了
回復

使用道具 舉報

16#
ID:69038 發表于 2023-12-7 17:27 | 只看該作者
歡歡1111 發表于 2023-12-7 15:38
啊。。我就是想先在仿真里做一個開機帶有自檢功能的系統

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品视频一区二区三区 | 国产免费a| 一区二区三区亚洲 | 国产精品久久久久久久久久三级 | 91高清在线观看 | 国产成人自拍一区 | 日韩午夜一区二区三区 | 日韩精品视频一区二区三区 | 婷婷色婷婷 | 免费国产视频 | 久久精品视频12 | 一区二区三区精品视频 | 99免费在线观看视频 | 精品国产一区二区三区久久 | 日韩视频一区二区三区 | 精品视频一区二区三区在线观看 | 日韩看片 | 免费美女网站 | 91免费小视频 | 毛片毛片毛片毛片毛片 | 亚洲精品一区久久久久久 | 亚洲国产精品久久久 | 国精品一区二区 | 九九一级片 | 最新av中文字幕 | 99精品欧美一区二区蜜桃免费 | 一本大道久久a久久精二百 国产成人免费在线 | 精品99在线 | 一区二区三区高清在线观看 | 9porny九色视频自拍 | 久久久91精品国产一区二区三区 | 色资源在线 | 视频一区在线播放 | 亚洲国产一区二区三区 | 国内精品久久久久久久 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 亚洲国产欧美精品 | 久久国产精品精品国产色婷婷 | 婷婷久久综合 | 久久国产三级 | 精品欧美激情精品一区 |