2万

帖子

0

TA的资源

超级版主

41
 
QWE4562009 发表于 2020-6-29 10:08 TH0都没参与计数,那TH0的值哪里来的呢?TH0的值给到TL0目的是为了什么

别再问 “为什么是每4次触发产生一次中断”。你如果愿意,8次也行,11次也行,100次也行,就是不能超过255次。

此帖出自51单片机论坛
 

回复

2万

帖子

0

TA的资源

超级版主

42
 
QWE4562009 发表于 2020-6-29 10:30 可以用其他的变量给TL0赋值吗?TH0为什么一定要和TL0扯上关系呢?既然两个都是8位寄存器

TH0为TL0赋值是自动的,不必用指令干预。

你如果愿意,当然可以用一条指令为TL0赋值,只要你高兴。

此帖出自51单片机论坛
 
 
 

回复

2146

帖子

8

TA的资源

五彩晶圆(初级)

43
 
本帖最后由 wsmysyn 于 2020-6-29 10:52 编辑
QWE4562009 发表于 2020-6-29 10:30 可以用其他的变量给TL0赋值吗?TH0为什么一定要和TL0扯上关系呢?既然两个都是8位寄存器

你这个逻辑有问题,凭什么不同的寄存器不能有关系?

 

那是你没看到DPTR指针,DPH 和DPL两个8位寄存器,组成了16位数据指针,通过汇编指令movx 来寻址超过8bit的地址范围,实现寻址16bit,最大65536字节的空间。

 

那是因为CPU是8位的数据和指令总线宽度,最多一次只能处理8bit数据,超过8位的,电路上设计上通过手段来实现的,比如分多次写入,多个寄存器组合,比如定时器,16位宽,13位宽,DPTR1,DPTR2数据指针,就是这么来的。你可以把TH0和TL0当成16位宽的寄存器,8bit的CPU需要写16位数据,当然需要写2次才行。如果是16位的cpu,写一次就够了。

 

此帖出自51单片机论坛
 
个人签名坐而言不如起而行
 
 

回复

2万

帖子

0

TA的资源

超级版主

44
 
QWE4562009 发表于 2020-6-29 10:31 TH0是一直给TL0赋值吗?还是是一个常量?

“TH0是一直给TL0赋值吗?还是是一个常量?”

哪有 “一直给TL0赋值这种事?若是 ”一直“ 赋值,单片机还做不做其它工作了?

注意:TH0是一个寄存器。

 

此帖出自51单片机论坛
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

45
 
maychang 发表于 2020-6-29 10:43 “TH0的值给到TL0目的是为了什么” 假定我们希望计数器每4次触发加1计数发生一次定时中断, ...

明白了。谢谢maychang老师

此帖出自51单片机论坛
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

46
 
maychang 发表于 2020-6-29 10:43 “TH0的值给到TL0目的是为了什么” 假定我们希望计数器每4次触发加1计数发生一次定时中断, ...

不同阶段的中断用不同的TH0初值都是可以的对吧?

此帖出自51单片机论坛

点评

”不同阶段的中断用不同的TH0初值都是可以的对吧?“ 不知道什么是 ”不同阶段的中断“。  详情 回复 发表于 2020-6-29 11:34
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

47
 
QWE4562009 发表于 2020-6-29 11:29 不同阶段的中断用不同的TH0初值都是可以的对吧?

”不同阶段的中断用不同的TH0初值都是可以的对吧?“

不知道什么是 ”不同阶段的中断“。

此帖出自51单片机论坛

点评

就你说的第一次  第二次  ....  详情 回复 发表于 2020-6-29 11:41
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

48
 
maychang 发表于 2020-6-29 11:34 ”不同阶段的中断用不同的TH0初值都是可以的对吧?“ 不知道什么是 ”不同阶段的中断& ...

就你说的第一次  第二次  ....

此帖出自51单片机论坛

点评

我在40楼所说 ”第一次……第二次……“并不产生中断,只有TL0溢出(加1,从FFH变成00H)才产生中断。 而且,只有模式2中TL0才在溢出时产生中断,模式0和模式1中TL0溢出并不产生  详情 回复 发表于 2020-6-29 11:58
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

49
 
QWE4562009 发表于 2020-6-29 11:41 就你说的第一次  第二次  ....

我在40楼所说 ”第一次……第二次……“并不产生中断,只有TL0溢出(加1,从FFH变成00H)才产生中断。

而且,只有模式2中TL0才在溢出时产生中断,模式0和模式1中TL0溢出并不产生中断。

此帖出自51单片机论坛

点评

我的意思是说 第一次  第二次。。。。TH0赋给TL0的值是不是可以不一样  详情 回复 发表于 2020-6-29 13:39
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

50
 
