我学习资料来源于金沙滩工作室
学习视频:手把手教你学单片机
百度 {MOD}地址:http://pan.baidu.com/s/1ntHhLJN
我所学的单片机的类型以及资料
STC89C52宏晶科技出品的一款 51 内核的单片机,具有标准的 51 体系结构,全部的 51 标准功能。
它的资源情况:Flash 程序空间是 8K 字节(1K=1024,1 字节= 8 位),RAM 数据空间是 512 字节,SFR。
一单片机的基础知识
1)单片机的内部资源
Falsh--程序存储空间,早起单片机OTPROM
可以重复擦写,容量大,断电后数据不丢失
RAM--数据存储空间
作用:存储程序运行过程中产生和需要的数据
缺点:断电后数据丢失,
优点:读写速度非常快 理论上可无限次读写
SFR--特殊功能寄存器(单片机的主要学习点)
单片机有很多功能,每个功能都会对应一个或多个SFR,我们就是通过对SFR的读写来实现单片机的多种多样的功能的。
2)单片机最小系统(单片机最小应用系统)
定义:用最少的原件组成单片机可以工作的系统
特点:单片机可以运行程序,是单片机控制系统的核心。
三要素: 电源电路 晶振电路 复位电路
电源
主流单片机的电源分为 5V 和 3.3V 这两个标准
晶振
他起到的作用是为单片机系统提供基准时钟信号,类似于我们部队训练时喊的口令,单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的。
电容的作用是帮助晶振起振,并维持振荡信号的稳定。
复位电路
上电复位 手动复位 程序自动复位
3)单片机的外设 LED小灯
LED(light-emitting diode),即发光二极管,俗称 LED 小灯
特点:正向导通,反向截止
二程序代码的编写
P0.0这个引脚:
输出低电平 LED灯点亮
输出高电平 LED灯熄灭
没有电压差就没有电流
由于电源从正极到负极有电压差, 并且电路是导通的, 所以就会有电流通过, LED
小灯因为有了电流通过,所以就会直接发光
单片机是可以编程控制的,我们可以让 P0.0 这个引脚输出一个高电平,就是
跟 VCC 一样的 5V 电压,那么这个时候,左侧 VCC 电压和右侧的 P0.0 的电压是一致的,那
就没有电压差,没有电压差就不会产生电流,没有电流 LED 小灯就不会亮,也就是会处于熄
灭状态。
代码如下:
/*sfr P0 = 0x80; 在头文件reg52.h里已经写好了
0x80是一个16进制数 表示地址
一个字节控制8位,一位控制一个I/O口
sfr 这个关键字, 是 51 单片机特有的, 他的作用是定义一个单片机特殊功能寄存器(special
function register)。*/
//不同的电路,代码不同
#include
//该头文件主要包括寄存器的定义
sbit LED = P0^0;//P0^0表示引脚P0.0注意字母P要大写,定义开关
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main(){
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
LED = 0;
while(1);
}