51微控制器之流水燈(C語言和彙編兩個版本)

2021-06-07 12:11:11 字數 1000 閱讀 7647

c語言

#include

typedef unsigned char uint8;

sbit addr0=p1^0;

sbit addr1=p1^1;

sbit addr2=p1^2;

sbit enled0=p1^4;

sbit enled1=p1^3;

uint8 i;

uint8 j;

void delay()}}

uint8 x;

void main()

else

x=x<<1;}}

彙編:org 00h

ajmp start

org 30h

start:

/*為流水燈發亮做好準備工作*/

//1.使enleds=0----

clr p1.4

setb p1.3

setb p1.2

setb p1.1

clr  p1.0

//彙編位定義的使用,上面的幾句話就等效於下面的六行**

//sbit addr0=p1.0

//sbit addr1=p1.1

//sbit addr2=p1.2

//setb addr2

//setb addr1

//clr  addr0 

mov a,#1h

mov p0,a

main:

cpl a 

mov p0,a

lcall delay

cpl a

rl a

ajmp main

delay:

mov r1,#1h

loop1:

mov r2,#0ffh

loop2:

mov r3,#0ffh

loop3:

djnz r3,loop3

djnz r2,loop2

djnz r1,loop1

retend

微控制器之流水燈

include include define uint unsigned int sbit led1 p1 0 埠宣告 sbit 移位 uint temp uint temp1 uint temp2 uint te void delay ms int time 延遲函式 作業要求 使用陣列 cror...

51微控制器彙編流水燈實驗

51微控制器 彙編點燈程式 使用rr迴圈右移指令實現流水燈的效果。mov p2,01h 將設定p2暫存器預設值為01h start mov a,p2 將p2中的資料送入暫存器 a 中 rr a rr迴圈右移指令 movp2,a 將暫存器 a 中的資料送入到p2暫存器 acall yanshi 呼叫延...

51微控制器流水燈教程。

延時函式 delay 的用法是 在這裡無法用程式的格式寫出來,就給大家截圖吧 在這裡插入描述 for和while是迴圈函式,這個高中就會接觸到一點,不做過多的解釋了,第二行的unsigned int x,y 是給x和y定義的,兩個for中,第二個for是第乙個for的,意思就是,第乙個for中的條件...