单片机基础知识
- 格式:doc
- 大小:91.00 KB
- 文档页数:5
第一章单片机入门知识概述1.1 单片机的发展历程单片机的应用在后PC时代得到了前所未有的发展,但对处理器的综合性能要求也越来越高。
综观单片机的发展,以应用需求为目标,市场越来越细化,充分突出以“单片”解决问题,而不像多年前以MCS51/96等处理器为中心,外扩各种接口构成各种应用系统。
单片机系统作为嵌入式系统的一部分,主要集中在中、低端应用领域(嵌入式高端应用主要由DSP、ARM、MIPS等高性能处理器构成),在这些应用中,目前也出现了一些新的需求,主要体现在以下几个方面:(1)以电池供电的应用越来越多,而且由于产品体积的限制,很多是用钮扣电池供电,要求系统功耗尽可能低,如手持式仪表、水表、玩具等。
(2)随着应用的复杂,对处理器的功能和性能要求不断提高。
既要外设丰富、功能灵活,又要有一定的运算能力,能做一些实时算法,而不仅仅做一些简单的控制。
(3)产品更新速度快,开发时间短,希望开发工具简单、廉价、功能完善。
特别是仿真工具要有延续性,能适应多种MCU,以免重复投资,增加开发费用。
(4)产品性能稳定,可靠性高,既能加密保护,又能方便升级。
1. 单片机技术的发展特点自单片机出现至今,单片机技术已走过了近20年的发展路程。
纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。
(1)单片机寿命长这里所说的长寿命,一方面指用单片机开发的产品可以稳定可靠地工作十年、二十年,另一方面是指与微处理器相比的长寿命。
随着半导体技术的飞速发展,MPU更新换代的速度越来越快,以386、486、586为代表的MPU,很短的时间内就被淘汰出局,而传统的单片机如68HC05、8051等年龄已有20岁以上,产量仍是上升的。
这一方面是由于其对相应应用领域的适应性,另一方面是由于以该类CPU为核心,集成以更多I/O功能模块的新单片机系列层出不穷。
51单片机基础知识单片机作为一种嵌入式微控制器,具有广泛的应用领域和技术需求。
本文将介绍51单片机的基础知识,包括其概述、硬件结构、编程语言和开发环境等内容。
通过本文的学习,读者可以对51单片机有初步了解,并为之后的学习和应用打下基础。
一、概述51单片机,是指Intel公司开发的一种8位微处理器。
它以其简单、稳定和可靠的特点,成为嵌入式系统开发中最常用的单片机之一。
51单片机由存储器、中央处理器、输入输出端口、计时器/计数器和各种外围设备组成。
二、硬件结构51单片机的硬件结构主要包括中央处理器、存储器、输入输出端口和计时器/计数器。
1.中央处理器51单片机的中央处理器是一种基于哈佛架构的8位微处理器,具有高性能和低功耗的特点。
它可以执行指令、进行算术逻辑运算和控制外围设备的工作。
2.存储器51单片机的存储器包括程序存储器和数据存储器。
程序存储器用来存储运行的程序代码,而数据存储器用于存储程序需要的数据。
3.输入输出端口51单片机通过输入输出端口与外部设备进行通信。
输入端口用于接收外部信号,输出端口用于输出控制信号。
4.计时器/计数器51单片机内置了多个计时器/计数器,用于定时和计数应用。
它们可以实现精确的时间控制,并为系统提供准确的时间基准。
三、编程语言51单片机的常用编程语言有汇编语言和C语言。
汇编语言是51单片机最早的编程语言,它直接与硬件进行交互,执行效率高。
而C语言是一种高级编程语言,具有结构化、可移植等特点,编写的程序更加易读易维护。
1.汇编语言汇编语言是一种低级别的编程语言,需要程序员直接处理寄存器和内存地址。
它的语法相对复杂,但可以更直接地控制硬件资源,实现更高效的程序执行。
2.C语言C语言是一种结构化的高级编程语言,具有简洁、易读和可移植等特点。
C语言程序需要通过编译器将源代码转化为机器指令,然后才能在51单片机上运行。
四、开发环境51单片机的开发环境包括硬件开发工具和软件开发工具。
第一章、绪论单片机定义:把CPU、寄存器、RAM/ROM、I/O接口等电路集成在一块集成电路芯片上,构成一个完整的微型计算机。
单片机特点:体积小、功耗低、性价比高;数据大都在片内传送,抗干扰能力强,可靠性高;结构灵活,应用广泛。
单片机发展趋势:数据位长1-->4-->8-->16-->32位;CPU处理能力和速度不断提高;增大片内RAM和ROM容量;增加片内I/O口和功能模块种类和数量;扩大对外部RAM/IO口和程序存储器寻址能力;缩小体积,降低功耗。
单片机应用:控制应用:应用范围广泛,从实时性角度可分为离线应用和在线应用。
软硬件结合:软硬件统筹考虑,不仅要会编程,还要有硬件的理论和实践知识。
应用现场环境恶劣:电磁干扰、电源波动、冲击震动、高低温等环境因素的影响。
要考虑芯片等级选择、接地技术、屏蔽技术、隔离技术、滤波技术、抑制反电势干扰技术等。
应用空间大:工业自动化、仪器仪表、家用电器、信息和通信产品、军事装备、物联网等领域。
第三章:MCS-51单片机结构与原理3.1 MCS-51单片机的物理结构及逻辑结构51单片机的引脚定义:P0、P1、P2、P3(输入输出口);RST(复位)/ VPD(后备电源引入端);EA (读内/外ROM控制)/Vpp(编程电压);ALE(地址低8位锁存)/ PROG(编程脉冲);PSEN (外部ROM读选通信号);XTAL1、XTAL2 (外接晶振端)Vcc (+5v电源);Vss (地)逻辑结构--51单片机的系统结构图(教材P26)51单片机基本组成:一个8位微处理器CPU;数据存储器RAM和特殊功能寄存器SFR;内部程序存储器ROM;两个定时/计数器,用以对外部事件进行计数,也可用作定时器;四个8位可编程的I/O(输入/输出)并行端口;一个串行端口,用于数据的串行通信;中断控制系统;内部时钟电路。
MCS-51单片机的CPU:运算器:由8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等组成。
1.“与“:“必须都有,否则就没有”。
符号“&”。
如(01010101)&
(10101010)=00000000
2.“或”:“只要其中之一有就有“。
符号”|“。
如(01010101)|
(10101010)=11111111
3.“非“:”求反“。
符号”!“。
单片机中用”~”表示“按外取反”。
如~01010101=10101010.而”!“只对单一位进行运算。
4.“同或“:”必须相同,否则就没有:。
符号“⊙”。
如0⊙0=1,0⊙
1=0, 1⊙0=0,1⊙1=1。
5.“异或”:“必须不同,否则就没有”。
符号“⊕”。
如0⊕0=0,0⊕1=1,
1⊕0=1,1⊕1=0。
C语言中注释的写法
(1)//……..两个斜杠后面跟着的为注释语句.这种写法只能注释一行,当换行时,又必须在新行上重新写两个斜杠.
(2)/*……..*/,斜杠与星号结合使用,这种写法可以注释任意行,即斜杠星号与星号斜杠之间的所有文字都作为注释.
Main( )主函数的写法
格式:void main( ) 注意:后面没有分号。
特点:无返回值,无参数。
电路中,除单片机外,主要原件有三类。
第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、PSW中RS1 RS0=10时,R2的地址为 12H 。
8、PSW中RS1 RS0=11时,R2的地址为 1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。
10、PC复位后为 0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。
15、若A中的内容为63H,那么,P标志位的值为 0 。
16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第 0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。
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外部读控制
单片机的组成
1. CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
2. RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数
据;
3. ROM:用以存放程序、一些原始数据和表格;
4. I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
5. T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
6. 五个中断源的中断控制系统;
7. 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或
单片机与微机之间的串行通信;
8. 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于
单片机型号及性能。
基本数据类型
C-51的数据类型扩充定义
1. sfr:特殊功能寄存器声明
2. sfr16:sfr的16位数据声明
3. sbit:特殊功能位声明
类型 符号
有
无
(signed) int
16
-32768~32767
(signed) short
16
-32768~32767
(signed) long 32 -2147483648~2147483647
16
unsigned int 0~65535
32
0~4294967295
unsigned long int
unsigned short int
16
0~65535
有 float 32 3.4e-38~3.4e38
有
double 64 1.7e-308~1.7e308
有
char
8
-128~127
无
unsigned char
8
0~255
字
符
型
实
型
整
型
所占位数
数的表示范围
关键字
4. bit:位变量声明
例:sfr SCON = 0X98;
sfr16 T2 = 0xCC;
sbit OV = PSW^2;
C-51的包含的头文件
通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h
常用有:reg51.h reg52.h
(定义特殊功能寄存器和位寄存器);
math.h (定义常用数学运算);
C-51的运算符与C语言基本相同:
1. + - * / (加 减 乘 除)
2. >= < <= (大于 大于等于 小于 小于等于)
3. == != (测试等于 测试不等于)
4. && || ! (逻辑与 逻辑或 逻辑非 )
5. >> << (位右移 位左移)
6. & | (按位与 按位或)
7. ^ ~ (按位异或 按位取反)
C-51的基本语句与C语言基本相同:
1. if 选择语言
2. while 循环语言
3. for 循环语言
4. switch/case 多分支选择语言
5. do-while 循环语言
中断服务程序
函数名()interrupt n using m
{
函数内部实现 „.
}
I/O口定义:sbit beep=P2^3;
最小系统能够运行起来的必要条件。
1.电源
2.晶振
3.复位电路
对单片机任意IO口的随意操作
1.输出控制电平高低
2.输出检测电平高低。
定时器:重点掌握最常用的方式2
中断:外部中断、定时器中断、串口中断
串口通信:单片机之间、单片机与计算机间
单片机工作的基本时序
1. 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,TX
实验板上为11.0592MHZ。
2. 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。
3. 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在
一个机器周期内, CPU可以完成一个独立的操作。
4. 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有
一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周
期指令。
单片机I/O口
1. 当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上
拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会
影响输入电平。
2. 当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无
法再作为I/O口使用了。
3. P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。
4. P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地
设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然
后才能进入输入操作。
5. P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高
8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为
地址总线使用, 而不作为I/O线直接与外部设备相连。
总线型 非总线型
123456789101112131415161718192040393837363534333231302928272625242322211234567891020191817161514131211P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1VSSV
CC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/V
PP
ALE/PROG
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
RSTP3.0/RXDP3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDV
CC
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1/AIN1
P1.0/AIN0
P3.7
注:类似的还有Philips公司的
87LPC64,20引脚
8XC748/750/(751),24引脚
8X749(752),28引脚
8XC754,28引脚
等等
8
0
C
5
1
/
8
9
C
5
1
8
9
C
2
0
5
1
总线型
非总线型