接上一篇51单片机学习记录(005-点亮一个灯-2),我们编写了程序,将LED第一个灯对应的IO口设置成了低电平,现在来看看成果:
程序保存后要配置一下输出选项,这一步非常重要,不然无法下载程序,找不到.HEX文件。
1、配置输出选项
选择“目标选项”图标
的Output选项,勾选红色框3,即程序编译成功后会产生HEX 文件。

2、打开stc-isp.exe
提醒升级啦版本更新啦什么的,通通不管,知道就好:


3、选择单片机型号、连接端口(串口号),打开程序文件:

找到你保存地址下的Objects文件夹,会看到一个Project.hex文件,打开:
4、打开单片机开关:

5、点击下载/编程:
显示操作成功!
6、成果

此时,可以看到D1对应的LED灯亮起。
7、完善代码
但是我们这个代码不是很完善,在51 单片机程序开发中,main 函数内通常都会有一个while 循环,在循环体内不断执行我们所要实现的功能。对于仅点亮LED,可以把控制语句放在while 之前
来执行。
#include <STC89C5xRC.H>
void main()
{
P2=0xFE;//1111 1110
while(1)
{
}
}
继续编译、下载/编程,单片机重新启动:虽然还是D1的LED灯亮着现象并没有变化,但是程序相当于停止,在内循环,没有一直对P2口进行操作。
8、举一反三
同理,如果我们想让LED灯,一个亮一个灭,只要把P2赋值1010 1010(需转换成16进制)就可以了,我们来试一下:

#include <STC89C5xRC.H>
void main()
{
P2=0xAA;//1010 1010
while(1)
{
}
}

1510

被折叠的 条评论
为什么被折叠?



