相信很多电子科技爱好者都时常会听到“单片机”这个词,对很多电子电气专业的学生来说更是如此。的确,单片机在生活中的应用也已经覆盖了方方面面,那么就会有很多人想问:学习单片机难吗?我该怎么入手?
以下仅仅是个人学习单片机的经验,希望对新手有所帮助,鉴于本人水平有限,如有不当之处,还望多多包容。
基础知识(磨刀不误砍柴工)
欲罢不能的B站
1. C语言知识
由于汇编语言不具备良好的移植性,而比较接近底层的编程语言也不多,使得C语言成为单片机开发的首选语言。
所以,要想学会单片机开发,C语言必不可少,且越精越好。单片机对于C语言的要求随着单片机的高级程度增加而提高。
2. 常用的C语言知识
- 宏定义
- 数组
- 位运算
- 循环结构
- 顺序结构
- 指针
- 结构体
3. 由于空洞的话容易让人觉得不着边际,在此贴出一个简单程序,欣赏一番。
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行重新声明定义
typedef unsigned char u8;
***it LSA=P2^2;
***it LSB=P2^3;
***it LSC=P2^4; //位定义
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
*******************************************************************************/
void main()
{
LSA=0;
LSB=0;
LSC=0; //控制38译码器的Y0输出低电平
P0=smgduan[0];
while(1);
}
可能乍一眼看上去看不懂,没关系,谁都有个过程,慢慢来,不着急!
从这程序中,你至少要体会到,要学习那些C语言知识,这才是我贴这个程序的目的。
学习准备(工欲善其事,必先利其器)
- 硬件准备
新手建议购买51单片机,淘宝搜索51单片机开发板,(在此不做推荐,免得有推销的嫌疑),大概在50块左右,在购买之前,一定要向商家索要资料,没有配套资料的强烈建议不要买!
- 资料准备
商家提供的基本够解决问题,遇到不懂的问题,首先独立思考,然后百度,当然,也可以询问一些前辈。
- 软件准备
现在最火热的开发软件就是Keil了,Keil我就不做介绍了,用过的基本都说好。 Keil官网
如果想要更加便捷的使用的话,请参考教程
如果链接失效的话,请转战:https://pan.baidu.com/s/18Tco65__XgBF-7WawL6ihQ 提取码:1g0o(教程继续参考上面教程)
注重过程(不积跬步,无以至千里;不积小流,无以成江海)
- 学习永远是一条没有尽头的路,选择了就不要轻易放弃,行百里者半九十,所以要有恒心、有毅力。
- 注重平时的积累过程,厚积薄发才能一鸣惊人。
勤于思考、融会贯通(学而不思则罔,思而不学则殆)
- 切忌眼高手低!!!
- 永远不要太过于相信自己,举个例子,看懂了程序,自己敲一遍试试,然后再下载到单片机里面去跑一跑,看看什么现象。不要以为听懂就万事大吉了
- 勤于思考,多问几个问什么,感觉自己会了,开始有些膨胀的时候,自己试试写一个程序?
- 善于重复,一遍不行来两遍,两遍不行再来一遍,总会慢慢懂的。
祝各位学习辛苦,头皮挠破,最终守得云开见月明!
相信很多电子科技爱好者都时常会听到“单片机”这个词,对很多电子电气专业的学生来说更是如此。的确,单片机在生活中的应用也已经覆盖了方方面面,那么就会有很多人想问:学习单片机难吗?我该怎么入手?
以下仅仅是个人学习单片机的经验,希望对新手有所帮助,鉴于本人水平有限,如有不当之处,还望多多包容。
基础知识(磨刀不误砍柴工)
欲罢不能的B站
1. C语言知识
由于汇编语言不具备良好的移植性,而比较接近底层的编程语言也不多,使得C语言成为单片机开发的首选语言。
所以,要想学会单片机开发,C语言必不可少,且越精越好。单片机对于C语言的要求随着单片机的高级程度增加而提高。
2. 常用的C语言知识
- 宏定义
- 数组
- 位运算
- 循环结构
- 顺序结构
- 指针
- 结构体
3. 由于空洞的话容易让人觉得不着边际,在此贴出一个简单程序,欣赏一番。
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行重新声明定义
typedef unsigned char u8;
***it LSA=P2^2;
***it LSB=P2^3;
***it LSC=P2^4; //位定义
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
*******************************************************************************/
void main()
{
LSA=0;
LSB=0;
LSC=0; //控制38译码器的Y0输出低电平
P0=smgduan[0];
while(1);
}
可能乍一眼看上去看不懂,没关系,谁都有个过程,慢慢来,不着急!
从这程序中,你至少要体会到,要学习那些C语言知识,这才是我贴这个程序的目的。
学习准备(工欲善其事,必先利其器)
- 硬件准备
新手建议购买51单片机,淘宝搜索51单片机开发板,(在此不做推荐,免得有推销的嫌疑),大概在50块左右,在购买之前,一定要向商家索要资料,没有配套资料的强烈建议不要买!
- 资料准备
商家提供的基本够解决问题,遇到不懂的问题,首先独立思考,然后百度,当然,也可以询问一些前辈。
- 软件准备
现在最火热的开发软件就是Keil了,Keil我就不做介绍了,用过的基本都说好。 Keil官网
如果想要更加便捷的使用的话,请参考教程
如果链接失效的话,请转战:https://pan.baidu.com/s/18Tco65__XgBF-7WawL6ihQ 提取码:1g0o(教程继续参考上面教程)
注重过程(不积跬步,无以至千里;不积小流,无以成江海)
- 学习永远是一条没有尽头的路,选择了就不要轻易放弃,行百里者半九十,所以要有恒心、有毅力。
- 注重平时的积累过程,厚积薄发才能一鸣惊人。
勤于思考、融会贯通(学而不思则罔,思而不学则殆)
- 切忌眼高手低!!!
- 永远不要太过于相信自己,举个例子,看懂了程序,自己敲一遍试试,然后再下载到单片机里面去跑一跑,看看什么现象。不要以为听懂就万事大吉了
- 勤于思考,多问几个问什么,感觉自己会了,开始有些膨胀的时候,自己试试写一个程序?
- 善于重复,一遍不行来两遍,两遍不行再来一遍,总会慢慢懂的。
祝各位学习辛苦,头皮挠破,最终守得云开见月明!
举报