1樓:匿名使用者
多看看書吧》
51微控制器用c語言寫就好了。。。
編譯工具 keil
2樓:匿名使用者
給你最簡單的,看得清楚易懂的,p1口接8位led,有多種閃爍方式。p2(掃描端在p2口,p3為位選端,注意看**)口接上兩位數碼管的話還可以顯示00-99的數字:
zhucx: mov a,#11111110bmov p1,a
acall yanshi
mov a,#11111100b
mov p1,a
acall yanshi
mov a,#11111000b
mov p1,a
acall yanshi
mov a,#11110000b
mov p1,a
acall yanshi
mov a,#11100000b
mov p1,a
acall yanshi
mov a,#11000000b
mov p1,a
acall yanshi
mov a,#10000000b
mov p1,a
acall yanshi
mov a,#00000000b
mov p1,a
acall yanshi
mov a,#10000000b
mov p1,a
acall yanshi
mov a,#11000000b
mov p1,a
acall yanshi
mov a,#11100000b
mov p1,a
acall yanshi
mov a,#11110000b
mov p1,a
acall yanshi
mov a,#11111000b
mov p1,a
acall yanshi
mov a,#11111100b
mov p1,a
acall yanshi
mov a,#11111110b
mov p1,a
acall yanshi
mov a,#11111111b
mov p1,a
acall yanshi
mov r4,#5
d5 : mov a,#01111110bmov p1,a
acall yanshi
mov a,#10111101b
mov p1,a
acall yanshi
mov a,#11011011b
mov p1,a
acall yanshi
mov a,#11100111b
mov p1,a
acall yanshi
mov a,#11011011b
mov p1,a
acall yanshi
mov a,#10111101b
mov p1,a
acall yanshi
mov a,#01111110b
mov p1,a
acall yanshi
djnz r4,d5
acall yanshi
mov r0,#3
loop: mov a,#01010101bmov p1,a
acall yanshi
mov a,#10101010b
mov p1,a
acall yanshi
djnz r0,loop
mov a,#11111110b
mov p1,a
acall yanshi
mov a,#11111101b
mov p1,a
acall yanshi
mov a,#11111011b
mov p1,a
acall yanshi
mov a,#11110111b
mov p1,a
acall yanshi
mov a,#11101111b
mov p1,a
acall yanshi
mov a,#11011111b
mov p1,a
acall yanshi
mov a,#10111111b
mov p1,a
acall yanshi
mov a,#01111111b
mov p1,a
acall yanshi
mov a,#10111111b
mov p1,a
acall yanshi
mov a,#11011111b
mov p1,a
acall yanshi
mov a,#11101111b
mov p1,a
acall yanshi
mov a,#11110111b
mov p1,a
acall yanshi
mov a,#11111011b
mov p1,a
acall yanshi
mov a,#11111101b
mov p1,a
acall yanshi
mov a,#11111110b
mov p1,a
acall yanshi
start:mov r0,#0
mov dptr,#table
loop1:acall display
inc r0
cjne r0,#100,loop1
jmp zhucx
display:mov a,r0
mov b,#10
div ab
mov r1,a
mov r2,b
mov r3,#50
loop2:mov a,r2
acall chang
clr p3.6
acall dly10ms
setb p3.6
setb p3.5
mov a,r1
acall chang
clr p3.7
acall dly10ms
setb p3.7
setb p3.4
djnz r3,loop2
retchang:movc a,@a+dptrmov p2,a
retdly10ms:mov r6,#10d1: mov r7,#200
djnz r7,$
djnz r6,d1
retyanshi :mov r5,#30d3:mov r6,#50
d4:mov r7,#50
djnz r7,$
djnz r6,d4
djnz r5,d3
rettable:db 0c0h,0f9h,0a4h,0b0hdb 99h,92h,82h,0f8h
db 80h,90h,88h,83h
db 0c6h,0a1h,86h,8ehend
3樓:
你是電子科大成都學院的吧...?
微控制器mcs-51彙編問題。p1 口接8個led燈,程式執行後,8個led燈閃爍,閃爍頻率為20hz。急急急!!!!!!
4樓:尚雲社
根據你的要求寫了一個,記得選擇滿意答案哦
;fosc = 12mhz
;sysclk = 1us
flag bit 00h
cnt equ 25000 ;計時器初始值,頻率 = 20,週期 = 50ms,一半為25ms
org 00h
jmp main
org 0003h
jmp int0_isr
org 000bh
t0_isr:
mov tl0,#(65536 - cnt) mod 256mov th0,#(65536 - cnt) / 256jb flag,t0_end
xrl p1,#0ffh
t0_end:
reti
int0_isr:
cpl flag
reti
main:
mov sp,#50h
clr flag
mov tmod,#01h
mov tl0,#(65536 - cnt) mod 256mov th0,#(65536 - cnt) / 256setb tr0
setb it0 ;下降沿觸發
mov ie,#83h
mov p1,#00h
jmp $end
利用c51微控制器控制8個led燈同時閃爍的程式
5樓:匿名使用者
#include
#define uchar unsigned charvoid delay(uchar a)
main()}
51微控制器如何實現多執行緒多工 有哪些程式可以在「後臺」自己執行
51微控制器可以實現執行時間片形式的多執行緒任務,具體做法是 1 弄個表兩位元組一個單位存一下各個任務的執行地址。2 在中斷級別較高的t0定時器中斷中,把中斷壓進堆疊的那兩個位元組儲存到表裡。3 用表裡別的執行緒的地址重壓進堆疊。4 從中斷裡退出就可以切到另一個執行緒繼續跑了。我記得這個在早先200...
51微控制器連線12位七段數碼管,如何驅動(用三極體)
注意要加延時,以匹配段選。否則會出現錯位的現象。 我覺得用三極體驅動可能使電路變得複雜,除錯起來也比較麻煩,還是考慮一下max7219 max7221,一塊晶片就可以驅動8位數碼管了。還可以級連。驅動程式寫起來也很簡單。 邵獻 我給你個4led的,懶得畫圖了。要增加管子的數量,把hc138換成hc1...
需要程式用51微控制器控制led每一秒鐘閃爍一次
生活如歌 include include define uchar unsigned char define uint unsigned intsbit led p1 3 sbit rs p1 0 sbit rw p1 1 sbit e p2 5 sbit dula p2 6 sbit wela p...