如何編寫一段程式,微控制器是51系列的,要求編寫LED燈有三種以上的閃爍方式,燈閃爍時間0 5S

時間 2021-11-04 16:41:26

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微控制器控制舵機的??微控制器程式是怎麼寫的?希望你也能給我發編寫程式和電路圖

微控制器系統實現對舵機輸出轉角的控制,必須首先完成兩項任務 首先,產生基本的pwm週期訊號,即產生20ms的週期訊號 其次,調整脈寬,即微控制器調節pwm訊號的占空比。微控制器能使pwm訊號的脈衝寬度實現微秒級的變化,從而提高舵機的轉角精度。微控制器完成控制演算法,再將pwm訊號輸出到舵機。發乙個自...

編寫一段程式,讓微控制器的P1 7輸出1ms的方波 用定時器T1完成 ,晶振頻率12MHz

可軒 機器週期 t 12 fosc 12 12x10 6 2x10 6s 1 s 1ms方波的半週期 500 s 計數值 500 s 1 s 500d 約定t1工作方式0,是13位計數器,2 13 8192d 500d 7692d 1e0ch th1 1eh,tl1 0ch 彙編程式如下 org 0...

請問51微控制器中怎麼用彙編編寫,我每按一次中斷先輸入數字

先說,沒寫過這麼雞肋的程式。想了下,這樣應該可以實現。設乙個標誌位,標誌位的主要作用是確定數碼管有幾位顯示,意思就是確定按了幾次。按一次,標誌位是0 當然,0不是唯一的第一位,9也沒問題 最低位顯示。按八次,標誌位為7,八位數碼管都顯示。顯示採用動態掃瞄,根據標誌位的值,先掃瞄顯示最高位或者最低位應...