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

2021-09-01 18:39:06 字數 1635 閱讀 4210

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微控制器控制的數碼管原理是什麼

數碼管腳與微控制器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 共陽極 利用引腳輸出高低電平來控...

51微控制器如何讓2位數碼管閃爍,微控制器數碼管動態顯示的過程中,怎麼實現讓其中一個閃爍,其他的不受影響

想讓抄他最後3秒閃爍 我猜應該是像倒計時到快結束時的警報那樣的閃爍吧?這需要再新增一個計時變數。比如總共有10秒,想讓它在最後3秒閃爍,可以這樣 在定時器中斷 比如100ms一次 裡令一個計時變數 假設叫t 加1 加到10就是1秒,加到70就是第7秒。在進行數碼管驅動的時候判斷這個變數t,如果大於7...

用AT89C51微控制器實現四位數碼管顯示資料!!用c語言程式

include define uchar unsigned charuchar tab 0到9 uchar num uchar led void t0isr interrupt 1p0 tab led num num num 0x03 main 用at89c51微控制器實現四位數碼管顯示學號1308...