单片机定时器中断原理和C语言代码详解
5页1、文档供参考,可复制、编制,期待您的好评与关注! 单片机定时器中断原理和C语言代码详解我之前都是用ARM7,单片机基本不会。但一个项目要用到51,所以克了一下51还是有点模糊,今天调了这个代码之后,对51定时器中断有些心得,拿来和大家共享。废话不说了,上代码。#define _1231_C_#include reg51.h#include 1231.h/sbit OE=P23;unsigned int SystemTime;void timer0(void) interrupt 1 using 3 /中断部分代码,见下文的释疑 TH0 = 0xdb; TL0 = 0xff;/ TF0 = 0; SystemTime+;void main() TMOD &= 0xF0; TMOD |= 0x01; /TMOD的值表示定时器工作方式选择 TH0 = 0xdb; /写入初始值,初始值可以决定定时多久 TL0 = 0xff;/根据下文的木桶比喻的话,如果TH0 = 0x00;TL0 = 0x00;则表示从桶底开始装水。/TH0 = 0xdb;TL0 = 0xff;可以这样子理解相当于木桶里已经有
2、部分液铅在里面,/TH0和TL0这个两个值表示木桶里液铅的高度,即此时桶里只能从液铅的高度以上开始装水,/TH0 = 0xff;TL0 = 0xff;即表示桶的最高位置. TF0 = 0; /计数到时TF0为1,即当TH0 = 0xff;TL0 = 0xff;再运行一步TF0 = 1; TR0 = 1; /开始计数,从这时起,每运行一步TH0和TL0都会增加,直到TH0 = 0xff;TL0 = 0xff; /相当于开水龙头,如TR0=0则TH0和TL0不变 ET0 = 1; /允许定时器0中断 EA=1; /开总中断/下面是个死循环,程序里每运行一步TH0和TL0都会增加,当增加到TH0 = 0xff;TL0 = 0xff;/单片机会从死循环里退出,去执行中断部分的代码,即开始运行void timer0(void) interrupt 1 using 3/运行完中断部分的代码后,接着继续执行死循环里的代码。/注意:当TH0 = 0xff;TL0 = 0xff;再运行,TF0并没有从0变为1,个人猜测TF0=1;时触发了中断,并重新被置零。/如把ET0 = 1;和EA=1;注释掉,当T
3、H0 = 0xff;TL0 = 0xff;再运行,TF0会变为1,此时不会再执行中断部分代码。 while(1) if (SystemTime%100)释疑:void Timer0() interrupt 1 using 1Timer0 是函数名,随便取的 interrupt xx using y 跟在interrupt 后面的xx 值得是中断号,就是说这个函数对应第几个中断端口,一般在51中 0 外部中断0 1 定时器0 2 外部中断1 3 定时器1 4 串行中断 实际上编译的时候就是把你这个函数的入口地址方到这个对应中断的跳转地址 using y 这个y是说这个中断函数使用的那个寄存器组,51里面一般有4组 r0 - r7寄存器,一共有32个,如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会谈出来节省代码和时间初始值算法:定时器是当总数达到FFFFH后产生中断吧!那你要让它计数10000,是不是用FFFF(16进制)减去10000(十进制)的数当计数初值 啊?TH0=-(10000/256); TL0=-(10000%256)跟F
《单片机定时器中断原理和C语言代码详解》由会员s9****2分享,可在线阅读,更多相关《单片机定时器中断原理和C语言代码详解》请在金锄头文库上搜索。
语文(八下)背诵古诗文1.doc
读名篇写作文研究课课堂实录.doc
pep六年级下册第二单元教学设计
临沂卤制品研发项目商业计划书模板参考
2016年临床执业医师综合笔试模拟试题及答案(八)
吃西餐的礼仪.doc
2019年银行储蓄柜员工作总结个人.doc
2023年第二学期四年级班主任工作计划2.docx
2023年X县推进效能建设优化发展环境经验汇报总结.doc
求职服装搭配技巧.doc
新版电子学籍操作说明.doc
城市道路沥青路面不平整的原因和防治措施分析
中班《在动物园里》.doc
《智慧城市评价指标体系2.0》
【新教材】湖南中考语文 作文专题一精审题巧立意第一年考情说规律语文版
通达信导入指标步骤
让心为新鲜的一切而跳.doc
第一次集中汇报.doc
学会感恩演讲稿汇编
2023年出纳工作计划范本投稿合集.doc
2023-10-28 3页
2023-05-05 120页
2023-09-16 5页
2023-12-15 16页
2024-02-05 3页
2023-05-02 2页
2023-12-16 6页
2023-03-08 11页
2023-07-20 5页
2023-03-30 145页