单片机C语言,从小白到菜鸟进阶教程(超详细代码解读)

首先要认识单片机是啥?单片机语言是啥?单片机是一种可存储可读写可编程可运行的芯片,你写啥它就运行啥,运行出错,那你程序写错了。单片机语言,嗯!肯定要学C啊!有哪种语言可以抗衡C的强大地位?没有!哪种语言市场占有率都没C高,C虽然不是面向对象的高级语言,但是不妨碍它的强大。语言的发展史,是机器语言0/1,汇编,C,高级语言(C++/JAVA/PYTHON/php),承上接下的就是C啦!提醒一点啊!不是所有可编程芯片都是用C语言,有些是古老的机器语言和汇编,有些是C基础上开发的,比如LUA语言也是可以往芯片处理器里面写的,当然你NB想用二进制往里面写也是可行的。
怎么搭建环境我就不说了,反正网上一大堆,有问题就去找答案就可以了,认真的学习会有的。
51单片机环境搭建:https://www.cnblogs.com/lulipro/p/10685032.html
stm32等高级单片机搭建:https://blog.csdn.net/wowocpp/article/details/80333811
环境搭建好了,点进去,进行第一次试编程!我们先来写国产STC51系列单片机的程序(超详细代码解读,累得像狗)。

     **点亮一个小灯的程序**    
#include        //引入51单片机库头文件,没它所有内置函数就没法用,必须的。(里面有很多初始化的代码,大家可以打开看看)
sfr WDT_CONTR=0xe1;   //STC单片机的看门狗初始化,就是防止你程序写的有问题,给你程序设个狗看着,一旦程序跑飞或者死了,就给你复位重启。
sbit led=P0^0;     //#include  库里的东西,把所有的单片机脚都设好了,我们直接拿来用,我们点亮第0.0脚连接的led小灯。
void Delay(unsigned int t);   //定义一个延迟函数,单片机没有延迟的方法,我们创建一个,方便,名字想取啥就取啥,我这里按大家喜欢的取Delay。
   void main (void)   //程序入口,主函数main,每个程序必须有一个mian,而且必须是mian,不要想了,必须要的,这就是门,一个程序没门是不行的。
{                              //函数里面的内容要用英文大括号{},编程软件是外国的,所以要用英文键盘,你把搜狗调出来写,最后错误把你累成狗。
   WDT_CONTR=0x37;  //设置看门的狗,自己看stc官方文档取,非常详细的说明。
   led=0;                        //点亮小灯啦啦啦0是高电平,1是低电平,头文件初始化设置的,你在头文件里要改成1高电平0低电平,也是可以的。
   Delay(50000);           //单片机我们来个ms级的延迟,长短自己调,具体多久我没测,大概实测1s吧。
   Delay(50000);
   Delay(50000);
   led=1;                       //关掉led灯
 
   Delay(30000);         //延迟一段时间,这个时间可以改的。
   Delay(50000);
   Delay(50000);
   
   WDT_CONTR=0x36;  //喂狗,如果喂狗时间是正常的,那么不会出现问题,如果半天不喂狗,那么看门狗重启。
   } 
  
 	void Delay(unsigned int t)  //我们设置的延迟函数,总时间是你自己定的,当然设定值是int,整数。
	{
 	while(--t);       //用一个循环自减的方式来实现定时。比如我定的50000,那么50000会自减到0,就自动跳出了循环,while是循环函数。
	}
            //程序到此运行一遍,你不断电,它又会从头运行。当然,你以后写的程序非常复杂,那么可能要很久才会重新运行一次,如果你写的是等待程序,或者是设定只运行一次的加个while(1);,那么永远停在这儿。

真的是够详细了,保证你懂。小白这一篇学好了,学通了,我下一篇带你进入初级菜鸟阶段,点我头像找我原创的的文章继续看。(持续更新)

你可能感兴趣的:(小白到菜鸟)