单片机定时器中断原理和c语言代码
单片机定时器中断原理和C语言代码详解
2010-06-05 15:27:19| 分类: |
#define _1231_C_
#include "reg51.h"
#include "1231.h"
//sbit OE=P2^3;
unsigned int SystemTime;
void timer0(void) interrupt 1 using 3 //中断部分代码,见下文的释疑 {
TH0 = 0xdb;
TL0 = 0xff;
// TF0 = 0;
SystemTime++;
}
void main()
{
TMOD &= 0xF0;
TMOD |= 0x01; //TMOD的值
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示定时器工作方式选择
TH0 = 0xdb; //写入初始值,初始值可以决定定时多久
TL0 = 0xff;
//根据下文的木桶比喻的话,如果TH0 = 0x00;TL0 = 0x00;则表示从桶底开始装水。 //TH0 = 0xdb;TL0 = 0xff;可以这样子理解相当于木桶里已经有部分液铅在里面, //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;注释掉,当TH0 = 0xff;TL0 = 0xff;再运行,TF0会变为1,此时不会再执行中断部分代码。
while(1)
{
if ((SystemTime%100)
释疑:void Timer0() interrupt 1 using 1
Timer0 是函数名,随便取的
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)跟FFFF(16进制)减去10000(十进制)的数是一样的。从TH0=-(10000/256); TL0=-(10000%256)开始计数,计数到10000刚好满。跟用FFFF(16进制)减去10000(十进制)的数一样~~~写起来更简单,不 用算~~~
看看原码、补码就知道。正数的补码是对应的二进制数,符号位为零,负数的补码是它的绝对值对应的二进制数按位取反再加一,符号位为一。无符号数不考虑符号,那么这个结果就跟用FFFF减去它的绝对值一样
中断的理解。
这里将涉及到单片机中断的应用,在cpu的一步步按照指令运行的过程中(主程序),可能会有其它的更紧急的需要做的事情(中断服务程序),需要cpu暂时停止当前的程序(主程序),做完了(中断服务程序)之后,又可以继续去运行先前的程序(主程序)。就像你正在吃饭,一边又在给水桶里放水,吃着吃着,水满了,你就得赶快去把水龙头关掉或者换一个空的水桶,再回来吃饭。
单片机的定时器就像是一个水桶,你让它启动了,也就是水龙头打开了;开始装水了;定时在每个机器周期不断自动加1,最后溢出了;水桶的水不断增加,最也就满出来了;定时器溢出时,你就要去做处理了;水桶的水满了,你也应该处理一下了;处理完后,单片机又可以回到刚刚开停止的地方继续运行;水桶处理了,先前你在做什么也可以继续去做什么了。 单片机的主程序是从0x0000开始运行的,单片机服务程序从哪里开始运行呢,在51里,有多个中断服务程序入口,0号入口是外中断0,地址在0x0003;1号入口是定时器0,在 0x000B;
2号入口是外中断1;地址在0x0013,3号入口是定时器2;地址在0x001B,等等。当中断发生时,程序就记下当前运行的位置,跳到对应的中断入口去运行中断服务程序,运行完之后,又跳回到原来的位置继续运行。
在C51中,你不用理会中断服务程序放在哪里,会怎么跳转。你只要把某个函数标识为几号中断服务函数就可以了。在发生了对应的中断时,就会自动的运行这个函数。 请看一下相关的51的硬件的
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
,对定时器工作的寄存器设置做进一步的了解。也可以做完试验再了解,因为例程中都已经为您设置好了。
请看程序,主程序里的循环里是个死循环,什么也没有做,在实际应用中这里是放的主程序。 在定时器服务函数里,需要重新置入定时器的值,这样才能保证每次溢出时,都是你指定的时间。这里置入的是0x0006,还需要走 0x10000-0x0006个机器周期才溢出。换成10进制也就是每65530个机器周期中断一次。我们仿真的晶振是22118400HZ,每12个时钟一个机器周期。65530×12/22118400,0.036秒。也就是差不多28HZ的闪烁频率。
因为51的定时器最大只有0xffff,溢出的速度很快,无法做出更久的闪烁频率来,这一课就先观察一下这个28HZ左右频率。在下一课我们会用静态变量的办法,做一个长达1秒钟的LED闪烁频率。
另外,由于51从中断发生到进入中断的时间不定,是3至8个机器周期,我们在进入了中断后才重新置新的定时器初始值,这样就会存在定时误差。也就是不是精确定时,如果要精确定时,需要使用定时器自动装载方式,也就是在定时器溢出的同时,硬件逻辑就自动把定时器初始值装载进去了,而不是在中断服务程序里赋初始值,这样就可以实现精确定时,误差只出现晶振的频率上。这是下一颗的内容。
现在请仔细研究一下程序,并编译,进入仿真,全速运行,观察运行结果。我们可以看到P10上的LED在快速闪烁。
顺便,也请再练习一下停止,单步,断点等等的调试
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。
一个特殊的地方,使用DX516在单步时运行时,可能无法进入到中断服务函数中。这是因为中断函数可能在单步处理的瞬间已经运行过去了。如果要单步调试中断服务函数,请在中断服务函数内设置断点,再点全速。稍后就会停止在断点上,就可以继续单步运行了。
名句赏析~~~~~
不限
主题
不限抒情四季山水天气人物人生生活节日动物植物食物
山有木兮木有枝,心悦君兮君不知。____佚名《越人歌》
人生若只如初见,何事秋风悲画扇。____纳兰性德《木兰词?拟古决绝词柬友》
十年生死两茫茫,不思量,自难忘。____苏轼《江城子?乙卯正月二十日夜记梦》
只愿君心似我心,定不负相思意。____李之仪《卜算子?我住长江头》
玲珑骰子安红豆,入骨相思知不知。____温庭筠《南歌子词二首 / 新添声杨柳枝词》
曾经沧海难为水,除却巫山不是云。____元稹《离思五首?其四》
愿得一心人,白头不相离。____卓文君《白头吟》
去年今日此门中,人面桃花相映红。____崔护《题都城南庄》
平生不会相思,才会相思,便害相思。____徐再思《折桂令?春情》 入我相思门,知我相思苦。____李白《三五七言 / 秋风词》
山无陵,江水为竭。冬雷震震,夏雨雪。天地合,乃敢与君绝。____佚名《上邪》 人生自是有情痴,此恨不关风与月。____欧阳修《玉楼春?尊前拟把归期说》 一往情深深几许,深山夕照深秋雨。____纳兰性德《蝶恋花?出塞》 两情若是久长时,又岂在朝朝暮暮。____秦观《鹊桥仙?纤云弄巧》 执子之手,与子偕老。____佚名《击鼓》
花自飘零水自流。一种相思,两处闲愁。____李清照《一剪梅?红藕香残玉簟秋》 问世间,情为何物,直教生死相许,____元好问《摸鱼儿?雁丘词 / 迈陂塘》 一日不见兮,思之如狂。____司马相如《凤求凰 / 琴歌》
人生如逆旅,我亦是行人。____苏轼《临江仙?送钱穆父》
世间无限丹青手,一片伤心画不成。____高蟾《金陵晚望》
林花谢了春红,太匆匆。无奈朝来寒雨,晚来风。____李煜《相见欢?林花谢了春红》 独立寒秋,湘江北去,橘子洲头。____毛泽东《沁园春?长沙》
身无彩凤双飞翼,心有灵犀一点通。____李商隐《无题?昨夜星辰昨夜风》 滚滚长江东逝水,浪花淘尽英雄。____杨慎《临江仙?滚滚长江东逝水》 怕相思,已相思,轮到相思没处辞,眉间露一丝。____俞彦《长相思?折花枝》 此情可待成追忆,只是当时已惘然。____李商隐《锦瑟》
思悠悠,恨悠悠,恨到归时方始休。____白居易《长相思?汴水流》 取次花丛懒回顾,半缘修道半缘君。____元稹《离思五首?其四》 若是前生未有缘,待重结、来生愿。____乐婉《卜算子?答施》
雨打梨花深闭门,忘了青春,误了青春。____唐寅《一剪梅?雨打梨花深闭门》 少年不识愁滋味,爱上层楼。爱上层楼。为赋新词强说愁。____辛弃疾《丑奴儿?书博山道中壁》
自在飞花轻似梦,无边丝雨细如愁。____秦观《浣溪沙?漠漠轻寒上小楼》 近水楼台先得月,向阳花木易为春。____苏麟《断句》
一骑红尘妃子笑,无人知是荔枝来。____杜牧《过华清宫绝句三首》 抽刀断水水更流,举杯消愁愁更愁。____李白《宣州谢脁楼饯别校书叔云 / 陪侍御叔华登楼歌》
疏影横斜水清浅,暗香浮动月黄昏。____林逋《山园小梅?其一》 人面不知何处去,桃花依旧笑春风。____崔护《题都城南庄》
时光只解催人老,不信多情,长恨离亭,泪滴春衫酒易醒。____晏殊《采桑子?时光只解催人老》
一生大笑能几回,斗酒相逢须醉倒。____岑参《凉州馆中与诸判官夜集》 天涯地角有穷时,只有相思无尽处。____晏殊《玉楼春?春恨》
问君能有几多愁,恰似一江春水向东流。____李煜《虞美人?春花秋月何时了》 似此星辰非昨夜,为谁风露立中宵。____黄景仁《绮怀》
菩提本无树,明镜亦非台。____惠能《菩提偈》
溪云初起日沉阁,山雨欲来风满楼。____许浑《咸阳城东楼 / 咸阳城西楼晚眺 / 西门》 春风得意马蹄疾,一日看尽长安花。____孟郊《登科后》
枯藤老树昏鸦,小桥流水人家,古道西风瘦马。____马致远《天净沙?秋思》
空山新雨后,天气晚来秋。____王维《山居秋暝》
人到情多情转薄,而今真个悔多情。____纳兰性德《山花子?风絮飘残已化萍》 同是天涯沦落人,相逢何必曾相识~____马致远《杂剧?江州司马青衫泪》 浮云一别后,流水十年间。____韦应物《淮上喜会梁川故人 / 淮上喜会梁州故人》
名句赏析~~~~~
不限
主题不限抒情四季山水天气人物人生生活节日动物植物食物
山有木兮木有枝,心悦君兮君不知。____佚名《越人歌》
人生若只如初见,何事秋风悲画扇。____纳兰性德《木兰词?拟古决绝词柬友》 十年生死两茫茫,不思量,自难忘。____苏轼《江城子?乙卯正月二十日夜记梦》 只愿君心似我心,定不负相思意。____李之仪《卜算子?我住长江头》 玲珑骰子安红豆,入骨相思知不知。____温庭筠《南歌子词二首 / 新添声杨柳枝词》 曾经沧海难为水,除却巫山不是云。____元稹《离思五首?其四》 愿得一心人,白头不相离。____卓文君《白头吟》
去年今日此门中,人面桃花相映红。____崔护《题都城南庄》
平生不会相思,才会相思,便害相思。____徐再思《折桂令?春情》 入我相思门,知我相思苦。____李白《三五七言 / 秋风词》
山无陵,江水为竭。冬雷震震,夏雨雪。天地合,乃敢与君绝。____佚名《上邪》 人生自是有情痴,此恨不关风与月。____欧阳修《玉楼春?尊前拟把归期说》 一往情深深几许,深山夕照深秋雨。____纳兰性德《蝶恋花?出塞》 两情若是久长时,又岂在朝朝暮暮。____秦观《鹊桥仙?纤云弄巧》 执子之手,与子偕老。____佚名《击鼓》
花自飘零水自流。一种相思,两处闲愁。____李清照《一剪梅?红藕香残玉簟秋》 问世间,情为何物,直教生死相许,____元好问《摸鱼儿?雁丘词 / 迈陂塘》 一日不见兮,思之如狂。____司马相如《凤求凰 / 琴歌》
人生如逆旅,我亦是行人。____苏轼《临江仙?送钱穆父》
世间无限丹青手,一片伤心画不成。____高蟾《金陵晚望》
林花谢了春红,太匆匆。无奈朝来寒雨,晚来风。____李煜《相见欢?林花谢了春红》 独立寒秋,湘江北去,橘子洲头。____毛泽东《沁园春?长沙》
身无彩凤双飞翼,心有灵犀一点通。____李商隐《无题?昨夜星辰昨夜风》 滚滚长江东逝水,浪花淘尽英雄。____杨慎《临江仙?滚滚长江东逝水》 怕相思,已相思,轮到相思没处辞,眉间露一丝。____俞彦《长相思?折花枝》 此情可待成追忆,只是当时已惘然。____李商隐《锦瑟》
思悠悠,恨悠悠,恨到归时方始休。____白居易《长相思?汴水流》 取次花丛懒回顾,半缘修道半缘君。____元稹《离思五首?其四》 若是前生未有缘,待重结、来生愿。____乐婉《卜算子?答施》
雨打梨花深闭门,忘了青春,误了青春。____唐寅《一剪梅?雨打梨花深闭门》 少年不识愁滋味,爱上层楼。爱上层楼。为赋新词强说愁。____辛弃疾《丑奴儿?书博山道中壁》
自在飞花轻似梦,无边丝雨细如愁。____秦观《浣溪沙?漠漠轻寒上小楼》 近水楼台先得月,向阳花木易为春。____苏麟《断句》
一骑红尘妃子笑,无人知是荔枝来。____杜牧《过华清宫绝句三首》 抽刀断水水更流,举杯消愁愁更愁。____李白《宣州谢脁楼饯别校书叔云 / 陪侍御叔华登楼歌》
疏影横斜水清浅,暗香浮动月黄昏。____林逋《山园小梅?其一》
人面不知何处去,桃花依旧笑春风。____崔护《题都城南庄》
时光只解催人老,不信多情,长恨离亭,泪滴春衫酒易醒。____晏殊《采桑子?时光只解催人老》
一生大笑能几回,斗酒相逢须醉倒。____岑参《凉州馆中与诸判官夜集》 天涯地角有穷时,只有相思无尽处。____晏殊《玉楼春?春恨》
问君能有几多愁,恰似一江春水向东流。____李煜《虞美人?春花秋月何时了》 似此星辰非昨夜,为谁风露立中宵。____黄景仁《绮怀》
菩提本无树,明镜亦非台。____惠能《菩提偈》
溪云初起日沉阁,山雨欲来风满楼。____许浑《咸阳城东楼 / 咸阳城西楼晚眺 / 西门》 春风得意马蹄疾,一日看尽长安花。____孟郊《登科后》
枯藤老树昏鸦,小桥流水人家,古道西风瘦马。____马致远《天净沙?秋思》 空山新雨后,天气晚来秋。____王维《山居秋暝》
人到情多情转薄,而今真个悔多情。____纳兰性德《山花子?风絮飘残已化萍》 同是天涯沦落人,相逢何必曾相识~____马致远《杂剧?江州司马青衫泪》 浮云一别后,流水十年间。____韦应物《淮上喜会梁川故人 / 淮上喜会梁州故人》
论诗三十首?其四
(53人评分) 8.7
朝代:金朝
作者:元好问
原文
少年中国说原文俱舍论原文大医精诚原文注音大学原文和译文对照归藏易原文
:
一语天然万古新,豪华落尽见真淳。
南窗白日羲皇上,未害渊明是晋人。
写翻译 写翻译写赏析 写赏析纠错 纠错收藏 收藏评分:很差较差还行推荐力荐 参考翻译
写翻译 写翻译
译文
陶渊明的诗语言平淡、自然天成,摒弃纤丽浮华的敷饰,露出真朴淳厚的美质,令人读来万古常新。陶渊明自谓自己是上古时代的人,但并未妨碍他仍然是个晋人。? 参考赏析
写赏析 写赏析
赏析
这首诗是元好问评晋代诗人陶渊明。出于对当时诗坛雕琢粉饰、矫揉造作诗风的反感,元好问评论晋代诗人陶渊明时前两句说:“一语天然万古新,豪华落尽见真淳。”元好问崇尚陶渊明诗歌自然天成而无人工痕迹,清新真淳而无雕琢之弊。陶渊明的诗句自然质朴不假修饰,剥尽铅华腻粉,独见真率之情志,具有真淳隽永、万古常新的永恒? 作者介绍
元好问
元好问 元好问,字裕之,号遗山,太原秀容(今山西忻州)人;系出北魏鲜卑族拓跋氏,元好问过继叔父元格;七岁能诗,十四岁从学郝天挺,六载而业成;兴定五年(1221)进士,不就选;正大元年(1224 ),中博学宏词科,授儒林郎,充国史院编修,历镇平、南阳、内乡县令。八年(1231)秋,受诏入都,除尚书省掾、左司都事,转员外郎;金亡不仕,元宪宗七年卒于获鹿寓舍;工诗文,在金元之际颇负重望;诗词风格沉郁,并多伤时感事之作。其《论诗》绝句三十首在中国文学批评史上颇有地位;作有《遗山集》又名《遗山先生文集》,编有《中州集》。...