目录
一、点亮一个LED灯
1、创建工程
(1)建文件夹
首先我们在电脑桌面中新建一个文件夹keilproject:用来存放所有程序的文件夹
(2)新建工程
打开我们的keil环境,新建工程
选择我们在桌面新建的文件夹
在我们keilProject文件中在创建一个文件夹,用来存放我们要写的程序
然后给我们的工程文件起一个名字,这里我统一写Project
(3)单片机的型号选择
单片机实物采用B站江科大视频中的89C52RC单片机,Keil软件中选择单片机如下
跳出的提示选择否
(4)开始写程序
新建工程
在source Group上鼠标右键建立工程文件
在这里我们选择第一个c语言创建.c文件,给文件命名为main,最后我们点击添加add。
第一个文件为c语言,第二个为c++,第三个为汇编语言。
在我们新创的main文件里面写我们的程序
以上就是我们要写程序时创建工程,所需要的准备工作
2、编辑点亮一个LED灯的程序
(1)LED模块的介绍
左边是端口p2.0~p2.7连接单片机的的LED灯端口,最右边VCC是指电源
蓝色方框为电阻1k表示1000,绿色的表示二极管;
(2)原理
因为我们的右边有接了VCC电源,表示高电平,所以我们LED端口位置要给低电平才能点亮我们的LED灯,当P2.0口为低电平时也就是给0,则对应电路上的LED灯D1亮;若为高电平也就是给1,则对应电路上的LED灯D1灭,其他灯同理
(3)编写点亮一个LED灯的程序
这是我们编写51单片机时使用C语言程序的基本代码
为了让编译器识别单片机上的寄存器,需在主函数前插入#include<REGX52.H>
在最开始的位置鼠标右键,点击添加头文件
P2表示一个8位寄存器,表示的是8位,我们通过给P2赋值控制整个LED灯的P2.0~P2.7端口
点击build运行程序
0错误,0警告,表示程序没有问题
(4)将写好的程序通过软件烧录至单片机中
点击魔术棒,选中output,勾选生成HEX后缀文件,才能通过STC-ISP软件烧录程序,OK然后再次运行。
将写好的程序通过软件烧录至单片机中 ,这里的单片机我们选择STC8C52RC,根据自己的单片机型号进行选择
打开程序文件,打开在我们桌面新建的keil文件下的1-1LED灯的点亮文件夹,然后点击Object下的hex后缀的文件
下载编译
(5) 亮一个LED灯的实物图展示
3、LED灯的闪烁
(1)原理
实现LED灯的闪烁其实就是让一个灯一亮一灭,在此过程中我们我们只要控制这个灯亮灭的时间就是可以实现闪烁的效果,所以我们添加一个延时函数就可以实现。
(2)延时函数
系统频率选择11.0592MHZ,定时长度选择500ms,指令集选择STC-Y1,然后将代码复制至Keil编译器
(3)编写代码
在延时函数里面使用了一个_nop_()的语句我们要添加一个头文件#include<INTRINS.H>
4、流水灯的实现
(1)原理
流水灯其实就是让每一个灯依次的亮,实现流水灯的效果,闪烁效果只是对一个灯进行亮灭。
(2)代码实现
5、流水灯升级版
(1)原理
通过改变函数的形参来实现对时间上的控制