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

2021-09-01 18:44:17 字數 5772 閱讀 6655

1樓:匿名使用者

#include

#include

typedef unsigned char uchar;

typedef unsigned int uint;

uchar code table = ;//- 0xbfvoid delay(uchar t)

} void opertion ()

//p2 = 0x01

p0 = table[0];

delay(10);

}//顯示--12

for(b = 0;b<20;b++)

p2 = 0x02;

for(k = 0;k<2;k++)

}//顯示-123

for(c = 0;c<20;c++)

}//顯示1234 2345 3456 4567for(k = 0;k<4;k++)}}

d = 0;

//顯示567-

for(d = 0;d<20;d++)

p0 = 0xbf;

delay(10);

}d = 0;

//顯示67--

for(d = 0;d<20;d++)

for(k = 0;k<2;k++)

}d = 0;

//顯示7---

for(d = 0;d<20;d++)}}void main()}

2樓:

加扣扣 504111933,我來幫你

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

3樓:匿名使用者

#include

#define uchar unsigned charuchar tab=; //0到9

uchar num;

uchar led=;

void t0isr() interrupt 1p0=~tab[led[num]];

num++;

num&=0x03;

}main()

用at89c51微控制器實現四位數碼管顯示1234 c語言 5

4樓:做而論道

參考。

at89c51微控制器實現4位數碼管顯示學號後四位,謝謝

5樓:匿名使用者

#include

#define uchar unsigned char#define uint unsigned int//共陰數碼管七段碼

uchar code table=;

uchar code table2=;//這就是學號的後4位,自行修改

void display()//4位顯示子程式void delay1ms(uint i) //1ms延時程式}}void main(void )//主程式}

6樓:再睡一下下啦

wei4=0;上面少了箇中括號

at89c51微控制器怎麼用組合語言讓4個數碼管同時顯示1234?

7樓:大野瘦子

org 00h

ajmp main

org 30h

main: lcall disp

mov 20h,#1

mov 21h,#2

mov 22h,#3

mov 23h,#4

ajmp main

disp: mov a,20h

acall seg7

mov p0,a

setb p2.0

acall dly

clr p2.0

mov a,21h

acall seg7

mov p0,a

setb p2.1

acall dly

clr p2.1

mov a,22h

acall seg7

mov p0,a

setb p2.2

acall dly

clr p2.2

mov a,23h

acall seg7

mov p0,a

setb p2.3

acall dly

clr p2.3

retdly: mov r7,#2

d1: mov r6,#40

djnz r6,$

djnz r7,d1

retseg7: inc a

movc a,@a+pc

retdb        0c0h;0

db        0f9h;1

db        0a4h;2

db        0b0h;3

db        099h;4

db        092h;5

db        082h;6

db        0f8h;7

db        080h;8

db        090h;9end

8樓:匿名使用者

通常的辦法是掃描顯示,這樣的話,用12個io口就可以實現了,8位段碼加上4位位碼。程式如下:

dat equ 30h

scanled equ 34h

org 0000h

ljmp main

org 000bh

ljmp t0isr

org 0030h

main:

mov sp,#5fh

mov tmod,#01h

mov th0,#0f4h

mov tl0,#048h

mov p2,#00h

mov scanled,#0

mov 30h,#1

mov 31h,#2

mov 30h,#3

mov 31h,#4

setb ea

setb et0

setb tr0

sjmp $

;--------------------t0isr:

clr tr0

mov th0,#0f4h

mov tl0,#048h

setb tr0

mov dptr,#ledtab

mov r0,#dat

mov a,scanled

add a,r0

mov r0,a

mov a,scanled

jnz t001

mov p2,#01h

sjmp t0dis

t001:

dec a

jnz t002

mov p2,#02h

sjmp t0dis

t002:

dec a

jnz t003

mov p2,#04h

sjmp t0dis

t003:

mov p2,#08h

t0dis:

mov a,@r0

movc a,@a+dptr

cpl a

mov p0,a

inc scanled

mov a,scanled

anl a,#03h

mov scanled,a

pop acc

reti

;--------------------ledtab:

db 0c0h ;"0" 00h

db 0f9h ;"1" 01h

db 0a4h ;"2" 02h

db 0b0h ;"3" 03h

db 99h ;"4" 04h

db 92h ;"5" 05h

db 82h ;"6" 06h

db 0f8h ;"7" 07h

db 80h ;"8" 08h

db 90h ;"9" 09h

;--------------------end

9樓:軍初瑤

動態顯示,先顯示1,再顯示2,3,4輪流。

求問,在atc89c51微控制器,四位數碼管,顯示學號1308010123,c語言程式怎麼寫?

10樓:做而論道

參考

11樓:微控制器的戰鬥機

要求和圖發過來給我,有扣扣嗎?幫你解答

用at89c51微控制器,4位共陰極數碼管,顯示出1234 程式怎麼寫?????? 請各位朋友幫忙!謝謝!

12樓:匿名使用者

mov  31h,#01h

mov  32h,#02h

mov  33h,#03h

mov  34h,#04h

mov  35h,#05h

mov  36h,#06h

acall   d0

jmp     $-2

d0:    mov  r0,#31h

mov   r2,#11111110b

mov    dptr,#tab

d1:    orl    p1,#00111111bmov   a,@r0

movc   a,@a+dptr

mov    r3,#8

d2:     rlc  a

mov    p3.2,c

setb   p3.3

clr    p3.3

djnz   r3,d2

inc    r0

mov   a,r2

anl    p1,a

d3:     mov   r3,#250djnz   r3,$

mov   a,r2

rl   a

mov   r2,a

jb   acc.6,d1

rettab:     db 3fh,06h,5bh,4fhdb 66h,6dh,7dh,07h

db 7fh,6fh,77h,7ch

db 39h,5eh,79h,71h

db 40hend

求程式用at89c51微控制器......用六位數碼管實現數字時鐘,顯示時分秒,用兩個按鍵可分別調整時、分。

13樓:匿名使用者

#include

#define uint unsigned int#define uchar unsigned charuchar temp,aa,miao,fen,shi;

sbit m=p3^0;

sbit n=p3^1;

uchar code table=;

void display(uchar miao,uchar fen,uchar shi);

void delay(uint z);

void init();

void main()

}void delay(uint z)

void display(uchar miao,uchar fen,uchar shi) // 顯示子函式

void init() // 初始化子函式void timer0() interrupt 1 //定時計數器中斷}}

if(m==0) // 調分

if(n==0) // 調小時}

用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...

AT89C51微控制器中片內資料儲存器有幾個特殊暫存器

在51系列微控制器copy 中這些特殊功能暫存器都是離散的分別在晶片的128位元組的ram中,其中已經定義了21個特殊功能暫存器 52晶片定義了26個特殊功能暫存器 對於沒有定義的地址空間使用者不要去向其中賦值或者讀取其中資料,這些空間是留給新型51微控制器使用的。在51微控制器中,地址為0或者8結...

89C89S51前景微控制器問題,89C51 89S51前景 微控制器問題

你如果熟了應用了一個系列的微控制器,其他的原理也相似。再說s51和c51都是51系列的微控制器。一般都是從51學起,市場上教科書c的較多,原因是c的 易移植 好編寫,但是我想為了熟悉硬體彙編也要熟悉的。微控制器應用還是比較廣泛的,但是現在嵌入系統發展很快 基於windowce的功能強大,我認為更注重...