51单片机基础入门
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机基础
一、 单片机基础知识
1.1 51系列单片机简介:
51系列单片机是单片机领域中的一类,也是影响最为深远,使用最为广泛的单片机系列。51单片机是指Intel的MCS‐51系列及和其具有兼容内核的单片机。51系列单片机最早由Intel公司发展起来,随后将51内核授权给其他各个厂商。因此,现在MCS‐51兼容的单片机种类繁多,如:Atmel公司的AT889C系列、AT89S系列、Silicon Laboratories的C8051F 系列以及STC的单片机等。这些系列的单片机都有着十分接近的指令系统和硬件结构,在开发起来很方便移植。
1.2 STC系列单片机:
STC89C51RC系列单片机是STC推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统的8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择,HD版本和90C版本内部集成MAX810专用复位电路。特征:
1) 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可任意选择,指令代码完全兼容传统8051
2)工作电压:5.5V ‐ 3.3V (5V单片机) / 3.8V ‐ 2.0V (3V单片机)
3) 工作频率范围:0~40MHz,相当于普通8051的 0~80MHz,实际工作频率可达48MHz.
4)用户应用程序空间:4K / 8K / 13K / 16K / 32K / 64K字节
5)片上集成1280字节或512字节RAM
6)通用I/O口(35/39个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O 口);P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7)ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(RxD/P3.0, TxD/P3.1)直接下载用户程序,数秒即可完成一片
8)有EEPROM功能
9)看门狗
10)内部集成MAX810专用复位电路(HD版本和90C版本才有),外部晶体20M以下时,可省外部复位电路。
11) 共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。
12) 外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平
触发中断方式唤醒。
13) 通用异步串行口(UART),还可用定时器软件实现多个UART
14) 工作温度范围:‐40 ~ +85℃(工业级) / 0 ~ 75℃(商业级)
15) 封装:LQFP‐44,PDIP‐40,PLCC‐44,PQFP‐44.
备注:关于12时钟/机器周期和6时钟/机器周期的说明:
在单片机中有几个周期,时钟周期、机器周期、指令周期:
①时钟周期:时钟周期T又称为振荡周期,由单片机片内振荡电路OSC产生,常定义为时钟脉冲频率的导数,是时序中最小的时间单位。如某单片机时钟频率为1MHz,那么它的时钟周期T即为1us。
②机器周期:机器周期定义为实现特定功能所需的时间,通常由若干时钟周期T构成。因此,微型计算机的机器周期常常按其功能来命名,且不同机器周期所包含的时钟周期的个数也不相同。STC单片机的一个机器周期为12个时钟周期(或6个时钟周期)。即,若单片机时钟频率为12MHz,那么时钟周期为1/12us,而机器周期可以为1us(或者0.5us)。
③指令周期:指令周期是时序中的最大时间单位,定义是执行一条指令所需的时间。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令,等等。在51单片机中有单周期、双周期和四周期指令。四周期指令只有乘法和除法两种,其余均为单周期和双周期指令。
1.3 51单片机的一些基础知识
1.存储器结构:
MCS‐51的存储器不仅有ROM和RAM之分,而且有片内和片外之分。
存储器地址分配:有三个地址空间:
1)ROM存储器地址空间(包括片内ROM和片外ROM),地址范围为0000H~FFFFH,当单片机EA脚接地,即EA=0时,均为片外ROM,如EA=1,则0000H~0FFFH为片内ROM,1000H~FFFFH为片外ROM,故通常单片机都会将EA接高,保证从片内ROM启动。此区也被称为CODE区。
2)片内RAM地址空间,地址范围为00H~FFH。对于8051来说,00~7FH为低128B RAM 区(也称DATA区),而80H~FFH为SFR区(特殊功能寄存器区);对于8052等,80H~FFH 为高128B RAM区(称IDATA区),与SFR地址是重叠的,通过区分所访问的存储区来解决地址重叠问题,因此IDATA区只能通过间接寻址来访问。
3)片外RAM地址空间,地址范围为0000H~FFFFH。(XDATA区,对XDATA的读写操作需要至少两个处理周期)。
备注:ROM与RAM的区别
ROM为只读存储器(Read Only Memory),是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。
RAM,随机存取存储器(Random Access Memory)。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序
2.处理器状态:
处理器的状态保存在状态寄存器PSW中,状态字中包括状态字中包括进位位、用于BCD 码处理的辅助进位位、奇偶标志位溢出标志位,还有前面提到的用于寄存器组选择RS0和RS1。0组从地址00H开始,1组从地址08H开始2组从地址10H开始,3组从地址18H开始。这些地址都可通过直接或间接方式进行寻址PSW。
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
CY AC F0 RS1 RS0 OV USR P
CY 进位标志位
AC 辅助进位标志位