MCS-51单片机内部资源

上传人:woxinch****an2018 文档编号:44686547 上传时间:2018-06-14 格式:PPT 页数:69 大小:730.50KB
返回 下载 相关 举报
MCS-51单片机内部资源_第1页
第1页 / 共69页
MCS-51单片机内部资源_第2页
第2页 / 共69页
MCS-51单片机内部资源_第3页
第3页 / 共69页
MCS-51单片机内部资源_第4页
第4页 / 共69页
MCS-51单片机内部资源_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《MCS-51单片机内部资源》由会员分享,可在线阅读,更多相关《MCS-51单片机内部资源(69页珍藏版)》请在金锄头文库上搜索。

1、单元五单元五 MCS-51单片机内部资源5.1 任务九 单片机计数并显示5.2 任务十 单片机流水灯控制5.3 任务十一 两台单片机数据互传返回主目录学习目标: 通过任 务九的学习、完成,掌握 单片机硬件资源定时计数 器的使用。5.1 5.1 任务九任务九 单片机计数并显示单片机计数并显示任务描述: 单片机 对按键次数(99次)进 行计数,并在发光二极管 上实时显示。5.1.1 硬件电路与工作原理1.硬件电路2.工作原理用手按动按键 S3,每按键一次 S3引脚上出现一 个负脉冲,单片 机计数一次,并 实时将按键次数 以BCD码方式, 在发光二极管上 面显示。定时计数器定时计数器T0T0初始化初

2、始化 启动计数器启动计数器T0T0 开始开始 计数值送计数值送P1P1口显示口显示 结束结束 5.1.2 控制程序 1.主程序流程2.控制程序ORG 0000HLJMP MAINORG 0030HMAIN:MOV TMOD,#06H ;设定T0的工作方式MOV TH0,#00H ;设定计数初值MOV TL0,#00H ;SETB TR0 ;启动计数器MOV P1,TL0 ;送显示END5.1.3 5.1.3 源程序的编辑、编译、下载源程序的编辑、编译、下载 1.打开“伟福”模拟仿真软件进行程序的编辑、编译。1、正确选择单片机类型8751或80312、正确选择编译器伟福编译器3、选择模拟仿真功能

3、4、打开或新建文件进行编辑5、编译 2.打开“ISP下载软件”将目标文件下载到ISP-4实验开发 板上的AT89S51单片机芯片,观察程序运行结果。1、编译成功后打开下载软件2、选择好单片机89S51并测试3、打开伟福6000编译生成的.BIN或.HEX文件4、选择自动写完成擦除、写、读、校验过程5、观看运行结果5.1.4 相关知识1.单片机是如何进行计数的?本次任务中,单片机完成了对S3键按键次数的累计,那 么,单片机是如何进行计数的?在单片机的内部结构中,我们知道在MCS-51的单片机内 有两个16位可编程的定时/计数器,它们具有四种工作方式 ,其控制字和状态均在相应的特殊功能寄存器中,通

4、过对控 制寄存器的编程,就可方便地选择适当的工作方式。 T1T1由由TH1TH1、TL1TL1 构成,字节地址构成,字节地址 为为8 8DHDH、8BH8BHT0T0由由TH0TH0、TL0TL0 构成,字节地址构成,字节地址 为为8 8CHCH、8AH8AHTCON则用于控制定时计 数器T0和T1的启动和停止 计数,同时管理定时器T0 和T1的溢出标志等。 特殊功能寄 存器TMOD 控制定时计 数器的工作 方式 TMOD 89H D7D6D5D4D3D2D1D0GATA M1M0GATAM1M0T1方式字段T0方式字段GATE 门控位。GATE = 0 启动不受 /INT0或 /INT1的控

