51单片机学习

1.1控制一个灯亮

void main()

{

P2=0xFE;

}

1.2控制一个灯闪烁

void Delay500ms() //@12.000MHz

{

unsigned char i, j, k;

nop();

i = 4;

j = 205;

k = 187;

do

{

do

{

while (--k);

} while (--j);

} while (--i);

}

void main()

{

while(1)

{

P2=0xFE;

Delay500ms();

P2=0xFF;

Delay500ms();

}

}

1.3流水灯

void Delay500ms() //@12.000MHz

{

unsigned char i, j, k;

nop();

i = 4;

j = 205;

k = 187;

do

{

do

{

while (--k);

} while (--j);

} while (--i);

}

void main()

{

while(1)

{

P2=0xFE;

Delay500ms();

P2=0xFD;

Delay500ms();

P2=0xFB;

Delay500ms();

P2=0xF7;

Delay500ms();

P2=0xEF;

Delay500ms();

P2=0xDF;

Delay500ms();

P2=0xBF;

Delay500ms();

P2=0x7F;

Delay500ms();

}

}

2.1独立按键控制亮灭

void main()

{

while(1)

{

if(P3_1 == 0)

{

P2_0=0;

}

else

{

P2_0=1;

}

}

}

2.2独立按键控制LED状态

void Delay(unsigned int xms) //@12.000MHz

{

unsigned char i, j;

while(xms)

{

i = 2;

j = 239;

do

{

while (--j);

}

while (--i);

xms--;

}

}

void main()

{

while(1)

{

if(P3_1==0)

{

Delay(20);

while(P3_1==0);

Delay(20);

P2_0=~P2_0;

}

}

}

2.3独立按键控制LED显示二进制

void Delay(unsigned int xms) //@12.000MHz

{

while(xms)

{

unsigned char i, j;

i = 2;

j = 239;

do

{

while (--j);

}

while (--i);

xms--;

}

}

void main()

{

unsigned char LED_Num=0;//表示寄存器

while(1)

{

if(P3_1 == 0)

{

Delay(20);

while(P3_1 == 0);

Delay(20);

//默认P2后为高电平 1111 1111

LED_Num++;//0000 0001

P2=~LED_Num;//1111 1110

}

}

}

2.4独立按键控制LED移位

void Delay(unsigned int xms) //@12.000MHz

{

while(xms)

{

unsigned char i, j;

i = 2;

j = 239;

do

{

while (--j);

}

while (--i);

xms--;

}

}

unsigned char LED_Num = 0;

void main()

{

P2=~0x01;//初始化

while(1)

{

if(P3_1 == 0)

{

Delay(20);

while(P3_1 == 0);

Delay(20);

LED_Num++;

if(LED_Num>=8)

LED_Num=0;

P2=~(0x01<<LED_Num);//注意取反与括号的先后顺序

}

if(P3_0 == 0)

{

Delay(20);

while(P3_0 == 0);

Delay(20);

if(LED_Num==0)

LED_Num=7;

else

LED_Num--;

P2=~(0x01<<LED_Num);

}

}

}

相关推荐
单片机仿真设计6 分钟前
【proteus仿真】基于 STM32F103 的汽车温度监测系统(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·课设
程序员yu11 分钟前
数智码力:Python作用域完全梳理,全局变量局部变量不再混乱
开发语言·python·学习
anew___12 分钟前
舵机——让 Arduino 动起来
c++·stm32·单片机·嵌入式硬件·c
传奇开心果编程33 分钟前
【ArkUI 练中学】第5课:路由导航与页面跳转
学习·华为·前端框架
周洲083040 分钟前
STM32 SPI 通信实战|高速通信、片选、数据收发
stm32·嵌入式硬件
POMAGTOR1 小时前
【5G设备POGOPIN连接器 高频弹簧针通信连接器件】
嵌入式硬件·5g·机器人
意法半导体STM321 小时前
【官方原创】LAT1709STM32C5硬件CRC值的计算话题
stm32·单片机·嵌入式硬件·mcu·crc·微控制器·stm32c5
新思维软件1 小时前
基于 STM32 的快递柜自动存取系统设计与实现(项目编号 X604041)
stm32·嵌入式硬件·物联网·物联网开发
xx~t1 小时前
嵌入式——ARM——汇编2
linux·汇编·arm开发·嵌入式硬件·启动代码
传奇开心果编程2 小时前
【仓颉语言基础语法学与练】第1课:从零开始
开发语言·学习·华为