maychang 发表于 2020-6-29 11:58 我在40楼所说 ”第一次……第二次……“并不产生中断,只有TL0溢出( ...

我的意思是说 第一次  第二次。。。。TH0赋给TL0的值是不是可以不一样

此帖出自51单片机论坛

点评

我在40楼所说 ”第一次……第二次……“ TH0并不会将其内容赋值给TL0,只有TL0溢出(加1,从FFH变成00H)时,TH0才会将其内容赋值给TL0。赋值后TH0内容并不变化,仍是原来内容。  详情 回复 发表于 2020-6-29 14:19
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

51
 
QWE4562009 发表于 2020-6-29 13:39 我的意思是说 第一次  第二次。。。。TH0赋给TL0的值是不是可以不一样

我在40楼所说 ”第一次……第二次……“ TH0并不会将其内容赋值给TL0,只有TL0溢出(加1,从FFH变成00H)时,TH0才会将其内容赋值给TL0。赋值后TH0内容并不变化,仍是原来内容。

此帖出自51单片机论坛

点评

这两个问题maychang老师帮忙解答下 谢谢  详情 回复 发表于 2020-6-29 14:30
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

52
 
maychang 发表于 2020-6-29 14:19 我在40楼所说 ”第一次……第二次……“ TH0并不会将其内容赋值给TL0 ...

这两个问题maychang老师帮忙解答下 谢谢

邮洽图片20200629142827.jpg (324.98 KB, 下载次数: 0)

邮洽图片20200629142827.jpg
此帖出自51单片机论坛

点评

第二个问题:响应中断,在中断程序中完成你所需要的操作后,如果未将TF2清零,则退出中断后因TF2仍置位,将再一次进入中断。所以在退出中断之前必须用一条指令将TF2清零。  详情 回复 发表于 2020-6-29 14:56
第一个问题:TF2置位确实是改变了寄存器,不过TF2置位是硬件自动完成,不必你操作。  详情 回复 发表于 2020-6-29 14:53
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

53
 
QWE4562009 发表于 2020-6-29 14:30 这两个问题maychang老师帮忙解答下 谢谢

第一个问题:TF2置位确实是改变了寄存器,不过TF2置位是硬件自动完成,不必你操作。

此帖出自51单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

54
 
QWE4562009 发表于 2020-6-29 14:30 这两个问题maychang老师帮忙解答下 谢谢

第二个问题:响应中断,在中断程序中完成你所需要的操作后,如果未将TF2清零,则退出中断后因TF2仍置位,将再一次进入中断。所以在退出中断之前必须用一条指令将TF2清零。

此帖出自51单片机论坛

点评

在中断程序的最后面加上TF2 = 0 ,就怎样?  详情 回复 发表于 2020-6-29 15:12
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

55
 
maychang 发表于 2020-6-29 14:56 第二个问题:响应中断,在中断程序中完成你所需要的操作后,如果未将TF2清零,则退出中断后因TF2仍置位, ...

在中断程序的最后面加上TF2 = 0 ,就怎样?

此帖出自51单片机论坛

点评

此指令(应该说是语句)将清除中断申请标志。退出中断后就不会再次进入中断。  详情 回复 发表于 2020-6-29 15:46
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

56
 
QWE4562009 发表于 2020-6-29 15:12 在中断程序的最后面加上TF2 = 0 ,就怎样?

此指令(应该说是语句)将清除中断申请标志。退出中断后就不会再次进入中断。

此帖出自51单片机论坛

点评

TF2 = 0   这么写是否可以    详情 回复 发表于 2020-6-29 16:25
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

57
 
maychang 发表于 2020-6-29 15:46 此指令(应该说是语句)将清除中断申请标志。退出中断后就不会再次进入中断。

TF2 = 0   这么写是否可以  

此帖出自51单片机论坛

点评

对51单片机的C语言我不大熟悉。如果是汇编语言,应该是 CLR  TF2。 问问参与此帖的其他网友吧。  详情 回复 发表于 2020-6-29 16:41
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

58
 
QWE4562009 发表于 2020-6-29 16:25 TF2 = 0   这么写是否可以  

对51单片机的C语言我不大熟悉。如果是汇编语言,应该是 CLR  TF2。

问问参与此帖的其他网友吧。

此帖出自51单片机论坛
 
 
 

回复

3252

帖子

0

TA的资源

五彩晶圆(中级)

59
 
maychang 发表于 2020-6-28 19:35 Sign! TH0是个8位寄存器,TL0也是个8位寄存器。TH0内容装入TL0,怎么会溢出?

t=100  那就是定时100us?还是100ms?在这里 256也是时间长度吗

此帖出自51单片机论坛

点评

不知道你说的t=100是指什么,没办法回答。 至于 “在这里 256也是时间长度吗” 就更不知道指的是什么了。  详情 回复 发表于 2020-6-30 10:27
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

60
 
QWE4562009 发表于 2020-6-30 10:20 t=100  那就是定时100us?还是100ms?在这里 256也是时间长度吗

不知道你说的t=100是指什么,没办法回答。

至于 “在这里 256也是时间长度吗” 就更不知道指的是什么了。

此帖出自51单片机论坛

点评

 SCON既 可字节寻址 ,也 可位寻址 ,字 节地址为 98H,位 地址为 98H~9FH。 SCON各 位的定义如下 --------------这个位地址可以和字节地址一样?  详情 回复 发表于 2020-6-30 11:06
那256-t是啥含义  详情 回复 发表于 2020-6-30 11:04
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表