




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机总复习聊城大学理工学院mcs-51单片机基本特性8 8 位的位的 cpu cpu, 片内有振荡器和时钟电路片内有振荡器和时钟电路, ,工作频率为工作频率为 1 112mhz12mhz(atmel 89cxxatmel 89cxx为为0 024mhz24mhz)片内有片内有 128/256128/256字节字节 ramram片内有片内有 0k/4k/8k0k/4k/8k字节字节 程序存储器程序存储器romrom可寻址片外可寻址片外 64k64k字节字节 数据存储器数据存储器ramram可寻址片外可寻址片外 64k64k字节字节 程序存储器程序存储器romrom片内片内 21/2621/26
2、个个 特殊功能寄存器特殊功能寄存器(sfrsfr)4 4个个8 8位位 的并行的并行i/oi/o口口(piopio)1 1个个 全双工串行口全双工串行口(sio/uartsio/uart)2/32/3个个1616位位 定时器定时器/ /计数器计数器(timer/countertimer/counter)可处理可处理 5/65/6个个中断源,中断源,两级两级中断优先级中断优先级内置内置1 1个个布尔处理器布尔处理器和和1 1个个布尔累加器布尔累加器(cycy)mcs-51mcs-51指令集含指令集含 111111条指令条指令mcs-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行i
3、/o串行i/o中断源片内rom片内ram无有rom有epromintelmcs-51子系列803180c31805180c51(4k字节)875187c51(4k字节)128字节2x164x8位15intelmcs-52子系列803280c32805280c52(8k字节)875287c52(8k字节)256字节3x164x8位16ateml89c系列(常用型)1051(1k)/ 2051(2k)/ 4051(4k)(20条引脚dip封装)1282151589c51(4k)/ 89c52(8k)(40条引脚dip封装)128/2562/33215/6mcs-51单片机基本结构示意图时钟电路sf
4、r和ram romcpu定时/计数器并行端口中断系统串行端口系 统 总 线时钟源t0 t1p0 p1 p2 p3txd rxd int0 int1二、单片机的引脚及功能mcs-51mcs-51单片机单片机4040脚脚vccvcc, , gndgnd 2 2xtal1xtal1, , xtal2xtal2 2 2resetreset/v/vpdpd 1 1eaea/vpp /vpp 1 1aleale/prog /prog 1 1psenpsen 1 1p0.0p0.0p0.7 p0.7 8 8 p1.0p1.0p1.7 p1.7 8 8 p2.0p2.0p2.7 p2.7 8 8 p3.0p3
5、.0p3.7 p3.7 8 8单片机的引脚lvcc, gndvcc, gnd: : 正电源端与接地端(正电源端与接地端(+5v/3.3v/2.7v)+5v/3.3v/2.7v)不同的单片机可以允许不同的工作电压,不同不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。的单片机表现出的功耗也不同。lale/progale/prog:当访问外部存储器时当访问外部存储器时, ale, ale(允许地(允许地址锁存信号)以每机器周期两次的信号输出址锁存信号)以每机器周期两次的信号输出, , 用于锁存出现在用于锁存出现在p0p0口的低口的低8 8位地址。对于位地址。对于epromepro
6、m型单片机,此引脚在编程期间输入编程脉冲。型单片机,此引脚在编程期间输入编程脉冲。lea/vpp: ea/vpp: 寻址外部寻址外部romrom控制端控制端/ /编程电源输入端。编程电源输入端。 低有效低有效,片内,片内无无romrom时时必须必须接地接地; 使用片内使用片内romrom时时应当应当接高电平接高电平; 对片内对片内romrom编程时编程正电源编程时编程正电源21v21v加到此端。加到此端。单片机单片机锁存器锁存器74ls373p0.0-p0.7alepsenp2.0-p2.48d8qoea8-a12a0-a7d0-d7geaoeceeprom单片机的引脚lpsenpsen:寻址
7、外部程序存储器时选通外部寻址外部程序存储器时选通外部epromeprom的的 读控制端读控制端(oeoe)低有效。低有效。三、单片机的时钟电路(晶振端)lxtal1, xtal2: xtal1, xtal2: 片内振荡电路输入片内振荡电路输入/ /输出端输出端151545pf45pfx2x21 112mhz12mhz(mcs-51mcs-51) 0 024mhz24mhz(atmel-89catmel-89c)xtal1xtal1xtal2xtal2通常外接通常外接一个晶振一个晶振两个电容两个电容时钟电路是计算时钟电路是计算机的心脏,它控机的心脏,它控制着计算机的工制着计算机的工作节奏。作节奏
8、。mcs-51mcs-51单片机所允许的单片机所允许的时钟频率因型号时钟频率因型号不同而异,典型不同而异,典型值为值为12mhz12mhz。p1p2s1振荡周期时钟周期机器周期机器周期指令周期s2s3s4s5s6s1s2s4s5s3s6p1p1p1p1p1p1p1p1p1p1p1p2p2p2p2p2p2p2p2p2p2p2牢牢记住牢牢记住: 振荡周期振荡周期 = = 晶振频率晶振频率foscfosc的倒数;的倒数; 1 1个机器周期个机器周期 = 12 = 12个振荡周期个振荡周期 1 1个指令周期个指令周期 = 1 = 1、2 2、4 4个机器周期个机器周期单片机的时钟电路(晶振端)5151
9、单片机状态时序单片机状态时序复位后: pc pc值归零(值归零(0000h0000h);); 各个各个sfrsfr被赋予初始值被赋予初始值, ,ramram不变不变: p0 p0p3 = 0ffhp3 = 0ffh,acc = 0acc = 0,b = 0b = 0,th0=0th0=0,tl0=0tl0=0,th1=0th1=0,tl0=0tl0=0,sp=7sp=7,psw=0 psw=0 退出处于节电工作方式的停顿状态、退出一切程序进程、退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,退出程序的死循环,从头开始从头开始。四、单片机的复位l通过某种方式通过某种方式, ,
10、 使单片机内各寄存器的值变为初始使单片机内各寄存器的值变为初始状态的操作称为复位。状态的操作称为复位。lreset: reset: 复位端(正脉冲有效。高电平持续时间应包复位端(正脉冲有效。高电平持续时间应包括括vccvcc的上升时间和振荡器起振的时间,一般宽度的上升时间和振荡器起振的时间,一般宽度 10ms10ms)l5151系列单片机是高电平复位,而其他系列一般都为系列单片机是高电平复位,而其他系列一般都为低电平复位低电平复位pc与sfr复位状态表寄存器复位状态寄存器复位状态pc0000htcon00ha00ht2con00hb00hth000hpsw00htl000hsp07hth100
11、hdptr0000htl100hp0p3ffhscon00hipxx000000bsbufxxhie0x000000bpcon0xxx0000btmod00h单片机的复位电路+5v10uf10kvccrstgnd上电复位上电复位10uf10kvccrstgnd手动手动&上电复位上电复位1k+5vlrstrst引脚内部有一个史密特触发器以对信号进行引脚内部有一个史密特触发器以对信号进行整形,所以外部输入信号不一定要求是数字信整形,所以外部输入信号不一定要求是数字信号。号。有些情况下应考虑系统复位。有些情况下应考虑系统复位。8051单片机存储器配置 mcs-51 mcs-51的程序存储器和
12、数据存储器是分开的,属的程序存储器和数据存储器是分开的,属于哈佛存储结构。于哈佛存储结构。l片内片内ramram 128 128字节(字节(00h00h7fh7fh)l可寻址片外可寻址片外ramram 64k 64k字节字节 (0000h0000hffffhffffh)l片内片内 flash flash romrom 4k 4k字节字节 (000h000hfffhfffh)l可寻址片外可寻址片外romrom 64k 64k字节字节 (0000h0000hffffhffffh)l片内片内2121个特殊功能寄存器个特殊功能寄存器( (sfrsfr) )ffffh0000h可寻址可寻址片外片外ram
13、ram 64k字节字节ffffh0000h可寻址可寻址片外片外romrom 64k字节字节fffh000h可寻址可寻址片内片内掩膜掩膜 romrom4k 字节字节805180517fh00h片内片内 ram ram 128字节字节ffh80h存储器配置sfr程序存储器程序存储器外部外部rom内部内部rom(ea=1)外部外部rom(ea=0)0000h0000h0fffh0fffh1000hffffh 0000h 0000h地址是单片机复位时的地址是单片机复位时的pcpc值,从值,从0000h0000h开始执开始执行程序。其它行程序。其它6 6个地址是单片机响应不同的中断时,所个地址是单片机响
14、应不同的中断时,所跳向对应的入口地址。该表也叫中断向量表或称中断跳向对应的入口地址。该表也叫中断向量表或称中断向量。向量。由于这由于这6 6个中断向量地址的存在,所以在写程序个中断向量地址的存在,所以在写程序时,这些地址不要占用。时,这些地址不要占用。一般在一般在0000h0000h地址只写一条跳地址只写一条跳转指令,从转指令,从0030h0030h开始写主程序,如:开始写主程序,如:orgorg0000h0000hljmpljmpmainmainorgorg0030h0030hmainmain:;开始写主程序;开始写主程序pcpc功能功能0000h0000h复位时复位时romrom的地址的地
15、址0003h0003h外部中断外部中断0 0入口地址入口地址000bh000bh定时器计数器定时器计数器0 0溢出中断入口地址溢出中断入口地址0013h0013h外部中断外部中断1 1 入口地址入口地址001bh001bh定时器定时器/ /计数器计数器1 1溢出中断入口地址溢出中断入口地址0023h0023h串行口中断入口地址串行口中断入口地址002bh002bh定时器定时器/ /计数器计数器2 2溢出中断入口地址溢出中断入口地址中断向量表中断向量表数据存储器配置(片内ram)l片内片内ramram 128128字节字节(00h00h7fh7fh)所有的所有的ramram区区( (包括包括位位
16、寻址区、工作寄存器寻址区、工作寄存器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器00h00h20h20h2fh2fh7fh7fh1fh1fh30h30h80h80hffhffh52子系列才有子系列才有的的ram区区普通普通ram区区位寻址区位寻址区工作寄存器区工作寄存器区sfr分布在分布在80h-ffh其中其中92个位个位可位寻址可位寻址80h80hffhffh8051 128128字节字节00h00h20h20h2fh2fh7fh7fh1fh1fh30h30h80h80hffhffh52子系列才有子系列才有的的ram区区普通普通ram区区位寻址
17、区位寻址区工作寄存器区工作寄存器区r0r2r1r3r4r5r6r707h02h01h00h06h04h05h03h08h1fh工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区00fh10h17h18hl片内片内ramram前前3232个单元是个单元是工作寄存器区工作寄存器区 (00h(00h1fh)1fh)存储器配置(片内ram)工作寄存器和工作寄存器和ram地址对照表地址对照表 工作寄存器组的选择表工作寄存器组的选择表psw.7psw.000h00h20h20h2fh2fh7fh7fh1fh1fh30h30h80h80hffhffh52子
18、系列才有子系列才有的的ram区区普通普通ram区区位寻址区位寻址区工作寄存器区工作寄存器区l片内片内ramram中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :00h00h7fh 7fh 分布在分布在: :20h20h2fh2fh单元单元00h00h20h20h2fh2fh7fh7fh1fh1fh30h30h80h80hffhffh52子系列才有子系列才有的的ram区区普通普通ram区区位寻址区位寻址区工作寄存器区工作寄存器区27h22h21h20h26h24h25h23h28h2fh单元地址单元地址07 06 05 04 03 02 01 000f 0e 0d 0
19、c 0b 0a 09 0817 16 15 14 13 12 11 101f 1e 1d 1c 1b 1a 19 1827 26 25 24 23 22 21 202f 2e 2d 2c 2b 2a 29 2837 36 35 34 33 32 31 303f 3e 3d 3c 3b 3a 39 3847 46 45 44 43 42 41 407f 7e 7d 7c 7b 7a 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位l片内片内ramram中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :00h00h7fh 7fh 分布在分布在: :20
20、h20h2fh2fh单元单元存储器配置(片内ram)存储器配置(片内ram)数据缓冲区 l 30h 30h7fh7fh是数据缓冲区是数据缓冲区, , 也即用户也即用户ramram区区, , 共共8080个单元。个单元。 mcs mcs5252子系列片内子系列片内ramram有有256256个单元个单元, , 前两个的单元数与地址都和前两个的单元数与地址都和mcsmcs5151子系列一致。子系列一致。 用户用户ramram区从区从30h30hffh, ffh, 共共208208个单元。个单元。堆栈: 在在片内片内ramram中,常常要指定一个专门的区域来中,常常要指定一个专门的区域来存放某些存放
21、某些特别的特别的数据数据, ,它遵循它遵循先进后出先进后出和和后进后进先出先出(lifo/filo(lifo/filo)的原则的原则, ,这个这个ramram区区叫叫堆栈堆栈。 mcs mcs5151单片机的堆栈属向上生长型。单片机的堆栈属向上生长型。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时cpucpu自动将当前自动将当前pcpc 值值压栈保存,返回时自动将压栈保存,返回时自动将pcpc值弹栈。值弹栈。2 2)保护现场)保护现场/ /恢复现场恢复现场3 3)数据传输)数据传输8051特殊功能寄存器(sfr)特殊功能寄存器特殊功能寄存器sfrsfr(专用寄存器)(专用寄存
22、器)专用于专用于控制、选择、管理、存放控制、选择、管理、存放单片机内部各部分单片机内部各部分的工作的工作方式、条件、状态、结果方式、条件、状态、结果的寄存器的寄存器。不同的不同的sfrsfr管理不同的硬件模块,负责不同的功管理不同的硬件模块,负责不同的功能能各司其职各司其职换言之:要让单片机实现预订的功能,必须有相应换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一项工作就是对而软件中最重要的一项工作就是对sfrsfr写命令(要求)写命令(要求)。8051特殊功能寄存器一览表符号(符号(21个)个)地址地址注释注释功能单元功能单元*acce0h累加器累加
23、器cpu*bf0h乘法寄存器乘法寄存器*pswd0h程序状态字程序状态字*sp81h堆栈指针堆栈指针dpl82h数据存储器指针(低数据存储器指针(低8位)位)dph83h数据存储器指针(高数据存储器指针(高8位)位)*iea8h中断允许控制器中断允许控制器中断系统中断系统*ipd8h中断优先级控制器中断优先级控制器*p080h通道通道0并行口并行口*p190h通道通道1并行口并行口*p2a0h通道通道2*p3b0h通道通道3pcon87h电源控制和波特率选择电源控制和波特率选择串行口串行口*scon98h串行口控制器串行口控制器sbuf99h串行数据缓冲器串行数据缓冲器*tcon88h定时器控
24、制定时器控制定时定时/计数器计数器tmod89h定时方式选择定时方式选择tl08ah定时器定时器0低低8位位tl18bh定时器定时器0高高8位位th08ch定时器定时器1低低8位位th18dh定时器定时器1高高8位位程序计数器程序计数器pcpc(program counterprogram counter)pcpc 不是不是一个特殊功能寄存器一个特殊功能寄存器sfrsfr,但其作,但其作 用又用又十分重要和特殊十分重要和特殊!特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器一切一切分支分支/ /跳转跳转/ /调用调用/ /中断中断/ /复位复位 等操作的等
25、操作的本质本质就是就是: :改变改变 pc pc 值值编程不能对它进行访问。编程不能对它进行访问。总指向下一条指令所在首地址总指向下一条指令所在首地址( (当前当前pcpc值值) )程序计数器 (pc)程序状态字寄存器程序状态字寄存器 pswpsw:cyacf0rs0ovprs1psw.7psw.0cycy(psw.7)(psw.7)进位进位/ /借位标志位借位标志位。若。若accacc在运算过程在运算过程中发生了进位或借位,则中发生了进位或借位,则cy=1cy=1;否则;否则=0=0。它也。它也是是布尔处理器布尔处理器的的位累加器位累加器,可用于布尔操作。,可用于布尔操作。acac(psw.
26、6)(psw.6)半进位半进位/ /借位标志位。借位标志位。若若accacc在运算过在运算过程中,程中,d3d3位向位向d4d4位发生了进位或借位,则位发生了进位或借位,则ac=1,ac=1,否则否则=0=0。机器在执行。机器在执行“da ada a”指令时指令时自动自动要判要判断这一位,我们可以暂时不关心它。断这一位,我们可以暂时不关心它。f0 f0 (psw.5)(psw.5)可由用户定义的标志位。可由用户定义的标志位。psw.6 psw.5特殊功能寄存器(psw) 程序状态字寄存器程序状态字寄存器 pswpsw(续)(续):cyacf0rs0ovprs1psw.7psw.0ov ov (
27、psw.2)(psw.2)溢出标志位。溢出标志位。 ov=1ov=1时特指累加器在进行带符号数时特指累加器在进行带符号数(-128(-128+127)+127)运算时出错(超出范围);运算时出错(超出范围);ov=0ov=0时未出错。时未出错。f1 f1 同同f0f0。p p (psw.0)(psw.0)奇偶标志位。奇偶标志位。 p=1p=1表示累加器中表示累加器中“1 1”的个数的个数为奇数为奇数 p=0p=0表示累加器中表示累加器中“1 1”的个数的个数为偶数为偶数 cpu cpu随时监视着随时监视着accacc中的中的“1 1”的个数的个数, ,并反映在并反映在pswpsw中中psw.2
28、psw.1特殊功能寄存器的位地址有一定规律:特殊功能寄存器的位地址有一定规律: 在位寻址时,某特殊功能寄存器的字节地址,在位寻址时,某特殊功能寄存器的字节地址,就是该特殊功能寄存器最低位(就是该特殊功能寄存器最低位(d0d0)的位地址,)的位地址,其它位地址依次递增。其它位地址依次递增。 对于对于5252系列来说,系列来说,80h80hffhffh内有两部分内容。内有两部分内容。一一是通用数据是通用数据ramram区,二是特殊功能寄存器区。它们区,二是特殊功能寄存器区。它们占用相同逻辑地址,但物理地址是分开的。区别占用相同逻辑地址,但物理地址是分开的。区别的方法是:访问通用数据的方法是:访问通
29、用数据ramram区,使用寄存器间接区,使用寄存器间接寻址方式。访问特殊功能寄存器,使用直接寻址寻址方式。访问特殊功能寄存器,使用直接寻址方式,二者不可混用。方式,二者不可混用。 另外,特殊功能寄存器空间中有的单元是空着的,另外,特殊功能寄存器空间中有的单元是空着的,这些单元是为这些单元是为mcs-51mcs-51的新型单片机保留的。的新型单片机保留的。51单片机的4个8位的i/o口p0.0p0.0p0.7: p0.7: (双向口)(双向口) 8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口p1.0p1.0p1.7: p1.7: (准双向口)通用(准双向口)通用i/oi/o
30、口口p2.0p2.0p2.7:p2.7: (准双向口)输出高(准双向口)输出高8 8位地址位地址p3.0p3.0p3.7: p3.7: (准双向口)具有特定的第二功能(准双向口)具有特定的第二功能注意:注意:1 1、并行口输出高电平时驱动能力强,输出低电平时驱动能并行口输出高电平时驱动能力强,输出低电平时驱动能力弱。力弱。2 2、p0p0口可驱动口可驱动8 8个标准个标准ttlttl电路,电路,p1p1、p2p2、p3p3口可驱动口可驱动8 8个标个标准准ttlttl电路电路 。p3口第二功能表 (p107 表5-1)引引 脚脚第第 二二 功功 能能 p3.0p3.0rxd: rxd: 串行口
31、接收数据输入端串行口接收数据输入端p3.1p3.1txd:txd: 串行口发送数据输出端串行口发送数据输出端p3.2p3.2int0:int0: 外部中断申请输入端外部中断申请输入端 0 0p3.3p3.3int1:int1: 外部中断申请输入端外部中断申请输入端 1 1p3.4p3.4t0:t0: 外部计数脉冲输入端外部计数脉冲输入端 0 0p3.5p3.5t1:t1: 外部计数脉冲输入端外部计数脉冲输入端 1 1p3.6p3.6wr:wr: 写外设控制信号输出端写外设控制信号输出端p3.7p3.7rd:rd: 读外设控制信号输出端读外设控制信号输出端mcs-51指令集(五大类功能)数据数据
32、传送传送类指令类指令 (2929条条)算术算术运算类指令运算类指令 (2424条条)逻辑逻辑运算及移位类指令运算及移位类指令 (2424条条)控制控制转移转移类指令类指令 (1717条条)位位操作操作( (布尔操作布尔操作) )类指令类指令 (1717条条)51单片机指令的寻址方式立即寻址立即寻址直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址( (基址寄存器基址寄存器+ +变址寄存器间接寻址变址寄存器间接寻址) )相对寻址相对寻址位寻址位寻址寻址方式:寻址方式:指令按地址获得操作数的方式指令按地址获得操作数的方式七种寻址方式七种寻址方式, ,一条指令可能含多种
33、寻址方式一条指令可能含多种寻址方式内部存储器间传送:内部存储器间传送: (movmov1616条)条)外部数据存储器外部数据存储器ramram与累加器间传送与累加器间传送: : (movmovx x4 4条)条)程序存储器程序存储器romrom向累加器传送:向累加器传送: (movmovc c2 2条)条)数据交换:(数据交换:(xchxch,xchdxchd,swapswap5 5条)条)堆栈操作:堆栈操作: (pushpush,poppop2 2条)条)(一)数据传送类指令(5种/29条)(二)算术运算类指令(6种/24条)加法运算加法运算 ( (addadd4 4条条) )带进位加法运算
34、带进位加法运算 ( (addcaddc4 4条条) )带借位减法运算带借位减法运算 ( (subbsubb4 4条条) )加加1/1/减减1 1操作操作 ( (inc,decinc,dec9 9条条) )单字节乘单字节乘/ /除法运算除法运算( (mul,divmul,div2 2条条) )十进制调整十进制调整 ( (da ada a1 1条条) )(三)逻辑运算及移位指令(5种/24条)逻辑与运算:逻辑与运算: (anlanl6 6条)条)逻辑或运算:逻辑或运算: (orlorl6 6条)条)逻辑异或运算:逻辑异或运算: (xrlxrl6 6条)条)累加器清零累加器清零/ /取反:取反: (
35、clrclr,cplcpl2 2条)条)累加器移位操作累加器移位操作: :(rl,rlc,rr,rrcrl,rlc,rr,rrc4 4条)条)(四)控制转移类指令(4种/17条)无条件转移无条件转移: (ljmp,ajmp,sjmp,jmpljmp,ajmp,sjmp,jmp4 4条)条)条件转移(判断跳转):条件转移(判断跳转): (jz,jnz,cjne,djnzjz,jnz,cjne,djnz8 8条)条)子程序调用及返回:子程序调用及返回: (lcall,acall,ret,retilcall,acall,ret,reti4 4条)条)空操作空操作: : (nopnop1 1条)条)
36、(五)位操作类指令(4种17条)位传送:位传送: (movmov2 2条)条)位清零位清零/ /置位:置位: (clr,setbclr,setb4 4条)条)位逻辑与位逻辑与/ /或或/ /非运算:非运算: (anl,orl,cplanl,orl,cpl6 6条)条)位条件转移位条件转移: : (jc,jnc,jb,jnb,jc,jnc,jb,jnb,jbcjbc5 5条)条)单片机的中断矢量与优先级 中断矢量中断矢量: mcs-51 mcs-51单片机的单片机的 5 5 个中断源分别对个中断源分别对应有各自的应有各自的中断服务程序入口地址中断服务程序入口地址中断矢量中断矢量000bh000b
37、htf0tf0定时定时/ /计数器计数器0(t0)0(t0)002bh002bhtf2tf2定时定时/ /计数器计数器2(t2)2(t2)0023h0023hri/tiri/ti串行口接收串行口接收/ /发送发送001bh001bhtf1tf1定时定时/ /计数器计数器1(t1)1(t1)0013h0013hie1ie1外部中断外部中断1( int1)1( int1)0003h0003hie0ie0外部中断外部中断0( int0)0( int0)中断优先级中断优先级中断矢量中断矢量申请标志申请标志中中 断断 源源最高优先级最高优先级最低优先级最低优先级定时器控制寄存器tcon (88h)tf1
38、tf1 tr1tr1 tf0tf0 tr0tr0 ie1ie1 it1it1 ie0ie0 it0it0tcontcontf0/tf1tf0/tf1:定时器溢出中断申请标志位:定时器溢出中断申请标志位: =0 =0:定时器未溢出;:定时器未溢出; =1 =1:定时器溢出申请中断,进中断后自动清零。定时器溢出申请中断,进中断后自动清零。tr0/tr1tr0/tr1:定时器运行启停控制位:定时器运行启停控制位: =0 =0:定时器停止运行;:定时器停止运行; =1 =1:定时器启动运行。定时器启动运行。tcontcon:timertimer控制寄存器控制寄存器,是管理定时器工作的,是管理定时器工作
39、的sfrsfr(其中低(其中低4 4位管外部中断)位管外部中断)定时器控制寄存器tcon (88h)tf1tf1 tr1tr1 tf0tf0 tr0tr0 ie1ie1 it1it1 ie0ie0 it0it0tcontconie0/ie1ie0/ie1:外部中断申请标志位:外部中断申请标志位: =0 =0:没有外部中断申请;:没有外部中断申请; =1 =1:有外部中断申请。有外部中断申请。it0/it1it0/it1:外部中断请求的触发方式选择位:外部中断请求的触发方式选择位: =0=0:在:在int0/int1int0/int1端申请中断的信号端申请中断的信号低电平低电平有效有效; ; =
40、1 =1:在在int0/int1int0/int1端申请中断的信号端申请中断的信号负跳变负跳变有效有效. .tcontcon:timertimer控制寄存器控制寄存器,低低4 4位管理外部中断位管理外部中断sconscon为串行口控制寄存器为串行口控制寄存器, ,字节地址为字节地址为98h98h。 scon scon的低的低2 2位锁存串行口的接收中断和发送位锁存串行口的接收中断和发送中断标志中断标志, ,其格式如表所示。其格式如表所示。sconscon锁存的中断源锁存的中断源 eaea et2 es et1 ex1 et0 ex0 et2 es et1 ex1 et0 ex0ieie中断允许
41、寄存器中断允许寄存器ie ie (0a8h)(0a8h) ex0/ex1/et1/et0/es ex0/ex1/et1/et0/es 位位: 分别是分别是int0/1int0/1,timer0/1timer0/1,串行口,串行口的中断允的中断允 许控制位许控制位: : =0 =0 时禁止中断;时禁止中断; =1=1 时时允许允许中断。中断。et2et2:t2t2中断允许控制位(仅中断允许控制位(仅5252子系列子系列有)有) =0 =0 时禁止中断;时禁止中断; =1=1 时时允许允许中断。中断。eaea:总的中断允许控制位(总开关):总的中断允许控制位(总开关): =0 =0 时禁止全部中断
42、;时禁止全部中断;=1=1 时时允许允许中断。中断。 pt2 ps pt1pt2 ps pt1 px1 px1 pt0 px0pt0 px0ipippx0/px1px0/px1:intint0/10/1优先级控制位:优先级控制位: =0=0 时属时属低低优先级;优先级; =1=1 时属时属高高优先级。优先级。pt0/pt1/pt2pt0/pt1/pt2:t0/1/2t0/1/2中断优先级控制位:中断优先级控制位: =0 =0 时属低优先级;时属低优先级; =1=1 时属时属高高优先级。优先级。ps1ps1:串行口中断优先级控制位:串行口中断优先级控制位: =0 =0 时属时属低低优先级;优先级
43、; =1=1 时属时属高高优先级。优先级。中断优先级控制寄存器中断优先级控制寄存器ip ip (0b8h)(0b8h)中断系统硬件结构注注: :各中断允许控制位各中断允许控制位=0,=0,开关断开开关断开; =1,=1,开关接通开关接通ie0ie0ex0ex0tf0tf0ie1ie1tf1tf1titieseset1et1ex1ex1et0et0外部中断外部中断 请求请求0 0外部中断外部中断 请求请求1 1内部内部 定时器定时器0 0内部内部 定时器定时器1 1内部内部 串行口串行口t tr rririieie寄存器寄存器 ea ea位位ipip寄存器寄存器各单路开关各单路开关 总开关总开关
44、中断源标志中断源标志位查询机构位查询机构高中断级高中断级中断请求中断请求低中断级低中断级中断请求中断请求中断入口中断入口中断源中断源标志位标志位int0int0int1int1中断入口中断入口中断源中断源标志位标志位timer的2个特殊功能寄存器(tcon,tmod)tf1 tr1 tf0 tr0 ie1 it1 ie0 it0定时器定时器控制控制寄存器寄存器tcon tcon (88h)(88h)tfxtfx: timer0/1: timer0/1计数溢出标志位。计数溢出标志位。 =1 =1 计数溢出;计数溢出; =0 =0 计数未满计数未满 tfxtfx标志位标志位可用于可用于申请中断申请
45、中断或或供供cpucpu查询查询。 在进入中断服务程序时会自动清零;但在在进入中断服务程序时会自动清零;但在 查询方式时必须软件清零。查询方式时必须软件清零。trxtrx: timer0/1: timer0/1运行控制位。运行控制位。 =1 =1 启动计数;启动计数; =0 =0 停止计数停止计数gate c / t m1 m0 gate c / t m1 m0定时器定时器方式方式寄存器寄存器tmod tmod (89h)(89h)t1t1t0t0m1,m0m1,m0:工作方式定义位工作方式定义位 ( ( 定义定义4 4 种方式种方式 ): ):c/t c/t :计数器计数器/ /定时器选择位
46、定时器选择位 = 1 = 1 外部事件外部事件计数器计数器。对。对txtx引脚的引脚的负脉冲负脉冲计数;计数; = 0 = 0 片内时钟片内时钟定时器定时器。对。对机器周期脉冲机器周期脉冲计数定时计数定时0 00 0:1313位位 timer timer用它无益用它无益, ,不要记它!不要记它!0 10 1:1616位位 timer timer经常用到经常用到1 01 0:可自动重装的:可自动重装的 8 8位位 timer timer经常用到经常用到1 11 1:t0 t0 分为分为2 2个个8 8位位 timer timer;t1 t1 此时不工作此时不工作 因为没有带来甚麽好处,因为没有带
47、来甚麽好处,几乎无用几乎无用gate c / t m1 m0 gate c / t m1 m0t1t0gategate门控位门控位: : timertimer可由软件与硬件两者控制可由软件与硬件两者控制 gate = 0 gate = 0 普通用法普通用法 timer timer的的启启/ /停停由由软件软件对对trxtrx位写位写“1 1”/ /“0 0”控制控制定时器定时器方式方式寄存器寄存器tmodtmod(续)(续)(89h)(89h) gate = 1 gate = 1 门控用法门控用法 timer timer的的启启/ /停停由由软件软件对对trxtrx位写位写“1 1”/ /“0
48、 0” 和和在在intxintx引脚引脚上出现的信号的上出现的信号的高高/ /低低共同控制共同控制定时器结构与工作方式工作方式工作方式1 1:1616位的定时位的定时/ /计数器计数器振荡器振荡器 12tlx thx (8位位) (8位位)tfx申请申请中断中断txtx端端trxtrx位位gategate位位intxintx端端11& &c/t=0c/t=1控制控制 =1开关接通开关接通或门或门与门与门工作方式工作方式2 2:8 8 位自动重装的定时位自动重装的定时/ /计数器计数器振荡器振荡器 12tlx (8位位)tfx申请申请中断中断txtx端端trxtrx位位gateg
49、ate位位intxintx端端11& &c/t=0c/t=1控制控制 =1开关接通开关接通或门或门与门与门thx (8位位)溢溢出出位位门开门开串行口的结构两个同名的两个同名的接收接收/ /发送缓冲寄存器发送缓冲寄存器sbufsbuf 指令指令 mov sbufmov sbuf,a a 启动一次数据发送启动一次数据发送, ,可向可向sbufsbuf 再发送下一个数再发送下一个数 指令指令 mov amov a,sbufsbuf 完成一次数据接收完成一次数据接收,sbuf,sbuf可再可再 接收下一个数接收下一个数接收接收/ /发送数据发送数据, ,无论是否采用中断方式无论是否采
50、用中断方式 工作工作, ,每接收每接收/ /发送一个数据都必须用指发送一个数据都必须用指 令对令对 ri/tiri/ti 清清0 0,以备下一次收,以备下一次收/ /发。发。串行口相关的串行口相关的sfrsfr(scon,pcon)(scon,pcon) sm0 sm1 sm2 ren tb8 rb8 ti r1sconscon sm0 sm0,sm1sm1:串行口串行口4 4种工作方式的选择位。种工作方式的选择位。 0 0 0 0 方式方式0 0:8 8位移位寄存器位移位寄存器i/o,i/o,波特率波特率固定固定为为 f foscosc/12/12 0 1 0 1 方式方式1 1:8 8位位
51、uartuart(1 1+8+8+1 1位)位), 波特率波特率可变可变, ,按公式计算按公式计算 1 0 1 0 方式方式2 2:9 9位位uartuart(1 1+8+1+8+1+1 1位)位), 波特率波特率固定固定= =f fosc osc x1/32x1/32或或1/641/64 1 1 1 1 方式方式3 3:9 9位位uartuart(1 1+8+1+8+1+1 1位)位), 波特率波特率可变可变,按公式计算,按公式计算 sm2sm2:串行口串行口多机通信多机通信控制位控制位 (作为方式(作为方式2 2、方式、方式3 3的的附加控制位附加控制位)串行口控制寄存器scon(98h)
52、 ri,tiri,ti:串行口收串行口收/ /发数据申请中断标志位发数据申请中断标志位 1 1 申请中断;申请中断; 0 0 不申请中断不申请中断 tb8tb8:方式方式2 2、3 3中,是要发送的第中,是要发送的第9 9位数据。位数据。 多机通信中多机通信中,tb8=0 ,tb8=0 表示发送的是数据;表示发送的是数据; tb8=1 tb8=1 表示发送的是地址。(奇偶校验)表示发送的是地址。(奇偶校验) rb8rb8:在方式在方式2 2、3 3中,是收到的第中,是收到的第9 9位数据。位数据。 在多机通信中在多机通信中, ,用作区别地址帧用作区别地址帧/ /数据帧的数据帧的 标志。(奇偶校
53、验)标志。(奇偶校验) sm0 sm1 sm2 ren tb8 rb8 ti r1 renren:串行口接收允许控制位串行口接收允许控制位 = 1 = 1 表示允许接收;表示允许接收; = 0 = 0 禁止接收。禁止接收。sconsconsmod gf1 gf0 pd 1dl电源控制寄存器 pcon pcon(97h97h)特殊功能寄存器特殊功能寄存器pconpcon不能按位寻址不能按位寻址 smodsmod:在串行口工作方式在串行口工作方式 1 1、2 2、3 3 中,中, 是是波特率加倍位波特率加倍位 =1 =1 时,波特率加倍时,波特率加倍 =0 =0 时,波特率不加倍。时,波特率不加倍
54、。 ( (在在pconpcon中只有这一个位与串口有关中只有这一个位与串口有关) ) gf1,gf0gf1,gf0:用户可自行定义使用的通用标志位用户可自行定义使用的通用标志位pconpcon pdpd:掉电方式控制位:掉电方式控制位 idl idl:待机方式:待机方式( (空闲方式空闲方式) )控制位控制位串行口工作方式 0工作方式工作方式0 0:8 8位移位寄存器位移位寄存器i/oi/o方式方式发送:发送:sbufsbuf中的串行中的串行数据数据由由rxdrxd逐位移出;逐位移出; txdtxd输出输出移位时钟移位时钟,频率,频率=fosc1/12=fosc1/12; 每送出每送出8 8位
55、数据位数据 titi就自动置就自动置1 1; 需要用需要用软件清零软件清零 titi。 接收:串行接收:串行数据数据由由rxdrxd逐位移入逐位移入sbufsbuf中;中; txdtxd输出输出移位时钟移位时钟,频率,频率=fosc1/12=fosc1/12; 每接收每接收 8 8位数据位数据riri就自动置就自动置1 1; 需要用需要用软件清零软件清零 riri。常用于串行通讯。除发常用于串行通讯。除发/ /收收8 8位数据外,还位数据外,还 在在d0d0位前有一个位前有一个起始位起始位“0 0”; 在在d7d7位后有一个位后有一个停止位停止位“1 1”。方式方式1 1工作时:工作时: 发送
56、端发送端自动添加自动添加一个起始位和一个停止位;一个起始位和一个停止位; 接收端接收端自动去掉自动去掉一个起始位和一个停止位。一个起始位和一个停止位。工作方式工作方式1 1: :8 8位位uartuart( (1 1+8+8+1 1位位) )波特率波特率可变可变 波特率可变波特率可变 用定时器用定时器t1t1作波特率发生器:作波特率发生器: 公式:公式:波特率波特率 = =(2 2smodsmod/32/32) t1t1的溢出率的溢出率波特率波特率= =(2(2smodsmod/32)/32) t1t1的溢出率的溢出率 溢出率:溢出率:t1t1溢出的频繁程度溢出的频繁程度 即:即:t1t1溢出
57、一次所需时间的倒数。溢出一次所需时间的倒数。 初值初值 x = 2 2n n - - 2 2smodsmod fosc fosc3232 波特率波特率 1212 波特率波特率 = =2 2smodsmod fosc fosc3232 12(2 12(2n n - - x x) )其中:其中:x x 是定时器初值是定时器初值电路结构车位信息用拨码开关表示,车位空闲显示用车位信息用拨码开关表示,车位空闲显示用ledled发光二极管表示发光二极管表示 org org 0000h 0000h ljmp main ljmp main org org 0023h 0023h ljmp send ljmp
58、send org 0030h org 0030hmainmain: mov sp,#70h mov sp,#70h mov p1,#0ffh mov p1,#0ffh mov tmodmov tmod,#20h#20h mov tl1mov tl1,#0fdh#0fdh mov th1mov th1,#0fdh#0fdh车位显示设计中,采用串行通信方式车位显示设计中,采用串行通信方式1 1程序:程序: t1 t1工作于方式工作于方式2 2,产生波特率,产生波特率96009600bps,bps,中断方式中断方式. .1 1号单片机程序如下:号单片机程序如下: setb tr1 setb tr1
59、mov scon, mov scon, #40h#40h setb ea setb ea setb es setb es mov mov a,p1 a,p1 mov sbuf,a mov sbuf,a sjmp $ sjmp $send:send: clr ti clr ti mov a,p1 mov a,p1 mov sbuf,a mov sbuf,a reti reti org org 0000h 0000h ljmp main ljmp main org org 0023h 0023h ljmp receive ljmp receive org 0030h org 0030hmainma
60、in: mov sp,#70h mov sp,#70h mov p1,#00h mov p1,#00h mov tmodmov tmod,#20h#20h mov tl1mov tl1,#0fdh#0fdh mov th1mov th1,#0fdh#0fdh2 2号单片机程序如下:号单片机程序如下: setb tr1 setb tr1 mov scon, mov scon, #50h#50h setb ea setb ea setb es setb es sjmp $ sjmp $receive:receive: clr ri clr ri mov a,sbuf mov a,sbuf mov p1,a mov p1,a reti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 颜体检测试题及答案
- CPBA考试培训试题及答案
- 2024年美容师考试临场应变能力培养与公务员省考试题及答案
- 2024年语文考试小学生试题及答案
- 二手车保险知识试题及答案
- 小自考视觉传播设计艺术表现形式试题及答案
- 小贷客服年度工作总结
- 2024年食品质检员考试重点回顾及答案
- 新能源汽车美容的特点与要求试题及答案
- 美容师考试职业道德的重要性与公务员省考试题及答案
- 整机结构设计规范
- 种鸭饲养管理手册
- 语文新课标实践与探索:《石壕吏》《茅屋为秋风所破歌》整合教学设计
- (高清正版)JJF(浙) 1137-2017《电容电流测试仪校准规范》
- 消防设施维护保养记录
- 呼吸囊检测(课堂PPT)
- 无机化学第4版下册(吉大宋天佑)2019
- 损伤控制性复苏课件
- 三角坐标图的判读
- GB T 3810.16-2016 陶瓷砖试验方法 第16部分:小色差的测定
- 中石化职称英语考试试卷(中级)
评论
0/150
提交评论