A. 單片機匯編語言數碼管顯示0到9
先設計電路,在編寫程序。
下圖電路,供你參考。
B. 51單片機 讓數碼管自動顯示0至9的C程序。有沒有比這個更簡單的
可以通過代碼優化的方式來簡化代碼。
一、設置延時函數
延時函數在單片機中有著讓現實延時的能力,本程序中可以通過採用for循環方式進行延時,具體代碼如下:
void delay()
{
uinti,j;
for(i=100;i>0;i--)
for(j=1000;j>0;j--);
}
二、設置數碼管顯示數組
數組定義簡單,而且訪問很方便。所有元素類型相同,在數碼管顯示程序中可以讓程序代碼減少。數組代碼如下:
chara[10]={0xff,0x3,0x9f,0x25,0xd,0x99,0x49,0x41,0x1f,0x1,0x9};
三、設置數碼管顯示循環
數碼管顯示循環可以不用編寫一次又一次的數碼管顯示代碼,既方便又簡潔。具體代碼如下:
for(inti=0;i<10;i++)
{
P0=a[i];
delay();
}
(2)單片機用串口數碼管顯示0到9擴展閱讀
單片機程序進行簡化可以查看是否有反復出現的代碼序列,整合成循環進行更改。同一類型且用法相同的變數可以整合成數組,方便對各個內容進行訪問。有特定功能的代碼段可以定義一個函數進行訪問。
注意:用C51語言編輯的單片機程序與普通C語言不同,C51語言中的數據類型和標准c中的數據類型不同。
C. 求單片機大神指教,1.要求單片機完成功能:利用P2口控制一個共陰極的數碼管,使之循環顯示0—9數字……
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
sbit rstkey=P2^2;
sbit speaker=P2^0;
void delay()//延時約400毫秒
{
uchar i,j;
for(i=0;i<200;i++)
for(j=0;j<250;j++);
}
main()
{
uchar i;
while(1)
{
P1=table[i];
delay();
i++;
i%=10;
}
}
D. 單片機匯編語言讓數碼管顯示0到9
ORG00H
LJMPMAIN
ORG30H
MAIN:
MOVDPTR,#TABLE
MOVR7,#10
MOVA,#0
LOOP:
LCALLDISPLAY
LCALLDELAY
INCA
DJNZR7,LOOP
LJMPMAIN
DISPLAY:
PUSHACC
MOVCA,@A+DPTR
MOVP1,A
POPACC
RET
DELAY:
DL1:DJNZR6,DL1
DL2:DJNZR6,DL2
DJNZR7,DL1
RET
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
再試試看。
E. 單片機 用51單片機顯示一個數碼管輪流顯示9到0再從0到9每隔一秒出現一次(用匯編語言)謝謝各
ORG 0000H
MOV DPTR,#TAB
MOV P0,#0FFH
LOP:
LOOP0:MOV 20H,#9
MOV R0,#10
LOOP1:MOV A,20H; 9-0
MOVC A,@A+DPTR
MOV P0,A
DEC 20H
CALL DELL;YANSHI
DJNZ R0,LOOP1
MOV 20H,#0;0-9
MOV R0,#10
LOOP2:MOV A,20H; 0-9
MOVC A,@A+DPTR
MOV P0,A
INC 20H
CALL DELL;YANSHI
DJNZ R0,LOOP2
AJMP LOP
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELL:MOV R7,#250;yanshi,SHIZHONG:1WEIMIAO,YUEWEI1s
DEL1:MOV R6,#200
DEL2:MOV R5,#10
DEL3:DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
F. 51單片機c語言設計,按鍵控制數碼管,依次按下顯示0到9循環
假設你的是共陽極數碼管,P0接數碼。按鍵接P2^0;
#include<reg52.h>
typedef unsinged int uint;
sbit key=P2^0;
unsigned char tab[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void denay(uint x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--)
}
void main()
{
uchar a;
while(1)
{
P0=tab[a];
if (key1==0)
{delay(10);
if(key==0)
{
while(!key1);
a++;
if(a==10) a=0;
}
}
}
G. 單片機數碼管顯示0到9
#include<reg51.h>
sbitk1=P1^0;
#define uint16 unsigned int
#define uchar unsigned char
uchar code shuzu[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(){
uint16 i=1000;
while(i--);}
void main()
{
uchar n ;
P2=0xfe;
P1=0xff;
while(1)
{
if(k1==0){
if(n>=9) n=0;
else n++;
P0=shuzu[n];
while(!k1);
delay();
while(!k1);
}
}
}
(7)單片機用串口數碼管顯示0到9擴展閱讀:
51單片機的功能特性
1,可以模擬63K程序空間,接近64K 的16位地址空間;
2,可以模擬64Kxdata 空間,全部64K 的16位地址空間;
3,可以真實模擬全部32 條IO腳;
4,完全兼容keilC51 UV2 調試環境,可以通過UV2 環境進行單步,斷點, 全速等操作;
5,可以使用C51語言或者ASM匯編語言進行調試 ;
6,可以非常方便地進行所有變數觀察,包括滑鼠取值觀察,即滑鼠放在某 變數上就會立即顯示出它此的值;
7,可選 使用用戶晶振,支持0-40MHZ晶振頻率;
8,片上帶有768位元組的xdata,您可以在模擬時選 使用他們,進行xdata 的模擬;
9,可以模擬雙DPTR 指針;
10,可以模擬去除ALE 信號輸出. ;
11,自適應300-38400bps 的所有波特率通訊;
12,體積非常細小,非常方便插入到用戶板中.插入時緊貼用戶板,沒有連接電纜,這樣可以有效地減少運行中的干擾,避免模擬時出現莫名其妙的故障;
13,模擬插針採用優質鍍金插針,可以有效地防止日久生銹,選擇優質園腳IC插座,保護模擬插針,同時不會損壞目標板上的插座. ;
14,模擬時監控和用戶代碼分離,不可能產生不能模擬的軟故障;
15,RS-232介面不計成本採用MAX202集成電路,串列通訊穩定可靠,絕非一般三極體的簡易電路可比。