51单片机基础学习(1)点亮一个LED灯
本来以为不会再回到博客园了,这里应该会变成尘封之地……作为工科狗我还是太天真了。再次登陆不是那么顺畅(差点忘了用户名把自己给坑了),但惊讶地发现三年前上传的零星代码们居然还有几个人来看过,看来被OI荼毒的人类还在世界上各个角落挣扎着。当年看了那么多大牛的题解,最终以自己绵薄之力贡献出来的只是沧海一粟,给其他人提供不了多少便利,倒是从一种看起来冷冰冰的角度真实记录了自己在一段特殊时期的生活,其中跌宕起伏的心情只有经历过的人能读到。
最近开始接触单片机之后,能明显感觉到单片机的资料和OI的资料不是一个风格,原因大概在于单片机面向的人群——不管从社会阶层还是年龄来说跨度都非常大,学习的目的性也很强,这导致大家在记录自己资料时心情一般都比较浮躁。嗯,看惯了程序员们清淡口味的笔记之后,表示很不开心,于是我就回到了博客园。
首先,在使用单片机以及单片机开发板的时候,要明白这是一堆非常不可靠的电路……然后就可以入坑了。
我用的开发板型号是HC6800-EM3 V2.0,感觉非常坑,有时间有兴趣的还是买元件自己焊板子吧。
IDE是keil4,普通的C语言环境。
【点亮LED小灯】
#include <reg52.h> sbit led=P0^0; void main() { while(1) { led=0; } }
这个程序非常简单,但是对于完全没有接触过单片机的人来说还是有很多注意事项的。
首先是要添加头文件“reg52.h”,不然C里面是没有sbit这种数据类型的。有了这个头文件以后,P0、P1、P2、P3这几个表示单片机8个引脚的变量都不用自己再定义了。然后还有单片机内部的一些涉及到中断之类的功能的变量定义。
主程序需要知道的即是单片机初始状态默认都是高电平,1代表高电平,0是低电平。并且单片机一旦通电就会一直执行你的程序,不能关闭只能断电,所以为了科学使用单片机,最好自己预先设定一个死循环。