您所在位置: 网站首页 / 第6章MCS51单片机内部资源及编程.ppt / 文档详情
第6章MCS51单片机内部资源及编程.ppt 立即下载
2024-12-17
约6.6千字
约67页
0
335KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

第6章MCS51单片机内部资源及编程.ppt

第6章MCS51单片机内部资源及编程.ppt

预览

免费试读已结束,剩余 62 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第6章MCS-51单片机内部资源及编程C51语言程序:
#include<reg51.h>
voidmain(void)
{
unsignedchari;
P0=0xff;
for(;;){i=P0;P1=i;}
}6.2定时/计数器接口6.2.1定时/计数器T0、T1的结构及工作原理
加法计数器在使用时注意两个方面。
第一,由于它是加法计数器,每来一个计数脉冲,加法器中的内容加1个单位,当由全1加到全0时计满溢出,因而,如果要计N个单位,则首先应向计数器置初值为X,且有:
初值X=最大计数值(满值)M-计数值N
在不同的计数方式下,最大计数值(满值)不一样,一般来说,当定时器/计数器工作于R位计数方式时,它的最大计数值(满值)为2的R次幂。
第二,当定时/计数器工作于计数方式时,对芯片引脚T0(P3.4)或T1(P3.5)上的输入脉冲计数,计数过程如下:在每一个机器周期的S5P2时刻对T0(P3.4)或T1(P3.5)上信号采样一次,如果上一个机器周期采样到高电平,下一个机器周期采样到低电平,则计数器在下一个机器周期的S3P2时刻加1计数一次。因而需要两个机器周期才能识别一个计数脉冲,所以外部计数脉冲的频率应小于振荡频率的1/24。6.2.2定时/计数器的方式和控制寄存器C/T:定时或计数方式选择位,当C/T=1时工作于计数方式;当C/T=0时工作于定时方式。TF0:定时/计数器T0的溢出标志位,当定时/计数器T0计满时,由硬件使它置位,如中断允许则触发T0中断。进入中断处理后由内部硬件电路自动清除。
TR0:定时/计数器T0的启动位,可由软件置位或清零,当TR0=1时启动;TR0=0时停止。方式1是13位的定时/计数方式,因而最大计数值(满值)为2的13次幂,等于8192。如计数值为N,则置入的初值X为:
X=8192-N
如定时/计数器T0的计数值为1000,则初值为7192,转换成二进制数为1110000011000B,则TH0=11100000B,TL0=00011000B。三.方式2由于是8位的定时/计数方式,因而最大计数值(满值)为2的8次幂,等于256。如计数值为N,则置入的初值X为:
X=256-N
如定时/计数器T0的计数值为100,则初值为256-100=156,转换成二进制数为10011100B,则TH0=TL0=10011100B。
注意:
由于方式2计满后,溢出信号会触发三态门自动地把TH0(或TH1)的值装入TL0(或TL1)中,因而如果要重新实现N个单位的计数,不用重新置入初值。振荡器6.2.4定时/计数器的初始化编程及应用
二.定时/计数器的应用汇编程序:
ORG0000H
LJMPMAIN
ORG000BH;中断处理程序
CPLP1.0
RETI
ORG0100H;主程序
MAIN:MOVTMOD,#02H
MOVTH0,#06H
MOVTL0,#06H
SETBEA
SETBET0
SETBTR0
SJMP$
END(2)采用查询方式处理的程序如果定时时间大于65536μs,这时用一个定时/计数器直接处理不能实现,这时可用两个定时/计数器共同处理或一个定时/计数器配合软件计数方式处理。(1)用寄存器R2作计数器软件计数,中断处理方式。
汇编程序:
ORG0000H
LJMPMAIN
ORG000BH
LJMPINTT0
ORG0100H
MAIN:MOVTMOD,#01H
	MOVTH0,#0D8H
	MOVTL0,#0F0H
	MOVR2,#00H
	SETBEA
	SETBET0
	SETBTR0
	SJMP$
INTT0:MOVTH0,#0D8HC语言程序:
#include<reg51.h>//包含特殊功能寄存器库
sbitP1_1=P1^1;
chari;
voidmain()
{
TMOD=0x01;
TH0=0xD8;TL0=0xf0;
EA=1;ET0=1;
i=0;
TR0=1;
while(1);
}
voidtime0_int(void)interrupt1//中断服务程序
{
TH0=0xD8;TL0=0xf0;
i++;
if(i==50){P1_1=!P1_1;i=0;}
}(2)用定时/计数器T1计数实现,定时/计数器T1工作于计数方式时,计数脉冲通过T1(P3.5)输入,设定时/计数器T0定时时间到对T1(P3.5)取反一次,则T1(P3.5)每20ms产生一个计数脉冲,那么定时500ms只须计数25次,设定时/计数器T1工作于方式2,初值X=256-25=231=11100111B=E7H,TH1=TL1=E7H。因为定时/计数器T0工作于方式1,定时,则这时方式控制字为01100001B(61H)。定时/计数器T0和T1都采用中断方式工作。ORG0100
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

第6章MCS51单片机内部资源及编程

文档大小:335KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用