單片機控制單只數碼管循環顯示0~F 用PROTEUS軟體仿真

2021-01-08 從零開始學單片機設計

數碼管顯示是每一個單片機初學者都必須學的,而單片機驅動數碼管的數字循環顯示實驗,又是單片機基礎中的基礎,同時也是學好C語言編程的關鍵,現在供上代碼供大家學習研究,此程序經過一些改進,可以實現按鍵識別 數碼管動態掃描。同時也可以做各種有關顯示調試程序的二次開發等等。

程序算法先自己研究,因為程序比較簡單,所以這裡我就先不放注釋了,這組代碼簡潔,易懂,佔用內存小,如果有哪裡不明白請關注我並給我留言,我看到後會第一時間回復,謝謝!

最後說明一下:大家不要著急,先從最最基礎的程序開始學習,和我一起從零開始,打好基礎理解透每一個程序

單只數碼管循環顯示0~F

Proteus 仿真原理圖如圖所示

PROTEUS 仿真截圖

51單片機參考原始碼如下 :

/* 單只數碼管循環顯示0~F */

#include <reg51.h>

typedef unsigned char uint8;

typedef unsigned int uint16;

code uint8 LED_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,

0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8E};

void delay(uint16 x)

{

uint16 i,j;

for(i = x; i > 0; i --)

for(j = 114; j > 0; j --);

}

void main()

{

uint8 i = 0;

while(1)

{

for(i = 0; i < 16; i ++) //i = (i + 1) % 16

{

P0 = LED_CODE[i];

delay(500);

}

}

}

