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微控制器4 4矩陣鍵盤控制數碼管顯示,下面的程式不能實現
萬年de守護 你在switch語句裡面要加break語句,然後還要加一個default語句。你再試試。你再深入的看一下。我覺得矩陣鍵盤的程式不用這麼複雜吧?如果你只是單純的用鍵盤控制一下指示燈,直接就不用switch。直接就用0xoo資料進行控制就行。然後用一個if語句進行一下多次選擇。如果你想先識...
微控制器控制led燈和一位數碼管, 51微控制器 我的學習板是LED和數碼管介面都是P0,請問怎麼樣實現分別控制呢?
體積大小可以不同,因為led電流小,但是電阻值要相同。還有焊接時有沒有短路開路,晶振不影響工作,隻影響精度。微控制器,全稱單片微型計算機 英語 single chip microcomputer 又稱微控制器 microcontroller 是把 處理器 儲存器 定時 計數器 timer count...
我這個51微控制器程式為什麼無法點亮數碼管啊
static uint8 j 0 不是寫到refresh led 函式的裡面,不然只執行case 0 led0 0 p0 number a j break 這一句 還有led0 1 led1 1 led2 1 led3 1 led4 1 led5 1 led6 1 led7 1 可以用p2 0xff...