51单片机流水灯用c语言,51单片机之流水灯(C语言和汇编两个版本)
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()
{
for(i=0;i<255;i++)
{
for(j=0;j<255;j++)
{
}
}
}
uint8 x;
void Main()
{
ENLED0=0;ENLED1=1;
ADDR0=0;ADDR1=1;ADDR2=1;
x=1;
while(1)
{
P0=~x;
delay();
if(0x80==x)
{
x=1;
}
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
ret end
總結
以上是生活随笔為你收集整理的51单片机流水灯用c语言,51单片机之流水灯(C语言和汇编两个版本)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行有哪些理财类型?按投资风险和收益进行
- 下一篇: 今后SSD性能更强了:闪存/主控合二为一