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 共陽極 無長青茆姬 ...