51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)
由于学校的板子跟我买的板子有些差异,为了大家的阅读,以后的所有程序编写烧录都以老师发的板子为主。
1 事先准备
a 驱动安装,注意群中已经发了,吧板子的驱动装好哦。

b 烧写软件(烧录器) stc - isp (这里说明下,板子上的芯片是stc的,你还能看到它的型号stc89c52RC,用stc的烧写软件就可以了)
提问:什么是烧写软件?
答:就是把你写好代码(C或者是汇编)专程的机器语言通过一定的方式下载到单片机中。称为烧写。(就先这样简单理解吧)

c 编写软件 keil uVision 4 (我仅用它编译生成hex 文件)
notpad++ (我用它写c51的代码,然后复制到keil中。写代码很棒哦,而且是国产软件,最重要的是免费哦)
提问 :什么是编译软件?
答 : 编译软件可以将你在编译器中写的一大堆代码编译成可以执行的相应文件。
而在单片机中,利用keil将写好的c代码文件编译成可执行的.HEX文件。


2 开始吧!
1 通过usb将板子和电脑连接起来。(你应该会吧?)
2 打开notapad++ 写c51代码 (你也可以在keil中直接写,不过我不喜欢,原因到时候在说明)

注意! 1 #include<reg52.h>为头文件(有点像c语言对吧)必须有
2 sbit LED1 = P1^0; 是位操作,记下来注意语句的结束要有 分号“;”哦
LED1 其实是一个变量名
3 void main()是主函数有且只有一个
分析 :

P1^0 就是P10 也就是P1.0引脚 在主函数中有这样一句
LED1 = 0;
就是将P1.0 引脚置低电平
关于电平

我们的学习中 0 就是低电平 0v
1 就是高电平 5v
这里计算机的串口的电平是MAX232 高电平-12v,低电平+12v 所以不能直接与单片机相连
but! 单片机中有一个MAX232芯片,可以将电平经行转化 (可以查找开发板原理图pdf)

ok,这样我们就不用担心电平的问题了,再回到流水灯上,我们让P1.0置低电平

这张图有些复杂,来看另外一张

其实是一样的,P1.0置于低电平 左侧是vcc电源, 右侧低电平则电路有电势差,就有电流流过。

如果反过来呢, P1.0置于高电平,电流无法通过二极管哦。
ok 我想你应该理解了吧!
3 编译程序生成hex文件
新建一个工程

选择文件名,然后确定
选择型号

atmel AT89c51
这里说明下,keil是国外的软件并没有stc的型号(不过你可以自行添加)
不过由于AT89c51内核是一样的,所以用atmel AT89c51也是可以的
继续

new 或者(crtl+n)创建 然后将natePad++中写的代码复制进去(ctrl+c 和ctrl+v)

点击保存,注意文件名(请最好不要出现中文,后缀一定的.c 应为是c文件)

双击源组,添加c文件。

点击那个锤头

再traget中设置下晶振频率,11.0592Mhz (这个现在没用,不过先设置好吧)

一定记得勾引选create HEx File 点击确定

点击rebuild 生成hex file 文件(此文件再你创建的51c文件目录中)
注意:hex文件名是工程名
4 打开烧写软件 stc-isp(烧录器)

注意 1 选择好单片机型号 我们是stc89c52rc

型号不对是无法成功烧写的哦。
2 选择好串口, 当驱动装好后,插上usb选择串口,一般是那个很长名字的

这里就是com3
3 打开目标程序

点击重复编程。显示检测目标单片机
然后 按下单片机中的电源按键,关闭电源。再打开电源按键(这是单片机的冷启动~)

显示操作成功即编写成功
5 效果图

如图LED1 第一个流水灯就亮了。
好了,如果你在博客中发现了一些错误和不足之处,请及时私聊我,我会及时更新我的博客。^_^
浙公网安备 33010602011771号