《最新单片机原理及应用2精品课件》由会员分享,可在线阅读,更多相关《最新单片机原理及应用2精品课件(49页珍藏版)》请在金锄头文库上搜索。
1、单片机原理及应用单片机原理及应用 (2) (2)教学计划n学习intel 51系列8位单片机原理及应用,包含以下基本内容: 单片机的基本结构和使用要点:RAM,ROM, SFR以及并行接口I/O,中断系统,定时器,串行接口n学习基于51,增强内核的infineon 8位XC866单片机主要特点,主要包含以下内容: I2C总线,SPI总线,AD转换器,定时器中捕获比较单元及PWM输出。n课堂教学32学时:24学时讲51单片机,8学时讲XC866。n实验16学时:其中51单片机10学时,XC866实验6学时。n由于教材限制(没有完整的两者包含的教材),讲课内容不便统一处理,因此计划XC866作为最
2、后讲解。计算机主要模块nCPU、存储器、接口n连接三者用“总线”:数据总线DB;地址总线AB;控制总线CBn接口连接外部设备:显示器;键盘;鼠标;打印机;以及硬盘;光盘;软盘;U盘、还有互联网等等地址总线 AB控制总线 CBCPU内存数据总线 DB接口I/O显示器LCD,LED/CRT键盘、鼠标软驱、硬盘、光驱音响,麦克风网络及其他控制单片机浓缩了计算机基本模块两种计算机对比对比项目个人计算机PC单片机CPU位数64位8、16、32位内存大小256MB以上128字节几百KB工作频率1GHZ以上几十兆赫兹接口类型繁多的基本接口和智能接口只有基本接口基本接口并口、串口、定时器、中断系统并口、串口、
3、定时器、中断系统智能接口FDD、IDE、USB、显示器、声卡少量类型单片机有USB、CAN、等接口结构特点多个IC多个电路板结构单片IC结构计算机的内存n内存分为只读存储器ROM和随机存储器RAM两类。nROM存放启动/开机程序以及一些系统子程序。PC机的BIOS就是存放在ROM中。用户编写的单片机程序也是存放在ROM中。nRAM存放变量,数据。PC机还要存放从硬盘等处读入的可执行程序。nROM中的程序用于开机时,计算机能引导进入运行状态,这些程序在掉电后应保证不会消失。单片机:麻雀虽小,五脏俱全n单片机设计为:专用于控制目的计算机。n用于专门目的,为了降低成本,没有必要将不用的功能包含进来。
4、n单片机通常只有8位,16位,32位字长,运算速度不是很快,但用于专门的控制足够了。n因数据量不大,单片机内存也没有必要做得太大。n单片机应用系统功能单一,可见于我们生活中的时时处处:手机、微波炉、洗衣机、电视机、遥控器、电子词典、高档玩具n嵌入式单片机还见于计算机的许多辅助设备:键盘、硬盘、光驱、打印机等等。怎样学好单片机n学好单片机,工作不用愁!n学习单片机要联系曾经学过的许多数字电路和模拟电路知识。n真正学好单片机,还应当学会“电路板设计”;即:学会“Protel”软件的使用方法,能熟练设计相应的电路和电路板。(自学)n学习单片机的基本结构和(汇编)编程控制方法,学习C语言对单片机的编程
5、方法。n认真作实验,保证能看懂试验电路,看懂实验程序,并能够修改程序,最好能利用实验电路板自己编写程序实现设想的功能。计算机的数据交换接口n尽管计算机外部设备多种多样,根本上来说就是数据的传输:n外部设备把指令、数据送到计算机内让计算机进行处理n计算机把处理情况和处理结果,以及需要保存的数据送到外部设备:显示;打印;保存;交换n单片机还需要读取外部状态信息和输出控制信息。n计算机接口就是完成以上数据传输任务的基本电路模块。计算机基本接口n并行接口并行接口:多条线(8线)同时传输数据。一次传输一字节。n串行接口串行接口:单线传输,一次传输一位,分时传送。n定时器定时器:产生设定的时间间隔信号,用
6、于安排计算机的多种任务执行时间,也可以测量外部信号的宽度,周期,功能强的定时器,还可以产生多种波形输出,例如PWM等。n中断控制器中断控制器:用于使CPU能及时响应多种外部设备申请的服务。配合外部低速设备的数据交换。n其他接口:DMA直接存储器存取,AD/DA数字/模拟接口等,随不同型号不同而不同。通讯接口举例n并行接口:LPT打印机;内部FDD软驱;IDE光驱/硬盘n串行接口:COM1/COM2串行接口;USB通用串行接口;键盘、鼠标接口;红外线接口;网络接口n串行接口还有更广泛的应用:手机,数字电视,卫星通讯n属串行接口的还有一些其它名称:I2C,SPI,SMBus,通讯协议有些差异。RS
7、485,RS232等,传送的驱动方式和数据电平有些差异。单片机的学习重点1.CPU内存:寄存器应用,指令集和寻址方式2.接口:各种可编程接口的应用特点及初始化方法。3.基本接口包含:通用并行接口、串行接口、定时器、中断控制。以上3点是学习的重点单片机的其他接口n扩展的其它接口如:A/D;D/A接口;I2C接口,CAN接口;SPI接口;DMA接口等n不同厂家的产品具有不同的特点,但基本结构框架类似,一通百通。如果使用C语言编程,只要了解对应接口的初始化代码就可以对不同型号单片机进行编程了!n基于51单片机核,英飞凌infeineon,AD,ATMEL,PHILIPS等公司还提供了更多的接口功能,
8、使之应用更广泛和灵活。单片机不同型号间的主要差异1.CPU字长:4位;8位;16位;32位2.ROM容量:没有(需要外部扩展);1K;2K;4K;8K64K,128K,工艺上分EPROM;E2PROM;FLASH ROM3.RAM容量:128B;256B;1K;2K,基本RAM和片内扩展XRAM4.接口数量和种类:并口;串口;定时器;中断控制器。好的芯片还集成了AD/DA接口,DMA,PWM,CAN,I2C,。同时增加更多引脚。常见的8位16位单片机nIntel 8051 系列和96系列nMotolola 的MC68H系列nMicrochip的PIC系列nATMEL的89系列,ATMEGA系列
9、nPHILIPS的P89/P87C5系列nSilicon Laborratories的C8051F.系列n亿恒C500/166系列(原西门子,infineon)8/16位n三菱740族8位,M16C/62系列16位nTI的MSP430系列本课程重点因课时所限,主要介绍:nIntel 80518位单片机系列,以8031为核心,配以大量实验。nInfineon的亿恒XC866 8位单片机内部总线地址寄存器(段寄存器)程序计数器数据寄存器通用寄存器总线缓冲总线缓冲数据总线地址总线累加器ALU暂存器状态寄存器器指令寄存器指令译码时序逻辑控制信号CPU的一般结构的一般结构CPU主要结构和功能nALU:算
10、术逻辑单元。它是一个集:加、减、乘、除、移位、与、或、非、异或等多种功能模块的电路单元。n选择ALU的某项功能是通过“指令译码器”送出的控制信号决定的。n指令寄存器存放着从存储器读回的操作指令,它被“指令译码器”译成操作ALU的控制信号。n地址寄存器/程序计数器自动计算CPU要执行的下一条指令的存放地址,并产生相应地址信号用于选择程序存储器。n指令译码器在执行完当前指令时,发出“读指令”信号,把下一条指令读入指令寄存器。新型单片机采用“流水线”方式,执行指令的同时就可以读取新的指令。n状态寄存器存放着ALU运算的状态标志。n通用寄存器存放一些最常用的运算数据或地址。运算前,数据会转存到暂存器中
11、n累加器是最常用的运算寄存器。通常,运算前是运算数据,运算后存放运算结果。它配合暂存器通过ALU进行运算。存储器n数据存储器:RAMn程序存储器:ROMn两类存储器的编址方法有两种:线性统一编址和分区编址。nIntel MCS-51为“分区编址”,ROM和RAM各自占用一个独立地址空间。nIntel X86采用线性统一编址。ROM和RAM分布于同一个地址空间的不同地址段。n许多计算机都采用线性统一编址,称为“冯涅曼”体系结构。例如亿恒C164CI系列单片机。n地址:就像门牌号或者密码锁,每一个存储单元应当具有独立的唯一的地址代码。单片机的RAM特点n单片机的RAM又分为“片内”和“片外”两种。
12、n片内RAM包含两种应用类型:通用寄存器片内RAM。特殊功能寄存器SFR。nSFR是特殊功能寄存器(SpecialFunctionRegisters),而且是专用的!它们控制着单片机的各种接口功能,也存放着接口的输入输出数据。这些寄存器都有特定的地址。n片外RAM通常指外部扩展的RAM。一些性能较好的单片机片内也集成了“片外”RAM,称为:XRAM,实际上还是集成在片内。n片内RAM和片外RAM也分为统一编址和独立编址两种n51单片机RAM属于独立编址,而ROM则为统一编址。后续详细解说。单片机的接口n单片机的基本接口就是前面讲过的:并行接口;串行接口;定时器和中断控制器。n性能好的单片机除了
13、增加接口数量之外,还增加了许多专用接口,例如模数/数模转换器接口,USB接口,CAN接口,I2C接口,PWM接口等等。n所有接口的控制寄存器和数据寄存器都安排在SFR区。它们同片内RAM那样都有具体的地址安排,并有相应的寄存器名称。各生产厂家会提供“寄存器名地址”的文件或编译器。n各接口引脚往往是多功能的,用软件选择它的某一功能。(配合硬件连接)特别值得注意的是:可以直接对一个可以直接对一个引脚进行控制!引脚进行控制!这是其它计算机没有的。n一些并行接口常作为外部扩展时的数据线、地址线和控制线使用。(当需要时)51系列单片机n最早以8031为代表,后来派生出许多型号,它们的基本结构和指令代码相
14、同。甚至引脚也相同,可以直接互换互换。n这类系列统称为MCS-51系列,常见型号有:8031,8032,8751,8752,8051,805289C51,89C52,97C51,97C52,89C2051n生产51系列单片机的许多厂家还推出了性能更好的型号,这些厂家有:Philips,Dallas,SIMENS,AMD,Atmel,NEC,HARRIS,WinBond,YHUNDAI,ADI,Silicon Laborratories等,产品名称变化也大,例如: Dallas的DS80C320, WinBond的W78E58, Silicon Laborratories 的C8051F0XX,
15、 Philips的P89LPCXXX等。51单片机代表型号及资源型号ROM(KB)RAM字节并口引脚数串口定时器中断源8031无128481258032无2564813680514KPROM1284812589514K1284812589528K2564813689C5832K2564813687C5416K2564813689C20512K1282812587C514K12848125常见代号分析n80C31的C字表示CMOS工艺,通常忽略不讲。n第二个字:0,7,9等,表示ROM的工艺,0为PROM,7为EPROM,9为E2PROM或flash ROM。n第三个字:3:无ROM,5:有RO
16、Mn第四个字n:n=1: RAM128字节,定时器2个,ROM4Kn=2: RAM256字节,定时器3个,ROM=8Kn2: RAM256字节,定时器3个,ROM=n*4K注:此方法不完全通用,可以参考。希望大家记住此方法。51单片机引脚和封装封装的英文缩写意义DIP双列直插式封装PDIP Plastic Dual-In-Line Package塑料双列直插式组件TQFP Thin Quad Flat Pack 薄型四方扁平封装 PQFP Plastic Quad Flat Pack 塑料四方扁平封装 PLCC Plastic Leaded Chip Carrier /Plastic Lead
17、less Chip Carrier 塑料式引线芯片载体封装/塑料无引线芯片承载封装BGA Ball Grid Array 球栅阵列(封装) PGA Pin Grid Array 栅格阵列接脚 TSOP Thin Small-Outline Package 薄型小外型封装 SOT Small-Outline Transistor 小外型晶体管 DIP40封装的51单片机P1.0P1.7并行口P1,其中P1.0和P1.1可能作为定时器T2的功能引脚。P0.1P0.7并行口P0,当需要扩展存储器或接口时,可以作为数据/地址(低8位)总线。P2.0P2.7并行口P2,当需要扩展存储器或接口时,可以作为
18、地址总线高8位。P3.0P3.7并行口P3,通常单独使用它们的第二功能: P3口特殊功能n P3.0RXD,异步通讯接口的数据输入端。n P3.1TXD,异步通讯接口的数据输出端。n P3.2INT0,外部中断0申请的输入端。n P3.3INT1,外部中断1申请的输入端。n P3.4T0,定时器T0外部时钟输入端。n P3.5T1,定时器T1外部时钟输入端。n P3.6 WR,对外部存储器/接口的“写”信号。n P3.7RD,对外部存储器/接口的“读”信号。51单片机的其它引脚nVCC工作电源,常为5V,某些型号可以工作在2.78V之间。nVSS GND,接地端。nXTAL1外接晶体振荡器,当
19、使用外部时钟时,此脚应接地。nXTAL2外接晶体振荡器。也作外部时钟输入。nPSEN读外部ROM信号。nRST 复位输入端,高电平复位,低电平时CPU工作。nALE/PROG 地址锁存信号输出(正脉冲)/编程脉冲输入(负脉冲),用户一般不考虑后者。此信号控制外接的74LS373锁存器把P0口的地址分量分离出来作为扩展地址的低8位。nEA/VPP片内片外ROM选择/编程电压输入,用户一般不考虑后者。当接GND时,表示使用外部程序存储器;当接VCC时,使用片内程序存储器。51单片机结构框图结构简介1q 从外部来看,共有4组8位并行接口,占用32个引脚,另:两个引脚作晶振接入,电源,地各一个脚及4个
20、控制脚共计40个引脚。q 4组并行接口分别称为:P0;P1;P2和P3,每一个单独引脚由小数点后的数字确定。例如:P1.0;P3.2等。q 4组并口,除P1为专门的并口外,其它3个并口还有第二功能:P0可以作为外部的数据总线和地址低8位;P2作为地址高8位。P3的每一个引脚都有不同的第2功能:串行接口的输入输出;外部中断输入;定时器外部钟输入以及外部接口存储器的读写信号。q 单片机内部除CPU的主要结构外,还有128B(256B)的RAM,一定数量的ROM。RAM和ROM的多少随芯片型号不同而不同。nALU:算术逻辑单元。所有的运算都通过ALU进行。 nPSW::(Program State
21、Word)程序状态字,8位。其中存放着当前ALU的一些操作状态特征。其字节地址是D0H。 结构简介2nPC: ( Program Counter) 程 序 计 数 器 , 16位 。 它 与 8086CPU的IP(Instruction Pointer)意义类似。PC中存放着CPU要执行的下一条指令地址,CPU通过它产生ROM地址从而读取指令。每执行一条指令,它都会自动增加。增加的数值依照已读指令的长短而变化。只有中断、跳转和调用指令才能使其作其它变化。每当开机或者复位时,它的起始值为0000H。nACC:累加器,8位。51单片机大多数指令都必须使用ACC,它是使用最频繁的寄存器。它与ALU直
22、接相连,加、减、乘、除、移位以及其它逻辑运算都要使用ACC,特别是:外部数据的读写也都必须使用ACC。ACC有两个名字:A和ACC。A表示寄存器,ACC表示用地址表达的寄存器(存储器)。除入栈出栈指令使用ACC这个名字外,其它指令中都用A。nDPTR:数据指针16位,主要用于指出外部RAM的数据地址或ROM数据表的基地址。内存中将其分为两个8位寄存器,分别叫DPL和DPH,DPH存放地址的高8位,DPL存放低8位。nSP:stack Pointer 堆栈指针,8位。用于指出当前堆栈的顶部地址,当有入栈操作时,SP自动+1,出栈时SP=SP-1。结构简介3nP0口和P2口可以作为外部扩展的数据总
23、线和地址总线使用。nP0口分时作为数据线(8位)和地址线低8位使用,通过外部地址分离电路将其分离。n分离信号就是ALEnP2口作为地址线高8位使用nP0和P2可以组合成16位地址,因而可以对外部的64KB空间进行寻址访问。他们可以同时连接ROM和RAM(访问操作各自不同)程序状态字PSWnC:也叫CY,进位标志或借位标志。当运算产生进位或借位时:C=1,否则C=0。nC位还有一个特殊意义:它是1位计算机的“累加器”,CPU作布尔运算时,需要C的介入。同时C还可以读取一个引脚的数据或者把C的数据从引脚送出。nAC:半进位。当AC=1时,表明运算使低4位向高4位产生了进位。nF0:用户标志位。用户
24、可以用于存1位数据。nRS1和RS0:(Registers Selection)寄存器选择位。用于选择寄存器组。参看2.1.4节。nOV:溢出标志。对符号数的运算,当结果超出-128+127时,产生溢出,此时OV=1。nF1:用户标志位。用户可以用于存1位数据。(有些品种不支持)nP: 奇偶标志,反映ACC中数据的奇偶性。若ACC中有奇数个1,则P=1。位地址 D7HD6HD5HD4HD3HD2HD1HD0H位符号CACF0RS1RS0OVF1PSFR简介地址:80HFFHn并口数据寄存器:P0;P1;P2;P3n累加器ACC和寄存器Bn定时器T0(TH0;TL0),T1(TH1;TL1)n定
25、时器控制寄存器:TMOD;TCONn串行口控制SCON和数据SBUFn中断控制:IE,IPn电源控制:PCONn程序状态字:PSWn堆栈指针:SPn数据指针:DPTR(DPH和DPL)51单片机内部RAM地址名 称 / 用 途PSW/说明0007R0R1R2R3R4R5R6R7 0组RS1=0,RS0=0080FR0R1R2R3R4R5R6R7 1组RS1=0,RS0=11017R0R1R2R3R4R5R6R7 2组RS1=1,RS0=0181FR0R1R2R3R4R5R6R7 3组RS1=1,RS0=1202F位寻址区,地址007FH共128位,占16字节不用的字节作RAM307F用户RAM
26、区,存变量、缓冲、堆栈等80FF51、52单片机为 SFR 特殊功能寄存器采用直接地址(名称)80FF52单片机作RAM采用寄存器间接寻址 内部RAM的读写采用“MOV”指令,操作数分为:字节或位,其操作对象随之不同。 R0-R7通用寄存器部分,不用的字节也做RAM。通用寄存器的使用n51单片机留了4组寄存器,它们都叫做:R0,R1R7。它们在各种运算中起着参与运算的作用。n主程序只用0组寄存器。其它组用于不同的中断服务程序。目的是互不破坏数据。n如何切换到另一组呢?用程序改变PSW中的RS1和RS0就可。n记住:主程序默认使用:寄存器组0。中断服务程序开始时,先保存PSW,然后改写RS1和R
27、S0。退出服务时恢复原来的PSW。n一般只要使用两组就可以了。单片机的“位”n单片机特色之一是使用“位”变量并可以直接操作。n“位”存在于各个并口(引脚),累加器,PSW以及若干寄存器中;同时在RAM中也预留了“可位寻址”的空间:20H2FH。n位空间占用16字节,每个字节8位共128位,用地址00H7FH表达。n换算关系:字节地址20H(位地址/8),余数就是此字节的位号。n“位”可以设为变量、标志、LED显示缓冲区等。51单片机的堆栈n堆栈:在RAM中划分一个“块”作为堆栈。n堆栈的作用有两个:1.用于保存子程序返回时的程序地址信息。2.数据暂存。调用子程序或者响应中断时,断点的地址被CP
28、U自动存入堆栈,程序返回时,此地址能自动恢复,从而继续执行被打断处的程序。n堆栈的操作是通过“堆栈指针SP”记录的,它永远指出下一个空闲的存储器地址。n51单片机的堆栈为“上涨”型,入栈时SP=SP+1。n因为51机RAM很少,堆栈空间的预留需要精打细算。计算的依据:考虑子程序嵌套的最大可能层数,同时还要考虑中断服务程序的子程序嵌套层数,两个层数相加后乘2,再留一点余量。n128字节RAM空间,扣除必须使用的通用寄存器组数;堆栈;位变量占用的字节数,剩余部分才能设定为变量;缓冲区等。51单片机的存储器结构51单片机的“地址重叠”n片内RAM地址:00H7FH(52系列为00HFFH)n位地址:
29、00H7FHn片外扩展RAM地址:0000HFFFFHn(扩展)ROM地址:0000HFFFFHn单片机对其访问时,各使用不同的指令就可区别!n片内:MOV指令等,因对象不同使用不同寄存器或寻址方式就可区分:位或者字节。n片外RAM用MOVX,控制信号:WR和RDn访问ROM用MOVC,控制信号:PSEN。nROM以线性方式编址,无论EA脚接高电平或低电平51结构小结nRAM128字节,地址007FH,可用作:1.通用寄存器R0R7。2.堆栈区域划分。3.位变量。4.字节变量和数据暂存(缓冲区)。nSFR,地址80FFH。含端口控制寄存器和数据寄存器,以及其他专用寄存器如:累加器ACC,寄存器B,程序状态字PSW,堆栈指针SP,程序计数器PC等。n40个引脚:48个并行口引脚,晶振2引脚、电源2引脚、复位、PSEN、EA、ALE。nP0,P2可扩展为地址/数据线,P3口功能最多。结束语结束语谢谢大家聆听!谢谢大家聆听!49