51微控制器控制數碼管並顯示,51微控制器控制8個數碼管並顯示1 8

時間 2021-09-01 18:39:14

1樓:啟巖

數碼管段選連線到微控制器p0口,位選連線到p2口org 0000h

main:

call display

ajmp main

display:

mov r0,#0

mov r1,#0x01

mov dptr,#tab

loop:

inc r0

mov a,r0

movc  a,@a+dptr

mov p0,#0 ;消隱

mov p0,a  ;送段碼

call delay

mov a,r1 ;送位碼

rl a  ;移位

mov p2,a

mov r1,a

call delay

cjne r0,#8,loop ;判斷8次是否迴圈完成retdelay:

mov r6,#25

dd: mov r7,#50

djnz r7,$

djnz r6,dd

rettab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90hend

2樓:匿名使用者

靜態顯示也可以嗎,用164/595擴充套件介面

51微控制器,8個數碼管迴圈顯示1-9的c語言程式。

3樓:生活如歌

假設8個數碼管公共端均接地,同時顯示1-9#include

#include

#define uchar unsigned char#define uint unsigned intuchar code dsy_code=

;void delayms(uint x)void main()

#include

#include

#define uchar unsigned char#define uint unsigned intuchar code dsy_code=

;void delayms(uint x)}void main()}}

用51微控制器八位共陰極數碼管三極體,設計微控制器動態掃描顯示系統,八位數碼管穩定同時顯示1-8數字。

4樓:匿名使用者

樓上的程式不是看你圖編寫的,當然會錯,他那程式裡應該用到鎖存器了,你這兒是直接控制段選,位選的。

5樓:匿名使用者

#include

unsigned char code table=;

void show();

void delay();

void main()

void show()

}void delay()

6樓:琪羅琳

#include"reg52.h"

#define uchar unsigned char#define uint unsigned intsbit dula=p2^6;

sbit wela=p2^7;

uchar aa;

uchar code table=;

void delay(uint x)

void main()}}}

51微控制器數碼管滾動顯示,51微控制器數碼管動態顯示從右往左

薩日朗本郎 include unsigned char code a data 10 void delay ms int ms 毫秒延時程式 void main p2 a data j p0 a data i 用乙個for迴圈,利用陣列,在主函式中定義兩個變數i和j,i表示各位,j表示十位,差不多就...

微控制器驅動數碼管顯示問題,51微控制器數碼管顯示問題

引腳夠的話,直接p0口接個位的數碼管,p2口接十位數碼管,引腳不夠就兩個數碼管掃描顯示,用一暫存器存計數值,然後設一無限迴圈不斷讀暫存器值七段譯碼輸出就可以了,然後計數端接在中斷上,有計數就進中斷 51微控制器數碼管顯示問題 大草原黃花菜 等於零顯示,然後置一關掉,再顯示下一位吧 鎖存器吧。關掉後。...

51微控制器控制的數碼管原理是什麼

翦穎卿庹香 數碼管腳與微控制器px口相連,通過程式控制px口來顯示數字字元比如 一個px.0 a 數碼管顯示段 px.1 b px.6 g px.7 h 對應。控制輸出數字0 9只要給px埠依次賦值 c0h,f9h,a4h,b0h,99h,92h,82h,f8h,80h,90h 共陽極 無長青茆姬 ...