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) // 調小時}
89c51微控制器問題,使AT89C51微控制器復位有幾種方法 復位後的狀態如何
一定要採用與運算的話,我是這樣算的 unsigned char target 待測試數unsigned char tmp,i,j 變數tmp 0x01 j 0 for i 7 i 0 i tmp 1 tmp左移一位 接下來判斷j是偶數還是奇數就能知道target裡1的個數了。回hanxingfdx ...
用c語言怎麼在微控制器at89c51上編寫延時10秒的
1 十秒對於微控制器來說是很長很長的時間了,微控制器十秒的時間什麼事都不能做,只在跑這延時程式,那是什麼概念,用中斷的話,微控制器正常執行其他程式,只是時間到了才過來處理延時以後的程式,效率不知道高了多少 2 例程 假設晶振12mhz include reg51.h unsigned int ysj...
求at89c51微控制器和adc0809 AD轉換器的連線方法
塞千山 把8031直接換成8951就行啦 管腳是一樣的 電路如圖 程式如下 include define uint unsigned int define uchar unsigned charuchar code leddata 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d...