相信很多电子科技爱好者都时常会听到“单片机”这个词,对很多电子电气专业的学生来说更是如此。的确,单片机在生活中的应用也已经覆盖了方方面面,那么就会有很多人想问:学习单片机难吗?我该怎么入手?
以下仅仅是个人学习单片机的经验,希望对新手有所帮。
基础知识(磨刀不误砍柴工)
欲罢不能的B站
(如果还没接触C语言的同学,建议出门左拐,B站搜索C语言,你会有一种找到“亲兄弟”的感觉)
1. C语言知识
由于汇编语言不具备良好的移植性,而比较接近底层的编程语言也不多,使得C语言成为单片机开发的首选语言。
所以,要想学会单片机开发,C语言必不可少,且越精越好。单片机对于C语言的要求随着单片机的高级程度增加而提高。
2. 常用的C语言知识
- 宏定义
- 数组
- 位运算
- 循环结构
- 顺序结构
- 指针
- 结构体
3. 由于空洞的话容易让人觉得不着边际,在此贴出一个简单程序,欣赏一番
- #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
- typedef unsigned int u16; //对数据类型进行重新声明定义
- typedef unsigned char u8;
- sbit LSA=P2^2;
- sbit LSB=P2^3;
- sbit 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 提取码:1g0
注重过程(不积跬步,无以至千里;不积小流,无以成江海)
学习永远是一条没有尽头的路,选择了就不要轻易放弃,行百里者半九十,所以要有恒心、有毅力。
注重平时的积累过程,厚积薄发才能一鸣惊人。
勤于思考、融会贯通(学而不思则罔,思而不学则殆)
切忌眼高手低!!! 切忌眼高手低!!! 切忌眼高手低!!!
就算你照着源程序打一遍,你也可能会出错,所以这个时候一定要老实点,不要以为听懂就万事大吉了
勤于思考,多问几个问什么,感觉自己会了,开始有些膨胀的时候,需要撒泡尿清醒清醒(有本事默写一遍?)
善于重复,一遍不行来两遍,两遍不行再来一遍,总会慢慢懂的。
|