8051单片机的编程实例

本文将分享一些8051单片机编程的实际应用例子。8051单片机是一种常见的嵌入式系统控制芯片,广泛应用于各种工业、家庭和定制的电子产品中。

1. 控制LED灯

下面是8051单片机通过控制端口输出来控制LED灯的程序,以P2.0端口为例:

```

include

void main()

{

while(1)

{

P2 = 0x01; // P2.0输出低电平

delay(); // 稍作延时

P2 = 0x00; // P2.0输出高电平

delay(); // 稍作延时

}

}

void delay() // 延时函数

{

int i, j;

for(i = 0; i < 100; i )

{

for(j = 0; j < 100; j );

}

}

```

通过上述程序的控制,可以轻松地完成LED灯的闪烁效果。

2. 数码管显示

下面是8051单片机实现数码管显示的程序:

```

include

unsigned char code table[] = {

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // 数字09码表

void main()

{

unsigned char num = 0;

while(1)

{

P0 = table[num]; // 先将码表中对应的数码管输出

delay(); // 延时一定时间

num ; // 将num加1

if(num > 9) // 大于9,重新从0开始

num = 0;

}

}

void delay() // 延时函数

{

int i, j;

for(i = 0; i < 100; i )

{

for(j = 0; j < 100; j );

}

}

```

运行上述程序后,数码管能够从0向上轮流显示数字。

3. 串口通信

8051单片机还可以通过串口和计算机进行通信,下面是通信程序的示例:

```

include

define BAUD 9600 // 波特率

define FOSC 11059200L // 晶振频率

define TH1 256 FOSC / 12 / BAUD // 定时器初值

sbit Tx = P3^1; // 串口发送端口

sbit Rx = P3^0; // 串口接收端口

void main()

{

TMOD = 0x20; // 定时器1工作在方式2,8位自动重装初值模式

SCON = 0x50; // 串口工作在模式1,8位UART,波特率由定时器1控制

TH1 = 0xFD; // 定时器1初值

TR1 = 1; // 启动定时器1

TI = 1; // 开启发送中断,准备发送数据

while(1)

{

if(RI) // 如果接收到数据

{

SBUF = SBUF; // 直接将数据输出

RI = 0; // 接收标志位清零

}

}

}

void SerialPort() interrupt 4 // 串口中断处理函数

{

if(TI) // 如果发送完成

{

TI = 0; // 清除标志位

}

if(RI) // 如果接收完成

{

RI = 0; // 清除标志位

}

}

```

通过上述程序,可以将8051单片机和计算机通过串口进行通信,实现数据的

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

最近发表

睿锡

这家伙太懒。。。

  • 暂无未发布任何投稿。