相關焦點

  • proteus仿真之8位數碼管動態掃描顯示試驗
    /*Proteus 仿真之8位共陰數碼管動態掃描實驗*/0x6f};   // 數碼管顯示段碼值 0~9unsigned char code Seg_Wei[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};        //數碼管的位碼,低電平有效。
  • 單片機C語言程序設計:單只數碼管循環顯示 0~9
    /* 名稱:單只數碼管循環顯示 0~9說明:主程序中的循環語句反覆將 0~9 的段碼送至 P0 口,使數字 0~9 循環顯示>#define uint unsigned intuchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//延時void DelayMS(uint x){uchar t;while(x--) for(t=0;
  • PWM控制MOSFET搭建的H橋電路驅動直流電機仿真與單片機源碼
    PIC單片機 proteus H橋驅動直流電機PWM控制MOSFET搭建的H橋電路驅動直流電機運行仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)TIM1_CR1寄存器中的計數方向位(DIR)由硬體更新,不要用軟體修改它。 圖 3-2給出了一些中央對齊的PWM波形的例子 · TIM1_ARR=8 ; · PWM模式 1; · TIM1_CR1 寄存器中的 CMS=01,在中央對齊模式 1 時,當計數器向下計數時標誌被設置。
  • 基於PIC16F877的四位數碼管動態顯示PROTEUS仿真
    0x0FCLRF DISPNUM0 ; 是,將DISPNUM清0GOTO MAIN ; 循環執行;- 主程序結束 ----; 四位數碼管顯示子程序 LEDDISP4:MOVF DISPNUM0,0 ; 取數碼管個位寄存器的值到WCALL CONVERT ; 查表取回數碼管顯示碼MOVWF
  • 學習電路仿真:基於proteus電路仿真軟體的步進電機仿真
    本設計利用proteus仿真軟體進行電路仿真,系統通過設置四個按鍵分別控制不進電機的起止、圈數、方向、不進速度,使用1602液晶顯示以上參數。整個系統具有穩定性好,實用性強,操作界面友好等優點。步進電機是一種將電脈衝轉變為角位移的執行機構,可通過控制脈衝數來控制角位移量。步進電機廣泛應用在生產實踐的各個領域。
  • 用Proteus學習51單片機之數碼管
    今天學的是數碼管和鎖存器的使用。用鎖存器的目的,是為了減小IO口的使用,本來至少得用15根IO口的,用了鎖存器後,只需要用10根IO口,若是繼續增加數碼管,IO口的增加也是一根根增加了。
  • 數碼管顯示數字 5 C語言程序設計
    ,在高刷新頻率下,單片機的資源耗費很厲害,這樣單片機就不可以再進行大量的計算工作,實際上,單片機在刷新時,只需要周期性的改變GPIO口的狀態就可以了,剩下的時間其實都是在空轉的狀態下,我們能不能將這個空轉的狀態拿來用呢?
  • 51單片機直接驅動共陰極數碼管
    單片機驅動Led數碼管(或n個Led)應該算是單片機經典試驗之一了。數碼管種類:本文引用地址:http://www.eepw.com.cn/article/201611/321065.htm 少量的數碼管實際可以直接用單片機驅動(如4個數碼管)。數碼管數碼管有兩種:共陰極和共陽極數碼管。
  • 自學單片機第四篇:proteus pro軟體
    私信回復:軟體或單片機,可領取正版程序寫好,如果有硬體,可以直接刷,如果沒有,我建議還是用仿真軟體,這樣調試時不用考慮硬體問題,把軟體調好,就可以慢慢調硬體了。以後這是我們仿真的主戰場了。我們輸入網址labcenter,進入官網。
  • Proteus的LED滾屏設計與仿真
    該設計基於英國Labcenter Electronics公司開發的仿真軟體Proteus,在產品開發的初期,使用這個軟體無疑是一種提高效率和降低成本的好辦法。LED電子屏在日常生活中隨處可見,尺寸有大有小,屏幕顯示的內容有靜態的和動態的,動態的大多採用滾動和閃爍等方式。
  • 通過38解碼器控制數碼管顯示數字
    今天終於把38數碼器控制原理及編程序搞得一點點了,之前因為是P0^1,2,3三個口控制數碼管的位操作,一直搞不懂其原理,呵呵,看了下PDF文檔,以及編程實例,總算明白一點點了,剛剛編成了一連串的數字
  • 51單片機數碼管顯示的數字鐘
    這是一個基於51單片機的數字鐘程序用數碼管來顯示數據.本文引用地址:http://www.eepw.com.cn/article/201611/323805.htm原理圖原始碼及仿真文件下載地址:http://www.51hei.com/bbs/dpj-20407-1.html下面是源碼:#include unsigned char code dispcode
  • 基於ATmgea8型單片機的加熱控制系統
    單片機結合現場溫度與用戶設定的目標溫度,按照已經編程固化的增量式PID控制算法計算出實時控制量。以此控制量使能光電隔離驅動電路,決定加熱電路的工作狀態,使爐溫逐步穩定於用戶設定的目標值。系統運行過程中的各種狀態參量均由數碼管實時顯示,並通過RS232串口與上位計算機進行全雙工通信。用戶直接在上位機完成溫度測量和加熱控制的全部操作。
  • 基於NiosⅡ軟核處理器的七段數碼管動態顯示
    display_data_reg是個一個32位二進位的數據寄存器,其數據每4位可以解碼得到1個數碼管的七段顯示所需的字符碼,因此,display_data_reg同時最多可以給出8個數碼管所需要的顯示數據。control_reg是一個8位二進位的控制寄存器,但只定義了0~2位和第4位的含義。
  • 數碼管的靜態與動態顯示技術分析
    數碼管是單片機系統中經常用到的顯示器件, 從內部結構上可以分為共陰極和共陽極數碼管。對不同的數碼管,電路的接法也不一樣。圖1A為數碼管的結構圖。以共陽極數碼管為例, 要想點亮某段, 只需要在相應的段上給低電平即可。圖1B為共陽極數碼管段碼分布, 以及一個顯示的實例。
  • 基於C語言51單片機電子密碼鎖的設計與仿真
    0、引言  電子密碼鎖是現代生活中常用的加密工具。  電子密碼鎖通常使用ARM和單片機控制,單片機相對ARM實現較為簡單,功能較為完善,因此使用單片機控制較多。用單片機控制的窖碼鎖常使用彙編語言編寫程序,顯示器多數用。而本文所介紹的電子密獁鎖使用移植性及可讀性強的高級語言C語言編寫,便於修改和增減功能蚤同時採用顯示清楚數碼管,功率消耗小而且壽命長的 液晶顯示器,顯示更加直觀,使用更加方便。
  • 用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統
    作者介紹了基於AT89C52單片機的兩相混合式步進電機控制系統的設計方案,增加了步進電機控制系統設計的靈活性。控制系統採用AT89C52單片機作為控制器,由達林頓功率管BUW49組成的雙H橋式電路作為驅動器,加入按鍵控制及LCD1602顯示。控制系統的電路結構簡單、設計思路清晰。實驗表明,控制系統操作簡單、運行可靠,具有較強的實用性。
  • 用單片機實現位邏輯運算
    51 單片機:在 P0 口接上 8 個 LED,實現每次亮兩個燈的流水燈 要求:每次亮相鄰兩個燈,分別閃爍五次後> 2020-05-08 51單片機 4個獨立按鍵控制LED燈 (protues仿真)(C語言版) }}void main(){while(1){key();}}四、運行程序後成功後,打開proteus右鍵單擊單片機AT89C51,找到編輯
  • STC89C52單片機對數字溫度計顯示系統的設計
    而在人們的日常生活或工業生產中,經常要對溫度進行檢測及控制。在許多場合器材設備對溫度的要求非常高,而傳統的溫度計反應速度慢、讀數麻煩、測量精度不高、誤差大,所以需要設計一種高精度的溫度計。為了在很大程度上提高對溫度的控制水平,因此以單片機為核心的溫度採集與控制系統很有用研發和應用意義。本文研究了一個可以實時存儲和顯示當前的溫度數據,並且可以切換顯示當前的時間而且可對其時間進行修改的溫度顯示系統。
  • 基於單片機的多功能搶答器設計
    編者按:設計了一種以單片機AT89C51為核心的四路搶答器,從硬體和軟體兩方面詳細介紹了搶答器的設計方法,結合Proteus軟體的仿真結果,根據電路圖焊接實物,軟體仿真及硬體調試結果表明,該搶答器的設計實現了預期的目標。