
单片机基础入门.pdf
19页单片机基础 一、 单片机基础知识一、 单片机基础知识 1.151 系列单片机简介:系列单片机简介: 51 系列单片机是单片机领域中的一类,也是影响最为深远,使用最为广泛的单片机系 列51 单片机是指 Intel 的 MCS51 系列及和其具有兼容内核的单片机51 系列单片机最早 由 Intel 公司发展起来,随后将 51 内核授权给其他各个厂商因此,现在 MCS51 兼容的单 片机种类繁多,如:Atmel 公司的 AT889C 系列、AT89S 系列、Silicon Laboratories 的 C8051F 系列以及 STC 的单片机等 这些系列的单片机都有着十分接近的指令系统和硬件结构, 在开 发起来很方便移植 1.2STC 系列单片机:系列单片机: STC89C51RC系列单片机是STC推出的新一代高速/低功耗/超强抗干扰的单片机,指令代 码完全兼容传统的8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择,HD版本 和90C版本内部集成MAX810专用复位电路特征: 1) 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可任意选择,指令代码完 全兼容传统8051 2)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机) 3) 工作频率范围: 040MHz, 相当于普通8051的 080MHz, 实际工作频率可达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路,下降沿中断或低电平触发中断, PowerDown模式可由外部中断低电平 触发中断方式唤醒 13) 通用异步串行口(UART),还可用定时器软件实现多个UART 14) 工作温度范围:40+85(工业级)/075(商业级) 15) 封装:LQFP44,PDIP40,PLCC44,PQFP44. 备注:关于 12 时钟/机器周期和 6 时钟/机器周期的说明: 备注:关于 12 时钟/机器周期和 6 时钟/机器周期的说明: 在单片机中有几个周期,时钟周期、机器周期、指令周期: 时钟周期:时钟周期 T 又称为振荡周期,由单片机片内振荡电路 OSC 产生,常定义为时钟脉冲频率 的导数,是时序中最小的时间单位。
如某单片机时钟频率为 1MHz,那么它的时钟周期 T 即为 1us 机器周期:机器周期定义为实现特定功能所需的时间,通常由若干时钟周期 T 构成因此,微型计 算机的机器周期常常按其功能来命名,且不同机器周期所包含的时钟周期的个数也不相同STC 单片机的 一个机器周期为12个时钟周期 (或6个时钟周期) 即, 若单片机时钟频率为12MHz, 那么时钟周期为1/12us, 而机器周期可以为 1us(或者 0.5us) 指令周期:指令周期是时序中的最大时间单位,定义是执行一条指令所需的时间由于机器执行不 同指令所需的时间不同,因此不同指令所包含的机器周期也不相同通常,包含一个机器周期的指令称为 单周期指令,包含两个机器周期的指令称为双周期指令,等等在 51 单片机中有单周期、双周期和四周期 指令四周期指令只有乘法和除法两种,其余均为单周期和双周期指令 1.351 单片机的一些基础知识单片机的一些基础知识 1.1. 存储器结构: 存储器结构: MCS51 的存储器不仅有 ROM 和 RAM 之分,而且有片内和片外之分 存储器地址分配:有三个地址空间: 1)ROM 存储器地址空间(包括片内 ROM 和片外 ROM) ,地址范围为 0000HFFFFH,当 单片机 EA 脚接地,即 EA=0 时,均为片外 ROM,如 EA=1,则 0000H0FFFH 为片内 ROM, 1000HFFFFH 为片外 ROM,故通常单片机都会将 EA 接高,保证从片内 ROM 启动。
此区也 被称为 CODE 区 2)片内 RAM 地址空间,地址范围为 00HFFH对于 8051 来说,007FH 为低 128BRAM 区(也称 DATA 区) ,而 80HFFH 为 SFR 区(特殊功能寄存器区) ;对于 8052 等,80HFFH 为高 128B RAM 区(称 IDATA 区) ,与 SFR 地址是重叠的,通过区分所访问的存储区来解决 地址重叠问题,因此 IDATA 区只能通过间接寻址来访问 3)片外 RAM 地址空间,地址范围为 0000HFFFFH (XDATA 区,对 XDATA 的读写操作 需要至少两个处理周期) 备注:ROM 与 RAM 的区别 备注:ROM 与 RAM 的区别 ROM 为只读存储器(ReadOnlyMemory) ,是一种只能读出事先所存数据的固态半导体存储器其特 性是一旦储存资料就无法再将之改变或删除 RAM,随机存取存储器(RandomAccessMemory) 存储单元的内容可按需随意取出或存入,且存取 的速度与存储单元的位置无关的存储器这种存储器在断电时将丢失其存储内容,故主要用于存储短时间 使用的程序 2.2. 处理器状态: 处理器状态: 处理器的状态保存在状态寄存器PSW中, 状态字中包括状态字中包括进位位、 用于BCD 码处理的辅助进位位、奇偶标志位溢出标志位,还有前面提到的用于寄存器组选择 RS0 和 RS1。
0 组从地址 00H 开始,1 组从地址 08H 开始 2 组从地址 10H 开始,3 组从地址 18H 开 始这些地址都可通过直接或间接方式进行寻址 PSW BIT7BIT6BIT5 BIT4BIT3BIT2BIT1BIT0 CYACF0RS1RS0OVUSRP CY 进位标志位 AC 辅助进位标志位 F0 通用标志位 RS1 寄存器组选择位高位 RS0 寄存器组选择位低位 OV 溢出标志位 USR 用户定义标志位 P 奇偶标志位 3.3. 电源控制: 电源控制: 电源控制寄存器 PCON 的相应位来进入节电方式,置位 IDLE 进入空闲模式,空闲模式 将停止程序执行,RAM 中数据仍然保存,晶振继续工作,但与 CPU 断开定时器和串口继 续工作发生中断将退出中断模式执行完中断程序后,将从程序停止的地方继续指令的执 行 通过置位 PDWN 位来进入低功耗模式,低功耗模式中晶振将停止工作,因此定时器和 串行口都将停止工作至少 2V 的电压加在芯片上,因此 RAM 中的数据仍将保存退出低功 耗模式只有两种方式:上电或复位 SMOD 位可控制串行通信的波特率, 将使由定时器 1 的溢出率和晶振频率产生的波特率 翻倍。
置位 SMOD 可使工作与方式 1,2,3 定时器产生的波特率翻倍当使用定时器 2 产 生波特率时,SMOD 将不影响波特率 BIT7BIT6BIT5 BIT4BIT3BIT2BIT1BIT0 SMODGF1 GF0PDWNIDLE SMOD 串行口通信波特率控制位,置位使波特率翻倍 保留 GF1 通用标志位 GF0 通用标志位 PDWN 低功耗标志位,置位进入低功耗模式 IDLE 空闲标志位,置位进入空闲模式 4.4. 中断系统 中断系统 STC89C51RC/RD+系列单片机提供了8个中断请求源,它们分别是:外部中断0(INT0)、 定时器0中断、外部中断1(INT1)、定时器1中断、串口(UART)中断、定时器2中断、外部中断 2(INT2)、外部中断3(INT3)(外部中断2与外部中断3在STC单片机所特有,之前的AT89C52单片机 中没有引入)所有的中断都具有4个中断优先级用户可以用关总中断允许位(EA/IE.7)或相应 中断的允许位的方法来屏蔽所有的中断请求, 也可以打开相应的中断允许位来使CPU响应相应的 中断申请; 每一个中断源可以用软件独立地控制为开中断或关中断状态; 每一个中断的优先级别 均可用软件设置。
高优先级的中断请求可以打断低优先级的中断,反之,低优先级的中断请求不 可以打断高优先级及同优先级的中断 当两个相同优先级的中断同时产生时, 将由查询次序来决 定系统先响应哪个中断中断次序表: 如果使用 C 语言编程,中断查询次序号就是中断号,如: voidint0()interrupt0; voidtimer0()interrupt1; voidint1()interrupt2; voidtimer1()interrupt3; voiduart()interrupt4; voidtimer2()interrupt5; voidint2()interrupt6; voidint3()interrupt7; 注意:函数可以自己命名,但是后面的中断号不能随便改,必须以 interruptx 的格式 4.1 中断优先级寄存器中断优先级寄存器 每个中断源都可通过中断优先级寄存器 IP 来单独设置中断优先级如果每个中断源的 相应位被置位, 则该中断源的优先级为高 如果相应的位被复位, 则该中断源的优先级为低 IP 寄存器(可位寻址) BIT7BIT6BIT5 BIT4BIT3BIT2BIT1BIT0 PT2PSPT1PX1PT0PX0 保留 PT2 定时器 2 中断优先级 PS 串行通信中断优先级 PT1 定时器 1 中断优先级 PX1 外部中断 1 优先级 PT0 定时器 0 中断优先级 PX0 外部中断 0 优先级 STC 单片机拓展中断优先级: 扩展中断优先级寄存器 (IPH) , 字节地址为 B7H, 不能位寻址。
IPH:中断优先级控制寄存器高 BIT7BIT6BIT5 BIT4BIT3BIT2BIT1BIT0 PX3HPX2HPT2HPSHPT1HPX1HPT0HPX0H 4.2 中断使能寄存器中断使能寄存器 通过设置中断使能寄存器 IE 的 EA 位,使能所有中断每个中断源都有单独的使能位, 可通过软件设置 IE 中相应的使能位在任何时候是你使能或禁能中断 中断使能寄存器(IE) (可位寻址) BIT7BIT6BIT5 BIT4BIT3BIT2BIT1BIT0 EAET2ESET1EX1ET0EX0 EA 使能标志位,置位则所有中断使能,复位则禁止所有中断 保留 ET2 定时器 2 中断使能 ES 串行通信中断使能 ET1 定时器 1 中断使能 EX1 外部中断 1 使能 ET0 定时器 0 中断使能 EX0 外部中断 0 使能 在 STC89C5x 系列单片机中添加了 XICON(辅助中断控制寄存器) ,地址 C0H. XICON:辅助中断控制寄存器 BIT7BIT6BIT5 BIT4BIT3BIT2BIT1BIT0 PX3EX3IE3IT3PX2EX2IE2IT2 PX3 置位表明外部中断 3 的优先级为高,优先级最终由PX3H,PX3=0,0;0,1;1,0;1,1 来决定 EX3 如被设置成 1,允许外部中断 3 中断;清零则静止外部中断 3 中断。
IE3 外部中断 3 中断请求标志位,中断条件成立后,IE3=1,可由硬件自动清零 IT3 当此位由软件置位时,外部中断 3 为下降沿触发中断;当此为由软件清零时,为低 电平触发中断 PX2 置位表明外部中断 2 的优先级为高,优先级最终由PX2H,PX2=。
