单片机如何学
1、熟悉编程环境
2、学会看原理图
3、从照搬到独自写
单片机开发版一览
单片机芯片命名
芯片引脚一览
1、C51与C及C++的区别
C++:面向对象
C:面向过程
C51:是为51系列单片机设计的一种C语言
特点:
•结构化语言,代码紧凑——效率可与汇编语言媲美
•接近真实语言,程序可读性强——易于调试、维护
•库函数丰富,编程工作量小——产品开发周期短
•机器级控制能力,功能很强——适合于嵌入式系统开发
•与汇编指令无关,易于掌握——在单片机基础上上手快
2、单片机特有的三种存储格式
bit型
用于定义一个位变量,语法规则:
bit bit_name [= 0或1];
sfr型(sfr16型)
用于定义SFR字节地址变量
sfr sfr_name = 字节地址常数;
sfr P0=0x80; //定义P0口地址80H
sfr bit型(sbit型)
用于定义SFR位地址变量
位地址表达形式:
绝对位地址:
相对位地址:
4个端口
51单片机有32只I/O引脚,分属于4个端口(P0~P3)。
•可作为并行I/O输入通道也可作为并行I/O输出通道
•可作为串行通信通道
•可作为外部设备的连接通道
P0口
1、P0口具有通用I/O口方式,可实现输出、读引脚(输入)和读锁存器三种功能;
2、P0口为准双向通用口,作为通用输入口时应先使P0.n→1,作为通用输出口时应先使第二输出端→1 ;
3、作为通用I/O口方式时,需要外接上拉电阻;
4、P0口具有地址/数据分时复用方式,可实现地址/数据输出、数据输入两种功能;
5、地址/数据分时复用方式时无需外接上拉电阻;
6、分时复用方式的数据输入时无需程序写1操作。
P1口
1、 P1口具有通用I/O口方式,可实现输出、读引脚(输入)和读锁存器三种功能;
2、 P1口为准双向通用口,作为通用输入口时应先使P1.n→1,作为通用输出口时是无条件的。
P2口
1、P2口具有通用I/O口方式,可实现输出、读引脚(输入)和读锁存器三种功能;
2、P2口为准双向通用口,作为通用输入口时应先使P2.n→1,作为通用输出口时应先使控制端→1 ;
3、作为通用I/O口方式时,无需外接上拉电阻;
4、P2口具有地址输出方式,可实现地址输出功能。
P3口
1、 P3口具有通用I/O口方式,可实现输出、读引脚(输入)和读锁存器三种功能;
2、 P3口为准双向通用口,作为通用输入口时应先使P3.n→1,作为通用输出口时应先使第二输出端→1 ;
3、 P3口具有第二功能方式,可实现第二输出和第二输入两种功能。
开始编程
引用林学长的一句名言:有手就行。
头文件
#include<reg51.h> //REG也是可以的
#include<reg52.h>
延时函数
void delay(unsigned int