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

2020-12-20 從零開始學單片機設計

數碼管顯示是每一個單片機初學者都必須學的,而單片機驅動數碼管的數字循環顯示實驗,又是單片機基礎中的基礎,同時也是學好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);

}

}

}

相關焦點

  • 單片機控制八隻數碼管滾動顯示1~8 附PROTEUS軟體仿真圖
    數碼管顯示是每一個單片機初學者都必須學的,而單片機驅動數碼管的數字循環顯示實驗,又是單片機基礎中的基礎,同時也是學好C語言編程的關鍵,此實驗在硬體上可以弄清楚單片機驅動原理和數碼管的顯示原理,在軟體上可以幫助建立編程思維和良好的編程習慣,同時加深C語言中 函數,變量和循環結構語句的學習
  • 單個數碼管顯示0-9
    一、實驗要求使用51單片機控制單個數碼管,使其循環顯示0-9.二、實驗原理數碼管(Segment Displays)由多個發光二極體封裝在一起組成「8」字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。數碼管實際上是由七個發光管組成8字形構成的,加上小數點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。
  • 介紹一個非常好用的單片機仿真軟體PROTEUS(帶下載連結)
    一臺電腦是必備,計算機可用來寫程序,也可用來做仿真。最好能買一塊單片機的開發板,最簡單的那種,包含流水燈,數碼管,按鍵,顯示屏即可,淘寶網價錢不等,100不到就能買到好的。這樣能接觸到實物,直接用實物進行調試,更易於單片機的學習和開發。
  • Proteus軟體仿真與Keil的51單片機系統設計
    本文講述PROTEUS VSM單片機系統的PROTEUS設計與仿真功能,圖2為基於PROTEUS仿真軟體的單片機系統設計流程,它極大地簡化了設計工作,得到眾多設計師的青睞。  2.1 硬體設計  2個七段數碼管顯示馬表時間,用51單片機的P1口驅動;按鍵SP掛在外部中斷0的I/O口上,第1次按下表示開始運行,第2次按下為計時停止,第3次按下重新歸零;擴展程序存儲器27256、數據存儲器62256主要是緣於嵌入式作業系統μC/OSII下的應用程式設計,片內存儲空間有限,同時也方便擴展。
  • 74HC595控制8位數碼管 51單片機
    // 此代碼刷新速度有點慢,注意想辦法優化,time變量用定時器中斷處理,主函數不斷地刷新顯示函數,這樣就不會有閃屏,當然在STM32平臺毫無壓力 #includesbit SCK = P3^2;    // 數據輸入時鐘線,脈衝sbit SI
  • 學習電路仿真:基於proteus電路仿真軟體的步進電機仿真
    本設計利用proteus仿真軟體進行電路仿真,系統通過設置四個按鍵分別控制不進電機的起止、圈數、方向、不進速度,使用1602液晶顯示以上參數。整個系統具有穩定性好,實用性強,操作界面友好等優點。步進電機是一種將電脈衝轉變為角位移的執行機構,可通過控制脈衝數來控制角位移量。步進電機廣泛應用在生產實踐的各個領域。
  • 單片機編程:讓led數碼管顯示數字0到9
    打開APP 單片機編程:讓led數碼管顯示數字0到9 發表於 2018-01-15 16:23:34 led數碼管(LEDSegmentDisplays
  • 基於Multisim13的數碼管電路仿真
    首先,搭建好仿真電路其次,開始仿真其次,仿真結束後,查看電路仿真結果,驗證設計指標是否達到元器件1:CD4511元器件2:共陰極數碼管元器件3:電源元器件4:GND二:搭建電路第一步:搜索 數碼管在器件搜索裡找到 HEX_DISPLAY選項,在該子項目裡找尋需要的數碼管。
  • 「Proteus」單片機H橋驅動24V直流有刷電機-電子芯吧客
    先附上完整的仿真電路圖一張,再逐個講解:要想使用H橋,就得需要一個半橋驅動晶片,當然,在市面上的各種驅動晶片應有盡有,半橋驅動晶片,三相橋集成驅動晶片等等,但在protues中,我只找到一款IR2101驅動,這是一款高壓驅動晶片,24V算是低壓的,不過也沒關係了,只能用這個,仿真應該是可以的。
  • 基於proteus的51單片機開發實例24-矩陣鍵盤(行列式鍵盤)
    我們知道,51單片機總共只有4個8位I/O口,如果外部電路功能較多,I/O口就會不夠用,例如如果電路中接了一個8位數碼管,又接了16個按鍵,那麼即使數碼管採用動態掃描法 也需要佔用16個I/O口(8位I/O口用於連接數碼管8個段,另8位I/O口用於控制8位數碼管的每一位),這時如果按鍵還是採用獨立按鍵的接法
  • 51單片機學習之4-數碼管
    圖(b)右邊的電路圖可以看出,所有的二極體正極都接在電源正極,a、b、c、d、e、f、g、dp都接在單片機的IO口上,在《51單片機複習筆記1》:http://www.51hei.com/mcu/2111.html中介紹過驅動二極體的原理,所以這裡只需要在相應的二極體負極給低電平即可讓相應的二極體發光。這裡補充一下,為什麼給高電平二極體就不亮,給低電平就亮呢。
  • 如何使用通用單片機製作MIDI鍵盤
    有些計算機音序軟體支持用電腦鍵盤模擬琴鍵,可通過計算機鍵盤將音符輸入計算機,有愛好者就用電腦鍵盤的控制晶片改裝玩具電子琴,將其並接在計算機鍵盤上,稱之為電腦琴,但這種控制晶片本身並不是為演奏音樂開發的,單音演奏還可以,在多個按鍵壓下時會出錯。
  • 單片機驅動數碼管設計詳解(74HC595實現)
    數碼管顯示設計本設計使用了一個4位的數碼管,為共陽型,為了節省單片機的IO口,使用了兩片74HC595作為數碼管的驅動晶片,共佔用3個IO口。單片機執行完這個程序後,數據才會在數碼管上顯示出來。> 推薦閱讀 51單片機學習實踐:用NTC電阻測溫並顯示在TM1637數碼管 STC15單片機實驗名稱:使用NTC電阻測量溫度實驗內容:        使用NTC電阻測量溫度並顯示在數碼管上        讀取DS18B20模塊測量溫度作為參考實驗器材:        STC15W408AS_DIP16
  • 0.36寸3位7段數碼管
    0.36寸3位7段數碼管   數碼管動態顯示接口是單片機中應用為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃「a,b,c,d,e,f,g,dp」的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是哪個數碼管會顯示出字形,取決於單片機對位選通COM端電路的控制,
  • 基於proteus的51單片機開發實例37-DAC0832
    基於proteus的51單片機開發實例37-DAC08321.1. 實驗目的之前我們學習了數模轉換晶片DAC0808,今天我們繼續學習另一種D/A轉換晶片DAC0832。設計思路圖1 DAC0832電路本例中使用51單片機控制D/A
  • 自學單片機第四篇:proteus pro軟體
    私信回復:軟體或單片機,可領取正版程序寫好,如果有硬體,可以直接刷,如果沒有,我建議還是用仿真軟體,這樣調試時不用考慮硬體問題,把軟體調好,就可以慢慢調硬體了。以後這是我們仿真的主戰場了。我們輸入網址labcenter,進入官網。
  • Proteus和Keil軟體在單片機項目式教學中的應用
    同時,它具有電路互動仿真功能,通過動態外設模型,如鍵盤、LED/LCD等,可實時顯示系統輸入、輸出結果,以實現交互仿真,或配合Proteus配置的虛擬儀器如示波器、邏輯分析儀等,使單片機虛擬系統實現預期的實驗效果。 Keil軟體是美國Keil Software公司出品的兼容單片機C語言軟體的開發系統,是目前世界上最好的51單片機開發工具之一。
  • 基於proteus的51單片機開發實例33-單片機的編程規範
    基於proteus的51單片機開發實例33-單片機程序的編程規範說明:本文中所說的編程規範只是我個人的一些想法和實踐,有些經驗可能並不能適合所有場合,當然也不可避免的有比較偏頗的看法,請大家多多批評指正。
  • 《顯示器件應用分析精粹》之(3)數碼管靜態顯示
    為了方便對數碼管進行顯示控制,我們使用字母對每個LED發光單元進行了標記,也稱其為「段(Segment)」。數碼管按段的數量可分為七段與八段,後者比前者多了一個LED發光單元,也就是右下方的那一個小數點(dp)。數碼管按內部LED的連接方式可分為與共陽(CommonAnode,CA)與共陰(Common Cathnode, CC)兩類,共陽八段LED數碼管的內部電路示意如下圖所示。
  • 紅外解碼數碼管顯示+串口接收
    #include 本文引用地址:http://www.eepw.com.cn/article/201611/315934.htm//***********************************************************// TC9012 紅外遙控接收數碼管顯示+串口接收