开发板介绍
学校授课用的是普中科技的EM3.V2.2开发板,没什么好说的,记着去淘宝上找原理图,别迷信课本。
网上有卖51最小系统板的,比开发板便宜,也有下载模块,可以自己搭建外围电路。
还可以自己在protues上画原理图进行仿真。
单片机的型号是STC89C52。AT89C52也适用,但AT89系列已经停产了,并且数据手册只有英文版。
51单片机介绍
单片机
在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,就是单片机。 Intel公司推出了MCS-51系列单片机:集成8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。
上面看不懂没关系,跳过就行了。学到后面自然就懂了。
电平特性
数字电路中只有两种电平:高电平和低电平
高电平:5V或者3.3V,取决单片机电源。
低电平:0V
RS232电平:计算机串口的电平
高电平:-12V
低电平:+12V
所以当我们用单片机跟电脑通信的时候,我们要通过各种元器件将单片机的电平转换为计算机可识别的电平才能跟电脑进行通信。
二进制与十六进制
基数是2,逢二进一。
基数是16,逢十六进一。
二进制逻辑运算
"与"运算
有0得0
1&1=1 ; 1&0=0 ; 0&0=0 ;
"或"运算
有1得1
1|1=1 ; 1|0=1 ; 0|0=0;
"非"运算
1的非得0,0的非得1。
~1=0; ~0=1;
"异或"运算
必须不同,否则没有(0)
1^1=0;1^0=1;0^0=0;
引脚封装图
数据手册上有,做开发的话不用记。
80/89是人家公司内部的生产线编号。
89C2051是把89C51的40个引脚,删减成20个引脚,价格也低一点。到时候看选型手册就知道了。
P3口第二功能各引脚功能定义:
P0、P1、P2是普通IO口,P3口既可以完成普通的输入输出,同时各引脚也有其他第二功能。
P3.0:RXD串行口输入
P3.1:TXD串行口输出
P3.2:INT0外部中断0输入
P3.3:INT1外部中断1输入
P3.4:T0定时器0外部输入
P3.5:T1定时器1外部输入
P3.6:WR外部写控制
P3.7:RD外部读控制
8051内部结构
总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。
外部总线有三种: 数据总线DB(Data Bus), 地址总线 AB(Address Bus)和控制总线 CBControl Bus)。
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式; 五个中断源的中断控制系统; 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。
不用记不用记,只需要知道51单片机的基础部分是IO口、定时器计数器、中断、串口这四个就行了。时钟时序在下面学着算一下。
单片机工作基本时序
机器周期和指令周期
(1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,就是晶振,我们开发板上晶振为12MHZ,12MHZ是频率,周期是频率的倒数。
(2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。二分频的意思就是频率乘二分之一。
(3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是 12 个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。
(4)指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。
MCS - 51 系统中,有单周期指令、双周期指令和四周期指令。这已经涉及到汇编的内容了。
后面讲delay函数时会讲一下具体是怎么从晶振频率算到延时的。
单片机IO口的结构
高电平输出与低电平输出
上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻起到一个限流的作用,下拉就是下拉到低电平。
作用:
- OC门要输出高电平,外部必须加上拉电阻。
- 加大普通IO口的驱动能力。
- 起到限流的作用。
- 抵抗电磁干扰。