永发信息网

单片机定时器和中断初始化流程是什么样的啊?还有就是TMOD和SCON的初值是怎么计算出来的?

答案:2  悬赏:60  手机版
解决时间 2021-03-30 01:02
单片机定时器和中断初始化流程是什么样的啊?还有就是TMOD和SCON的初值是怎么计算出来的?
最佳答案
至于那些书上都有的理论知识我就不说了,就简单的说一下吧,楼主可以想简单点
定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时)
1、确定使用哪个定时器,使用哪种方式,这一步通过TMOD设置,TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的,其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD = 0x01,就说明定时器0工作在方式1。
2、接下来就要设置定时的时间,用定时器定时50毫秒,可以用这种方式TH0 = (65535 - 50000) / 256,TL0 = (65535 - 50000) % 256;可以这样理解:因为这是定时器的初值,也就是说计数脉冲就是在这个数的基础上向上递增,到达65535后就溢出产生中断,至于为什么是对256取整,和取余的话楼主自己先琢磨吧, 不懂再hi我;
3、第三步就要打开中断了,使用IE寄存器,我一般是对各个位进行单独设置,这样看起来感觉更好,首先打开总中断EA = 1,这一步是所有中断所必须的,然后打开定时器0中断,ET0 =1;
4、这时准备工作都准备好了就要开始启动定时器了,使用TCON寄存器,TR0 = 1,到现在为止就实现了一个50毫秒的定时了;
总结一下:TMOD = 0x01; TH0 = (65535 - 5000) / 256; TL0 = (65535 - 50000) % 256; EA = 1; ET0 = 1; TR0 = 1,至于那个中断函数我就不写了,要注意的是方式0 ,1, 3是不能自动重装的,所以得在中断函数中重新对TH0 ,TL0赋初值,楼主说的那个SCON寄存器就是用于串口的,定时器会用了的话,串口也就会了的,希望能够帮助楼主了
全部回答
只有TH1、TL1,TH0、TL0,需要设置初值,TMOD和SCON是寄存器,C/T为0时定时,为1时计数,开始中断的话要设置IE寄存器。
建议看书吧,书上有详细介绍的比如 郭天祥的书,有些书上介绍的含糊不清,找一本好的书看可以事半功倍。你学汇编语言的话建议你看范红刚的书。郭天祥的是C语言。这是我目前比较喜欢的书
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大学的课多不多?有没有早自习?晚自习?
下面“之”字用法不同于其他的一项是2分A.臣
“脚踏实地”的意思是________________?
建筑设计中现浇板B,T,Y分别代表什么
2018小升初需要的资料有哪些?
k952列车05车厢03座位靠窗吗?
主机屋的域名前两天解析成功了,网站也能登录
盐城名鸿汽车修理有限公司地址好找么,我有些
阳历11月6日出生的名人
我一米七,一百六十斤偏胖 夏季上衣我该穿多
英语把每一行都翻译清楚谢谢
小南国是什么企业
适合2-3人玩的魔兽地图
这是黄腊石吗
微晶体共沉淀的影响因素有哪些
推荐资讯
穿越黑暗之门任务
想问下住家的保姆买东西菜之内的是给钱保姆自
上联(黎明即起,孜孜为善)下联是什么
偶尔会有种电流的感觉是怎么回事
2010款奥迪a6l2·4豪华型行驶十五万公里值多
metoo中文是啥意思
二百毫升等于多少克?
粤O00555隶属哪个部门
用千什么百什么造成语怎么造?
1987年2月1日是星期天,1988年2月1日是星期几?
腹部刀伤伤口处能看到筋膜,请问要使伤口愈合
求有寓意的句子~!~!~!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?