5、制;GATE = 1 启动受 /INT0 或 /INT1 的控制。 C/T 外部计数器 / 定时器方式选择位C/T = 0 定时方式;C /T = 1 计数方式。 M1M0 工作模式选择位(编程可决定四种工作模式) 。 C/T = 0 定时; C/T = 1 对外计数。定时:fosc / 12 = 1 /(12/fosc) = 1 / T N个方波T计数:脉冲不等间隔。 波形等间隔,次数已定,时间确定即对机器周期进行计数。左图定时时间为 N*T每个下降沿计数一次 确认一次负跳变需两个机器周期, 所以,计数频率最高为fosc / 24。 TCON 88H D7D6D5D4D3D2D1D0TF1T

6、R1TF0TR0TR0 定时 / 计数器0运行控制位。软件置位,软件复位。 TR1 定时 / 计数器1运行控制位。(用法与TR0类似) TF0、TF1 分别是定时、计数器T0、T1的溢出标志位。(1)定时/计数器的工作方式M1M0 工作模式选择位(编程可决定四种工作模式)0 0 13位定时/计数器 模式00 1 16位定时/计数器 模式11 0 8 位定时/计数器(自动重装初值) 模式21 1 T0 8位定时/计数 模式31 1 T1 停止工作 模式31)工作方式0T0的等效逻辑结构在计数工作方式下,计数器的计数值范围是:18192(2的13方)当为定时工作方式时,定时时间的计算公式为:( 8

7、192 -计数初值)晶振周期12 或 ( 8192 -计数初值)机器周期 其时间单位与晶振周期或机器周期相同。如果单片机的晶振选为6.000MHz,则最小定时时间为:8192(81921)1/610-612=210-6(s)=2(us) 最长定时时间为:(81920)1/610-612=1638410-6(s)=16384(us)。2)工作方式1T0的等效逻辑结构在工作方式1下,计数器的计数值范围是:165536(2的16方)当为定时工作方式1时,定时时间的计算公式为:(65536计数初值) 晶振周期12 或 (65536计数初值) 机器周期 其时间单位与晶振周期或机器周期相同。如果单片机的晶

8、振选为6.000MHz,则最小定时时间为:65536(655361)1/610-612=210-6(s)=2(us) 最长定时时间为:(655360)1/610-612=13107210-6(s)=131072(us)。3)工作方式2T0的等效逻辑结构方式2与方式0、1的区别:工作方式0和工作方式1的最大特点就是计数溢出后,计 数器为全0,因而循环定时或循环计数应用时就存在反复设 置初值的问题,这给程序设计带来许多不便,同时也会影 响计时精度。工作方式2就具有自动重装载功能,即自动加载计数初值 ,所以也有的文献称之为自动重加载工作方式。在这种工 作方式中,16位计数器分为两部分,即以TL0为计

9、数器,以 TH0作为预置寄存器,初始化时把计数初值分别加载至TL0 和TH0中,当计数溢出时,不再象方式0和方式1那样需要“ 人工干预”,由软件重新赋值,而是由预置寄存器TH以硬 件方法自动给计数器TL0重新加载。方式2在串口通讯时,常用作波特率发生器。 4)工作方式3如果定时/计数器0工作于工作方式3,那么定时/计数器1的 工作方式就因为自己的一些控制位已被定时/计数器0借用, 只能工作在方式0、方式1或方式2下,等效电路参见下图: 2.怎样编制计数程序?从前面的任务中,我们看到了,首先必须对定时计数器 进行初始化,然后再开启定时或计数。简单的总结一下, 定时计数器的初始化包括以下内容。(1

10、)确定工作方式对TMOD赋值; 如:任务中的MOV TMOD,#06H指令,设定T0为计数 器工作方式。 (2)预置定时计数器中计数的初值直接写入TH和 TL; 如:任务中的MOV TH0,#00H 两条指令,设定计数初 值。MOV TL0,#00H(3)根据需要开放定时器/计数器的中断对IE位赋值; (4)启动定时器/计数器; 如:任务中的SETB TR0 指令 初值的计算方法 X=M-计数值 M是定时器的最大计数值。视工作方式不同而不同。工作方式工作方式0 0: 13位定时/计数方式,因此,最多可以计到2的13 次方,也就是8192次。工作方式工作方式1 1: 16位定时/计数方式,因此,

