專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
在使用單片機(jī)開發(fā)項(xiàng)目的時(shí)候,經(jīng)常會(huì)使用到7段顯示器。7段顯示器可以顯示字母和數(shù)字,它內(nèi)部是其實(shí)是發(fā)光LED燈,通過控制不同的接口點(diǎn)亮內(nèi)部LED燈,從而顯示出數(shù)字。目前,它在許多電子產(chǎn)品中用于顯示信息,比如:充電寶、直發(fā)器等。
7段顯示器由8個(gè)LED構(gòu)成,這些LED以順序方式連接,以方便在打開某些LED組合時(shí)顯示0到9的數(shù)字。點(diǎn)亮?xí)r,它一次只顯示一位數(shù)字。
使用8051單片機(jī)在7段顯示器上顯示數(shù)字的原理圖:
在7段顯示器上顯示從“0到F”的數(shù)字的程序是:
#include<reg51.h> sbit a= P3^0; sbit x= P3^1; sbit y= P3^2; sbit z= P3^3; void main() { unsigned char m[10]={0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}; unsigned int i,j; a=x=y=z=1; while(1) { for(i=0;i<10;i++) { P2=m[i]; for(j=0;j<60000;j++); } } }
在7段顯示器上顯示從“00到10”的數(shù)字的程序是:
#include<reg51.h> sbit x= P3^0; sbit y= P3^1; void display1(); void display2(); void delay(); void main() { unsigned char m[10]={0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}; unsigned int i,j; ds1=ds2=0; while(1) { for(i=0,i<20;i++) display1(); display2(); } } void display1() { x=1; y=0; P2=m[ds1]; delay(); x=1; y=0; P2=m[ds1]; delay(); } void display2() { ds1++; if(ds1>=10) { ds1=0; ds2++; if(ds2>=10) { ds1=ds2=0; } } } void delay() { unsigned int k; for(k=0;k<30000;k++); }
以上就是英銳恩單片機(jī)開發(fā)工程師分享的“使用8051單片機(jī)在7段顯示器上顯示數(shù)字”。英銳恩專注單片機(jī)應(yīng)用方案設(shè)計(jì)與開發(fā),提供8位單片機(jī)、16位單片機(jī)、32位單片機(jī)。