任务1.点亮一个灯
1.1单片机内部资源
flash:程序存储空间:断电后数据不丢失,概念类似电脑硬盘。
RAM:数据存储空间:运行中产生的数据,概念类似电脑内存。
SFR:特殊功能寄存器:通过对SFR的读写实现单片机多种多样的功能。
使用的单片机类型:stc89c52 flash:8k(1k=1024字节*8位) ram:512字节
1.2单片机最小系统
电源、晶振、复位电路
1.3特殊功能寄存器和位定义
sfr P0 = 0x80;
sfr:关键字,51单片机特有,作用:定义一个单片机特殊功能寄存器。要使用需先声明,添加#include<reg52.h>
sbit LED = P0^0;
sbit:关键字:对SFR中的8个开关其中一个进行定义。LED就代表P0^0口(P要大写)
1.4新建工程、文件
1.4.1在project中新建一个项目,名称为LED,扩展名为uvproj,单片机选型选intel/80/87C52,工程就建好了
1.4.2file新建一个文件,保存命名LED.c。
1.4.3一个工程程序可能分多个文件写,每写一个文件,都需要添加到所建立的工程。鼠标右键点击source group1 点add files to group,选中新建的文件
1.5程序
开发板硬件:74HC138作为led的总开关,p0^0作为分开关
#include<reg52.h>
sbit LED = P0^0;
sbit ADDR0 =P1^0;
sbit ADDR1 =P1^1;
sbit ADDR2 =P1^2;
sbit ADDR3 =P1^3;
sbit ENLED =P1^4;
void main()
{
ADDR0 =0;
ADDR1 =1;
ADDR2 =1;
ADDR3 =1;
ENLED =0;
LED = 0;
while(1);//程序停留
}
1.6程序编译、下载
1.6.1在魔术棒中勾选创造hex文件,点击编译,打开stc-isp,选择单片机型号,打开程序文件,选中LED.HEX,选择com口,先点击下载,再上电。