买的这款51,ARM,AVR三合一的单片机,也不知道后面具体使用会不会有问题,先玩玩看吧。
------------------------------------------------------------------------------------------
单片机是将CUP、存储器和I/O接口集成都一片集成电路芯片上。
MCS-89C51系列:集成8位CPU、4K字节ROM(只读存储器,储存程序,断电不丢失),128字节RAM(随机储存器,储存变量,掉电丢失)、4个8位并口(P0,P1,P2,P3),1个全双工串行口,2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。
封装形式:贴片、插片。
- 预备知识
电平特性:
数字电路两种电平:高电平和低电平。高电平电压取决于单片机电源,5V或者3.3V;低电平为0V。
RS232电平:也是计算机串口的电平,高电平为-12V,低电平为+12V。
所以,电脑与单片机通讯得将电平转换(MAX232)。
进制:
二进制:只有0(低)和1(高),逢二进一为计算机直接识别的进制;
十六进制:逢十六进一,一般是由于二进制表达的位数太多使用16进制会方便点。
两者的转换:二进制转换成十六进制,4位并一位,十六进制转换成二进制,1位分4位。
二进制逻辑运算:
与:有0得0;或:有1得1;非:取反;异或:相同位零,不同为1.
80C51系列是以8051为基核开发的一系列单片机。
引脚封装:
P3.0:RXD串行输入
P3.1:TXD串行输出
P3.2:INT0外部中断0输入
P3.3:INT1外部中断1输入
P3.4:T0定时器0外部输入
P3.5:T!定时器1外部输入
P3.6:WR外部写输入
P3.7:RD外部读输入
内部结构:
总线是计算机中各部件之间传送信息的公共通道。微机中有内部总线和外部总线。内部总线是CUP内部之间的连线。外部总线是指CUP与其他部件之间的连线。外部总线有三种:数据总线DB(Data Bus),地址总线AB(Address Bus)和控制总线CB(Control Bus)。
CUP:负责运算与控制,还包括中断系统和部分外部特殊功能寄存器;
RAM:随机存储器,断电丢失,存放可以读写的数据:中间结果、最终结果以及欲显示的数据;
ROM:只读储存器,断电不丢失,用于存放程序,以及一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
T/C:两个定时/计数器,既可工作在定时模式,也可工作在技术模式。
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器与时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。
基本时序:
直接由晶振为单片机提供的脉冲信号的振荡源的周期,称为振荡周期,也叫时钟周期,开发板上是12MHz;之后振荡周期经二分频,变为状态周期,即状态周期是它的2倍;而一个机器周期定义为6个状态周期,也就是12个时钟周期,在一个机器周期内CUP可以完成独立的操作;最后,CUP下达一条指令,要完成这条指令所需的全部时间成为指令周期,每条指令周期由一个或者多个机器周期组成。
单片机IO口有三种解构:
准双向IO、开漏输出和强推挽输出,51单片机为前两种。
开漏输出必须外加加上拉电阻才能输出高电平。
上下拉电阻:
上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻起到一个限流的作用,下拉就是下拉到一个低电平。
好处:
- OC门要输出高电平,外部必须加上拉电阻;
- 加大普通IO口的驱动能力(很多地方都这样用过,所以,通电后某些引脚就是直接上电的);
- 起到限流的作用;
- 由于拉上高电平,所以可以抵抗电磁干扰。
上下拉电阻的选取原则:
- 从功耗方面考虑应该足够大,因为电阻越大,电流越小;
- 从确保足够的引脚驱动能力考虑应该足够小,电阻越小,电流才能越大;
- 开漏输出时,过大的上拉电阻会导致上升沿变缓。
------------------------------------------------------------------------
关于C语言:
单片机对于C语言要求不高,只要简单的了解就ok。
------------------------------------------------------------------------
单片机最小系统:
- 电源电路
- 复位电路
- 时钟电路
- 下载电路(外加的)
C语言知识: bit和sbit都是C51扩展的变量类型。
sbit用法:
sbit 变量名 = 地址值; //给某个引脚取名
另外每次编程时,都包含了reg52.h的头文件,它是c51系列单片机的扩展库,里面集成了基本的引脚指向。