单元五MCS-51单片机内部资源.ppt
《单元五MCS-51单片机内部资源.ppt》由会员分享,可在线阅读,更多相关《单元五MCS-51单片机内部资源.ppt(69页珍藏版)》请在三一文库上搜索。
1、单元五 MCS-51单片机内部资源,5.1 任务九 单片机计数并显示,5.2 任务十 单片机流水灯控制,5.3 任务十一 两台单片机数据互传,返回主目录,学习目标: 通过任务九的学习、完成,掌握单片机硬件资源定时计数器的使用。,5.1 任务九 单片机计数并显示,任务描述: 单片机对按键次数(99次)进行计数,并在发光二极管上实时显示。,5.1.1 硬件电路与工作原理,1.硬件电路,2.工作原理,用手按动按键S3,每按键一次S3引脚上出现一个负脉冲,单片机计数一次,并实时将按键次数以BCD码方式,在发光二极管上面显示。,5.1.2 控制程序,1.主程序流程,2.控制程序,ORG 0000H LJ
2、MP MAIN ORG 0030H MAIN:MOV TMOD,#06H ;设定T0的工作方式 MOV TH0,#00H ;设定计数初值 MOV TL0,#00H ; SETB TR0 ;启动计数器 MOV P1,TL0 ;送显示 END,5.1.3 源程序的编辑、编译、下载,1.打开“伟福”模拟仿真软件进行程序的编辑、编译。 1、正确选择单片机类型8751或8031 2、正确选择编译器伟福编译器 3、选择模拟仿真功能 4、打开或新建文件进行编辑 5、编译 2.打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51单片机芯片,观察程序运行结果。 1、编译成功后打开下载软件
3、 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的.BIN或.HEX文件 4、选择自动写完成擦除、写、读、校验过程 5、观看运行结果,5.1.4 相关知识,1.单片机是如何进行计数的?,本次任务中,单片机完成了对S3键按键次数的累计,那么,单片机是如何进行计数的? 在单片机的内部结构中,我们知道在MCS-51的单片机内有两个16位可编程的定时/计数器,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。,T1由TH1、TL1构成,字节地址为8DH、8BH,T0由TH0、TL0构成,字节地址为8CH、8AH,TCO
4、N则用于控制定时计数器T0和T1的启动和停止计数,同时管理定时器T0和T1的溢出标志等。,特殊功能寄存器TMOD控制定时计数器的工作方式,TMOD 89H,C/T = 0 定时; C/T = 1 对外计数。 定时:fosc / 12 = 1 /(12/fosc) = 1 / T,计数:脉冲不等间隔。,波形等间隔,次数已定,时间确定 即对机器周期进行计数。,左图定时时间为 N*T,每个下降沿计数一次 确认一次负跳变需两个机器周期, 所以,计数频率最高为fosc / 24。,TCON 88H,TF0、TF1 分别是定时、计数器T0、T1的溢出标志位。,(1)定时/计数器的工作方式,M1M0 工作模
5、式选择位(编程可决定四种工作模式) 0 0 13位定时/计数器 模式0 0 1 16位定时/计数器 模式1 0 8 位定时/计数器(自动重装初值) 模式2 1 1 T0 8位定时/计数 模式3 1 1 T1 停止工作 模式3,1)工作方式0,T0的等效逻辑结构,在计数工作方式下,计数器的计数值范围是: 18192(2的13方) 当为定时工作方式时,定时时间的计算公式为: ( 8192 -计数初值)晶振周期12 或 ( 8192 -计数初值)机器周期 其时间单位与晶振周期或机器周期相同。 如果单片机的晶振选为6.000MHz,则最小定时时间为: 8192(81921)1/610-612=210-
6、6(s)=2(us) 最长定时时间为: (81920)1/610-612=1638410-6(s)=16384(us)。,2)工作方式1,T0的等效逻辑结构,在工作方式1下,计数器的计数值范围是: 165536(2的16方) 当为定时工作方式1时,定时时间的计算公式为: (65536计数初值) 晶振周期12 或 (65536计数初值) 机器周期 其时间单位与晶振周期或机器周期相同。 如果单片机的晶振选为6.000MHz,则最小定时时间为: 65536(655361)1/610-612=210-6(s)=2(us) 最长定时时间为: (655360)1/610-612=13107210-6(s)
7、=131072(us)。,3)工作方式2,T0的等效逻辑结构,方式2与方式0、1的区别: 工作方式0和工作方式1的最大特点就是计数溢出后,计数器为全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度。 工作方式2就具有自动重装载功能,即自动加载计数初值,所以也有的文献称之为自动重加载工作方式。在这种工作方式中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH以硬件方法自动给计数器TL0
8、重新加载。 方式2在串口通讯时,常用作波特率发生器。,4)工作方式3,如果定时/计数器0工作于工作方式3,那么定时/计数器1的工作方式就因为自己的一些控制位已被定时/计数器0借用,只能工作在方式0、方式1或方式2下,等效电路参见下图:,2.怎样编制计数程序?,从前面的任务中,我们看到了,首先必须对定时计数器进行初始化,然后再开启定时或计数。简单的总结一下,定时计数器的初始化包括以下内容。,(1)确定工作方式对TMOD赋值; 如:任务中的MOV TMOD,#06H指令,设定T0为计数器工作方式。 (2)预置定时计数器中计数的初值直接写入TH和TL; 如:任务中的MOV TH0,#00H 两条指令
9、,设定计数初值。 MOV TL0,#00H,(3)根据需要开放定时器/计数器的中断对IE位赋值; (4)启动定时器/计数器; 如:任务中的SETB TR0 指令 初值的计算方法 X=M-计数值 M是定时器的最大计数值。视工作方式不同而不同。 工作方式0: 13位定时/计数方式,因此,最多可以计到2的13次方,也就是8192次。 工作方式1: 16位定时/计数方式,因此,最多可以计到2的16次方,也就是65536次。 工作方式2和工作方式3:都是8位的定时/计数方式,因此,最多可以计到2的8次方,也说是256次。,预置值计算: 用最大计数量减去需要的计数次数即可。 通过上面的任务,我们掌握了计数
10、程序的编制方法,下面我们再看看定时程序怎样编制。 首先我们看一下下面的程序段。 MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH SETB TR0 以上程序是任务一中的定时程序段,它的初始化过程和计数方式类似。,小结:,1.定时计数器的基本结构及其四种工作方式?,2.定时计数程序的编制方法?,实验实训 项目8 定时器控制流水灯课题 项目9 计数器课题 要求: 课外完成编程、相关硬件安装、仿真与调试,思考与练习:5.3 5.5,5.2 任务十 单片机流水灯控制,学习目标: 通过任务十的学习、完成,掌握单片机硬件资源中断系统的使用。,任务描述: 单片机上电,单灯按1H
11、Z频率循环,一旦按下P3.2所接的按键,发光二极管按双灯循环,松开此键,单灯继续原来的循环。,5.2.1 硬件电路与工作原理,1.硬件电路,2.工作原理,一旦按下P3.2所接按键后,P3.2口线上会出现这样两个变化,第一,口线上出现由高到低的变化,即出现下降沿。第二,P3.2按住后口线保持低电平直到松键为止。单片机就是利用口线上的这种变化,实现上述各种状态的切换。,1.程序流程图,5.2.2 控制程序,2.控制程序,ORG 0000H LJMP MAIN ORG 0003H LJMP INT_0 ORG 001BH LJMP DELAY MAIN: SETB IT0 MOV TMOD,#01H
12、 MOV TL0,#00H MOV TH0,#4CH SETB PT0 SETB EA SETB EX0 SETB ET0,MOV B,#20 SETB TR0 MOV A,#0FEH BEGIN: MOV P1,A CJNE B,#00,$ MOV B,#20 RL A SJMP BEGIN INT_0: PUSH ACC MOV A,#0FBH LOOP: MOV P1,A CJNE B,#00,$ MOV B,#20 RL A,JNB P3.2,LOOP POP ACC RETI DELAY: MOV TL0,#00H MOV TH0,#4CH DJNZ B,LOOP1 LOOP1: R
13、ETI END,5.2.3 源程序的编辑、编译、下载,1.打开“伟福”模拟仿真软件进行程序的编辑、编译。 1、正确选择单片机类型8751或8031 2、正确选择编译器伟福编译器 3、选择模拟仿真功能 4、打开或新建文件进行编辑 5、编译 2.打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51单片机芯片,观察程序运行结果。 1、编译成功后打开下载软件 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的.BIN或.HEX文件 4、选择自动写完成擦除、写、读、校验过程 5、观看运行结果,5.2.4 相关知识,1.单片机如何中断原来的工作?,在本任务中当按键S1
14、按下后,原来单片机正在进行的工作被打断,按键松开后单片机又恢复了原来的工作,这就是我们在前面所说的中断。 或者说,CPU正在执行原程序时,突然,被意外事情打断,转去执行新程序。CPU执行新程序结束后,又回到原程序中继续执行。这样的过程就叫中断。,(1)MCS-51的中断结构,5个中断源,两个中断优先级控制 。,(2)中断处理流程,CPU响应中断请求后,就立即转入执行中断服务程序。不同的中断源、不同的中断要求可能有不同的中断处理方法,但它们的处理流程一般都如下所述。,1)现场保护和现场恢复,2)中断打开和中断关闭,3)中断服务,4)中断返回,(3)MCS-51的中断源,8051有5个中断源,它们
15、是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进行控制。,TCON 88H,IE1: 外部边沿触发中断1请求标志,其功能和操作类似于TF0。 IT1: 外部中断1类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。IT1=1,边沿触发。IT=0是电平触发。 IE0: 外部边沿触发中断0请求标志,其功能和操作类似于IE1。 IT0: 外部中断0类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。其功能和操作类似于IE1。,必须注意:在不同外部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单元 MCS 51 单片机 内部 资源
链接地址:https://www.31doc.com/p-3112837.html