11、最多可以计到2的16 次方,也就是65536次。工作方式工作方式2 2和工作方式工作方式3 3:都是8位的定时/计数方式,因此,最 多可以计到2的8次方,也说是256次。预置值计算: 用最大计数量减去需要的计数次数即可。 通过上面的任务,我们掌握了计数程序的编制方法,下面 我们再看看定时程序怎样编制。 首先我们看一下下面的程序段。MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH SETB TR0 以上程序是任务一中的定时程序段,它的初始化过程和计 数方式类似。 小结:1.定时计数器的基本结构及其四种工作方式?2.定时计数程序的编制方法?实验实训 项目8 定时器控制

12、流水灯课题 项目9 计数器课题 要求: 课外完成编程、相关 硬件安装、仿真与调试思考与练习:5.3 5.55.2 任务十 单片机流水灯控制 学习目标: 通过任务十的学习、完成,掌握单片 机硬件资源中断系统的使用。任务描述: 单片机上电,单灯按1HZ频率循环, 一旦按下P3.2所接的按键,发光二极管按双灯循环, 松开此键,单灯继续原来的循环。5.2.1 硬件电路与工作原理1.硬件电路2.工作原理一旦按下P3.2所接按键后, P3.2口线上会出现这样两个变化,第一,口线上出现由 高到低的变化,即出现下降 沿。第二,P3.2按住后口线保持低电平直到松键为止。 单片机就是利用口线上的这 种变化,实现上

13、述各种状态 的切换。1.程序流程图 5.2.2 控制程序2.控制程序 ORG 0000H LJMP MAIN ORG 0003H LJMP INT_0 ORG 001BH LJMP DELAY MAIN:SETB IT0 MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH SETB PT0 SETB EA SETB EX0 SETB ET0MOV B,#20 SETB TR0 MOV A,#0FEH BEGIN:MOV P1,A CJNE B,#00,$ MOV B,#20 RLA SJMP BEGIN INT_0:PUSH ACC MOV A,#0FBH LOOP

14、:MOV P1,A CJNE B,#00,$ MOV B,#20 RLAJNBP3.2,LOOP POPACC RETI DELAY:MOV TL0,#00H MOV TH0,#4CH DJNZ B,LOOP1 LOOP1: RETI END5.2.3 5.2.3 源程序的编辑、编译、下载源程序的编辑、编译、下载 1.打开“伟福”模拟仿真软件进行程序的编辑、编译。1、正确选择单片机类型8751或80312、正确选择编译器伟福编译器3、选择模拟仿真功能4、打开或新建文件进行编辑5、编译 2.打开“ISP下载软件”将目标文件下载到ISP-4实验开发 板上的AT89S51单片机芯片,观察程序运行结果

15、。1、编译成功后打开下载软件2、选择好单片机89S51并测试3、打开伟福6000编译生成的.BIN或.HEX文件4、选择自动写完成擦除、写、读、校验过程5、观看运行结果5.2.4 5.2.4 相关知识相关知识 1.单片机如何中断原来的工作?在本任务中当按键S1按下后,原来单片机正在进行的工作被打断,按键松开后单片机又恢复了原来的工作,这就是我们在前面所说的中断。或者说,CPU正在执行原程序时,突然,被意外事情打断,转去执行新程序。CPU执行新程序结束后,又回到原程序中继续执行。这样的过程就叫中断。(1)MCS-51的中断结构5个中断源,两个中断优先级控制 。(2)中断处理流程 CPU响应中断请求后,就立即转入执行中断服务程 序。不同的中断源、不同的中断要求可能有不同的中断处 理方法,但它们的处理流程一般都如下所述。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号