大家好,关于51单片机的50个例程代码很多朋友都还不太明白,今天小编就来为大家分享关于的知识,希望对各位有所帮助!
1-IO输出-点亮1 LED点亮方式1
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:点亮P1口LED灯
这个程序是学习单片机最简单、最基本的。
了解如何通过程序控制端口的高低电平
—————————————————-*/
#includereg52.h //包含头文件,一般不需要修改。
//头文件包含特殊功能寄存器的定义
sbit LED=P1^0;//使用sbit关键字定义LED到P1.0端口,
//LED是一个可以任意定义的符号,并且很容易记住。
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
//该方法使用bit位来给单个端口赋值
LED=1; //将P1.0端口设置为1,并向外部输出高电平。
LED=0; //将P1.0端口设置为0,并向外部输出低电平。
while (1) //主循环
{
//在主循环中添加其他需要一直工作的程序
}
}
2-IO输出-点亮1 LED点亮方式2
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:点亮P1口LED灯
这个程序是学习单片机最简单、最基本的。
了解如何通过程序控制端口的高低电平
—————————————————-*/
#includereg52.h //包含头文件,一般不需要修改。
//头文件包含特殊功能寄存器的定义
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
//该方法使用1个字节给单个端口赋值
P1=0xFF; //P1口全为高电平,对应的LED灯全灭。
//ff转换为二进制是1111 1111
P1=0xfe; //P1口最低位点亮。您可以更改该值以使其他灯亮起。
//0xfe是十六进制,0x开头代表一个十六进制数。
//fe转换成二进制是1111 1110
while (1) //主循环
{
//在主循环中添加其他需要一直工作的程序
}
}
3-IO输出-点亮多个LED灯方法1
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:点亮P1口多个LED灯
这个程序是学习单片机最简单、最基本的。
了解如何通过程序控制端口的高低电平
—————————————————-*/
#includereg52.h //包含头文件,一般不需要修改。
//头文件包含特殊功能寄存器的定义
sbit LED0=P1^0;//使用sbit关键字定义LED到P1.0端口,
sbit LED1=P1^1;//LED是一个可以任意定义的符号,很容易记住。
sbit LED2=P1^2;
sbit LED3=P1^3;
sbit LED4=P1^4;
sbit LED5=P1^5;
sbit LED6=P1^6;
sbit LED7=P1^7;
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
//该方法使用bit位来给单个端口赋值
LED0=0; //将P1.0端口设置为0,并向外部输出低电平。
LED1=1;
LED2=0;
LED3=1;
LED4=0;
LED5=1;
LED6=0;
LED7=1;
while (1) //主循环
{
//在主循环中添加其他需要一直工作的程序
}
}
4-IO输出-点亮多个LED灯方法2
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:点亮P1口多个LED灯
这个程序是学习单片机最简单、最基本的。
了解如何通过程序控制端口的高低电平
—————————————————-*/
#includereg52.h //包含头文件,一般不需要修改。
//头文件包含特殊功能寄存器的定义
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
//该方法使用bit位来给单个端口赋值
P1=0x55; //转换为二进制为0101 0101
while (1) //主循环
{
//在主循环中添加其他需要一直工作的程序
}
}
5- 闪光灯1 个LED
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:P1口一颗LED灯亮并闪烁。
这个程序是学习单片机最简单、最基本的。
了解如何通过程序控制端口的高低电平
—————————————————-*/
#includereg52.h //包含头文件,一般不需要修改。
//头文件包含特殊功能寄存器的定义
sbit LED0=P1^0;//使用sbit关键字定义LED到P1.0端口,
//LED是一个可以任意定义的符号,并且很容易记住。
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
//该方法使用bit位来给单个端口赋值
while (1) //主循环
{
LED0=0; //将P1.0端口设置为0,并向外部输出低电平。
延迟(10000); //调用延时程序;改变延迟数可以改变延迟长度;
//用于改变闪烁频率
LED0=1; //将P1.0端口设置为1,并向外部输出高电平。
延迟(10000);
//在主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延迟函数,包含输入参数unsigned int t,无返回值
unsigned int 是无符号整型变量,其取值范围为
0~65535
—————————————————-*/
无效延迟(无符号整数t)
{
同时(–t);
}
6- 1 个LED 灯以不同频率闪烁
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:P1口一颗LED灯亮并闪烁。
这个程序是学习单片机最简单、最基本的。
了解如何通过程序控制端口的高低电平
—————————————————-*/
#includereg52.h //包含头文件,一般不需要修改。
//头文件包含特殊功能寄存器的定义
sbit LED0=P1^0;//使用sbit关键字定义LED到P1.0端口,
//LED是一个可以任意定义的符号,并且很容易记住。
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
//该方法使用bit位来给单个端口赋值
无符号字符i; //定义一个无符号字符局部变量i,取值范围为0~255
while (1) //主循环
{
for(i=0;i10;i++) //添加一个for循环,表示for循环大括号内的程序执行10次
{
LED0=0; //将P1.0端口设置为0,并向外部输出低电平。
延迟(5000); //调用延时程序;改变延迟数可以改变延迟长度;
//用于改变闪烁频率
LED0=1; //将P1.0端口设置为1,并向外部输出高电平。
延迟(5000);
}
for(i=0;i10;i++)
{
LED0=0; //将P1.0端口设置为0,并向外部输出低电平。
延迟(60000); //调用延时程序;改变延迟数可以改变延迟长度;
//用于改变闪烁频率
LED0=1; //将P1.0端口设置为1,并向外部输出高电平。
延迟(60000);
}
//在主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延迟函数,包含输入参数unsigned int t,无返回值
unsigned int 是无符号整型变量,其取值范围为
0~65535
—————————————————-*/
无效延迟(无符号整数t)
{
同时(–t);
}
7- 以不同频率闪烁多个LED 灯
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:P1端口多个LED灯闪烁。
这个程序是学习单片机最简单、最基本的。
了解如何通过程序控制端口的高低电平
—————————————————-*/
#includereg52.h //包含头文件。一般来说,不需要改变。头文件包含特殊功能寄存器的定义。
sbit LED0=P1^0;//使用sbit关键字定义P1.0端口的LED。 LED 是一个任意定义的符号,很容易记住。
sbit LED1=P1^1;
sbit LED2=P1^2;
sbit LED3=P1^3;
sbit LED4=P1^4;
sbit LED5=P1^5;
sbit LED6=P1^6;
sbit LED7=P1^7;
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
//该方法使用bit位来给单个端口赋值
无符号字符i; //定义一个无符号字符局部变量i,取值范围为0~255
while (1) //主循环
{
for(i=0;i10;i++) //添加一个for循环,表示for循环在大括号内
//程序循环执行10次
{
LED0=0; //将P1.0端口设置为0,并向外部输出低电平。
LED2=1;
LED4=0;
延迟(5000); //调用延时程序;改变延迟数可以改变延迟长度;
//用于改变闪烁频率
LED0=1; //将P1.0端口设置为1,并向外部输出高电平。
LED2=0;
LED4=1;
延迟(5000);
}
for(i=0;i10;i++)
{
LED0=0; //将P1.0端口设置为0,并向外部输出低电平。
LED2=1;
LED4=0;
延迟(60000); //调用延时程序;改变延迟数可以改变延迟长度;
//用于改变闪烁频率
LED0=1; //将P1.0端口设置为1,并向外部输出高电平。
LED2=0;
LED4=1;
延迟(60000);
}
//在主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延迟函数,包含输入参数unsigned int t,无返回值
unsigned int 是无符号整型变量,其取值范围为
0~65535
—————————————————-*/
无效延迟(无符号整数t)
{
同时(–t);
}
8-8位LED左移
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:向左移动直到所有LED灯亮起,将符号向左移动
—————————————————-*/
#includereg52.h //包含头文件。一般来说,不需要改变。头文件包含特殊功能寄存器的定义。
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
无符号字符i; //定义一个无符号字符局部变量i,取值范围为0~255
延迟(50000);
P1=0xfe; //赋予初始值
for(i=0;i8;i++) //添加一个for循环,表示for循环大括号内的程序执行8次
{
延迟(50000);
P1=1;
}
while (1) //主循环
{
//在主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延迟函数,包含输入参数unsigned int t,无返回值
unsigned int 是无符号整型变量,其取值范围为
0~65535
—————————————————-*/
无效延迟(无符号整数t)
{
同时(–t);
}
9-8 LED右移
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:向右移动直至所有LED 亮起,将符号向右移动
—————————————————-*/
#includereg52.h //包含头文件。一般来说,不需要改变。头文件包含特殊功能寄存器的定义。
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
无符号字符i; //定义一个无符号字符局部变量i,取值范围为0~255
延迟(50000);
P1=0x7f; //赋予初始值
for(i=0;i8;i++) //添加一个for循环,表示for循环大括号内的程序执行8次
{
延迟(50000);
P1=1;
}
while (1) //主循环
{
//在主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延迟函数,包含输入参数unsigned int t,无返回值
unsigned int 是无符号整型变量,其取值范围为
0~65535
—————————————————-*/
无效延迟(无符号整数t)
{
同时(–t);
}
10-LED 循环左
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:向左循环,一个LED常亮,循环执行管道动作,符号向左移动。逻辑或符号|
—————————————————-*/
#includereg52.h //包含头文件。一般来说,不需要改变。头文件包含特殊功能寄存器的定义。
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
无符号字符i; //定义一个无符号字符局部变量i,取值范围为0~255
延迟(50000);
P1=0xfe; //赋予初始值
while (1) //主循环
{
for(i=0;i8;i++) //添加一个for循环,表示for循环大括号内的程序执行8次
{
延迟(50000);
P1=1;
P1=P1|0x01; //左移后,最右端自动赋值为0,所以这条语句需要赋值为1
}
P1=0xfe; //重新分配初始值
//在主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延迟函数,包含输入参数unsigned int t,无返回值
unsigned int 是无符号整型变量,其取值范围为
0~65535
—————————————————-*/
无效延迟(无符号整数t)
{
同时(–t);
}
11-LED循环右
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:循环右移,始终有一个LED亮,循环执行流水线动作,符号右移逻辑或符号|
—————————————————-*/
#includereg52.h //包含头文件。一般来说,不需要改变。头文件包含特殊功能寄存器的定义。
/*————————————————
主要功能
—————————————————-*/
无效主(无效)
{
无符号字符i; //定义一个无符号字符局部变量i,取值范围为0~255
延迟(50000);
P1=0x7f; //赋予初始值
while (1) , //主循环
{
for(i=0;i8;i++) //添加一个for循环,表示for循环大括号内的程序执行8次
{
延迟(50000);
P1=1;
P1=P1|0x80; //右移后,最左端自动赋值为0,所以这条语句需要赋值为1
}
P1=0x7f; //重新分配初始值
//在主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延迟函数,包含输入参数unsigned int t,无返回值
unsigned int 是无符号整型变量,其取值范围为
0~65535
—————————————————-*/
无效延迟(无符号整数t)
{
同时(–t);
}
12-显示LED灯的查表
/*———————————————— –
名称:IO口高低电平控制
论坛:www.doflye.net
作词:诗芳
日期:2009.5
修改:无
内容:查表得到1字节的值,然后赋值给P1口。如果ROM允许的话可以设置更多的表。
—————————————————-*/
#includereg52.h //包含头文件。一般来说,不需要改变。头文件包含特殊功能寄存器的定义。
/*————————————————
查找表格
—————————————————-*/
无符号字符码表[]={0x7f,0xbf,0xdf,0x
ef,
0xf7,0xfb,0xfd,0xfe,
0xff,0xff,0x00,0x00,
0x55,0x55,0xaa,0xaa
};
//rom允许情况可以无限添加
/*————————————————
————————————————*/
/*————————————————
主函数
————————————————*/
void main (void)
{
unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255
while (1) //主循环
{
for(i=0;i<16;i++) //加入 for循环,表明for循环大括号中的程序循环
//执行16次,表明表格中有16个元素
{
P1=table[i];
Delay(30000);
}
//主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
————————————————*/
void Delay(unsigned int t)
{
while(–t);
}
13-双灯左移右移闪烁
/*———————————————–
名称:IO口高低电平控制
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:2个led灯先左移,然后右移,然后同时闪烁
————————————————*/
#include<reg52.h> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
/*————————————————
主函数
————————————————*/
void main (void)
{
unsigned char i; //定义一个无符号字符型局部变量 i
//取值范围 0~255
unsigned char temp;//定义临时变量用于转换
while (1) //主循环
{
temp=0xfc;
P1=temp;
for(i=0;i<7;i++) //加入 for循环,表明for循环大括号
//中的程序循环执行7次
{
Delay(50000); //调用延时程序;更改延时数字可
//以更改延时长度;用于改变闪烁频率
temp<<=1;
temp=temp|0x01; //也可以直接把temp换成P1
P1=temp; //之所以加入temp做中间变量,转换
//完成后直接赋值到端口,防止直接
//操作端口造成的短暂闪烁
}
temp=0x3f;
P1=temp;
for(i=0;i<7;i++) //加入 for循环,表明for循环大括号
//中的程序循环执行7次
{
Delay(50000); //调用延时程序;更改延时数字可以
//更改延时长度;用于改变闪烁频率
temp>>=1;
temp|=0x80; //等效于 temp=temp|0x80
P1=temp;
}
for(i=0;i<3;i++) //加入 for循环,表明for循环大括号
//中的程序循环执行3次
{
P1=0xff;
Delay(50000);
P1=0x00;
Delay(50000);
} //主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
————————————————*/
void Delay(unsigned int t)
{
while(–t);
}
14-花样灯
/*———————————————–
名称:IO口高低电平控制
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:花样灯一般有两种方法实现:
1、程序循环执行
2、查表法
这里我们两种都使用一下
————————————————*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/*————————————————
花样表格
————————————————*/
unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0xff,0xff,0x00,0x00,
0x55,0x55,0xaa,0xaa
};//rom允许情况可以无限添加
/*————————————————
主函数
————————————————*/
main()
{
unsigned char i; //定义一个无符号字符型
//局部变量 i 取值范围 0~255
while(1)
{
P1=0xFE; //第1个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 <<=1;
}
P1=0x7F; //第8个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 >>=1;
}
P1=0xFE; //第1个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 <<=1;
P1 |=0x01;
}
P1=0x7F; //第8个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 >>=1;
P1 |=0x80;
}
//下面通过查表方法获得花样参数
for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强
{
Delay(20000);
P1=seg[i];
}
}
}
/*————————————————
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
————————————————*/
void Delay(unsigned int t)
{
while(–t);
}
15-PWM调光
/*———————————————–
名称:PWM调光
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:通过PWM(脉宽调制)调节LED的亮度
————————————————*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit LED0=P1^0;// 用sbit 关键字 定义 LED到P1.0端口,LED是自己任意定义且容易记忆的符号
/*————————————————
主函数
————————————————*/
void main (void)
{
unsigned int CYCLE=600,PWM_LOW=0;//定义周期并赋值
while (1) //主循环
{
LED0=1;
Delay(60000); //特意加延时,可以看到熄灭的过程
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++){ //PWM_LOW表示低
//电平时间,这个循环中低电平时长从1累加到CYCLE(周期)的值,即600次
LED0=0; //点亮LED
Delay(PWM_LOW);//延时长度,600次循环中从1加至599
LED0=1; //熄灭LED
Delay(CYCLE-PWM_LOW);//延时长度,600次循环中从599减至1
}
LED0=0;
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW–){ //与逐渐变亮相反的过程
LED0=0;
Delay(PWM_LOW);
LED0=1;
Delay(CYCLE-PWM_LOW);
}
//主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
————————————————*/
void Delay(unsigned int t)
{
while(–t);
}
16-共阳数码管静态显示
/*———————————————–
名称:单个共阳数码管静态显示
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:通过赋值给P1,让数码管显示特定的字符或者数字
————————————————*/
#include<reg52.h> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
void main (void)
{
P1=0xc0; //二进制 为 1100 0000 参考数码管排列,
//可以得出0对应的段点亮,1对应的段熄灭,结果显示数字”0″
while(1)
{
}
}
17-1个共阳数码管显示变化数字
/*———————————————–
名称:单个共阳数码管动态显示变化数字
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:通过循环赋值给P1,让数码管显示特定的字符或者数字
————————————————*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
unsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x77,0x7c,0x39,0x5e,0x79,0x71,};
// 显示数值表0-9
/*————————————————
主函数
————————————————*/
void main (void)
{
unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255
while (1) //主循环
{
for(i=0;i<16;i++) //加入 for循环,表明for循环大括号中的程序循环执行10次
{
P1=dofly_table[i]; //循环调用表中的数值
Delay(60000); //延时,方便观看数字变化
}
//主循环中添加其他需要一直工作的程序
}
}/*————————————————
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
————————————————*/
void Delay(unsigned int t)
{
while(–t);
}
18-单个数码管模拟水流
/*———————————————–
名称:单个共阳数码管模拟水流
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:通过循环赋值给P1,让数码管显示特定流动样式
————————————————*/
#include<reg52.h> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
/*————————————————
主函数
————————————————*/
void main (void)
{
unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255
while (1) //主循环
{
P1=0xfe;
for(i=0;i<6;i++) //加入 for循环,表明for循环大括号中的程序循环执行6次
{
Delay(10000);
P1<<=1;
P1|=0x01;
}
//主循环中添加其他需要一直工作的程序
}
}
/*————————————————
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
————————————————*/
void Delay(unsigned int t)
{
while(–t);
}
19-按键控制单个数码管显示
/*———————————————–
名称:单个共阳数码管动态显示变化数字
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:通过循环检测P1口按键输入值,然后用数码管输出,
没有按键按下时原值不变
————————————————*/
#include<reg52.h> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
unsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,};
// 显示数值表0-9
/*————————————————
主函数
————————————————*/
void main (void)
{
while (1) //主循环
{
switch(P3) //P3口作为独立按键输入端,检测端口电平并做如下判断
{
case 0xfe:P1=dofly_table[1];break;//0xfe = 1111 1110,
//说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环
case 0xfd:P1=dofly_table[2];break;//调用表中的第三个
//元素 0xa4 下标 0 才表示数组中的第一个元素
case 0xfb:P1=dofly_table[3];break;
case 0xf7:P1=dofly_table[4];break;
case 0xef:P1=dofly_table[5];break;
case 0xdf:P1=dofly_table[6];break;
case 0xbf:P1=dofly_table[7];break;
case 0x7f:P1=dofly_table[8];break;
default:break; //如果都没按下,直接跳出
}
//主循环中添加其他需要一直工作的程序
}
}
20-单个数码管指示逻辑电平
/*———————————————–
名称:单个共阳数码管指示逻辑电平
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:通过循环检测P3.2口电平输入值,然后用数码管输出”H” or “L”,
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/195864.html
用户评论
太难
这太棒了!我一直想学习使用51单片机编程,但我总是找不到合适的入门资源。这个50个例程代码真是敲击重点,感觉一下子就点亮了我的思路!
有9位网友表示赞同!
青衫故人
标题吸引人,看来内容也很丰富。我已经迫不及待下载下来好好研究研究了,希望能早日完成我心中的单片机项目!
有11位网友表示赞同!
强辩
这么多的例程代码,真的能涵盖51单片机的常用功能吗?还是有些基础知识需要先学习一下呢?
有14位网友表示赞同!
一生荒唐
终于找到了一些实用的51单片机代码!以前找的时候都是一些理论讲解,看着枯燥的。直接看代码更容易理解和应用,真棒!期待能用这些代码实战训练!
有13位网友表示赞同!
丢了爱情i
这个代码下载链接是哪里?我打开后看不到任何资源…
有19位网友表示赞同!
不相忘
看了下标题和简介,感觉很靠谱!51单片机的学习确实需要不断练习,多做一些例程代码才能掌握技巧! 我也要去试试看。
有7位网友表示赞同!
←极§速
对于没有经验的人来说可能比较难理解,希望能加入一些代码讲解和原理解释,能让初学者更容易入门!
有18位网友表示赞同!
别在我面前犯贱
50个例程代码听起来很丰厚啊!希望有不同的功能覆盖,比如LED灯的闪烁、按键控制等等,这样可以更加系统地学习。
有5位网友表示赞同!
淡抹丶悲伤
虽然标题看起来很有吸引力,但我还是谨慎点一下链接,毕竟网上很多资源质量参差不齐…
有20位网友表示赞同!
ok绷遮不住我颓废的伤あ
单片机要学好需要坚持练习!这个51单片机的代码集确实是个很好的资源,希望能帮助到更多想学习的人!
有17位网友表示赞同!
青山暮雪
希望作者能够继续更新一些最新版本的例程代码,比如与传感器、网络模块的连接等等功能,才能更贴近实际应用。
有15位网友表示赞同!
抚涟i
这个50个例程代码对我来说太基础了,我想要更深入的知识,例如关于中断服务和寄存器的讲解,这样我才可以用这些代码作为基础去构建完善的功能。
有19位网友表示赞同!
我绝版了i
对于刚入门的人来说,建议先学习一些单片机的基本原理,然后再看这些例程代码,这样才能更容易理解和应用。 这集代码可能更适合有一定基础的学生或是想快速了解功能的体验者。
有13位网友表示赞同!
冷嘲热讽i
期待作者能提供一份详细的代码讲解文档,对不同案例进行分析,方便我们理解每个代码的作用和背后的原理!
有16位网友表示赞同!
代价是折磨╳
这个网站很不错,一直都有更新很好的资源。希望能更多一些针对单片机的实战项目分享,这样更有学习意义!
有14位网友表示赞同!
冷月花魂
我觉得51系列单片机确实很有潜力,希望将来能开发出更多更强大的应用! 这个代码集是个很好的起点,可以帮助我们更快地了解这个世界,也能让我们自己动手创造一个充满智慧的未来!
有12位网友表示赞同!
伱德柔情是我的痛。
网站里其他的资源也很值得一看。这次更新真是太棒了! 希望以后还能看到更多关于51单片机和嵌入式开发的内容!
有16位网友表示赞同!