欢迎来到天天文库
浏览记录
ID:59210679
大小:13.00 KB
页数:2页
时间:2020-09-10
《外部中断和定时器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#includevoidmain(){EA=1;//开总断(所有中断)寄成器头文件都定义好,直接拿来用就可以EA=0;//关总断ET1=1;//开定时器中断1;ET1=0;//关定时器中断1;PT1=1;//定时器中断1为高优先级PT1=0;//定时器中断1为低优先级外部中断分两个等级,MCU优先响应高优先级的中断,同级中断的顺序:外部中断0,定时器T0,外部中断1,定时器T1,串行口//TMOD寄存器控制两个定时(计数中断)中断,定时器或计数器的工作方式,寄存器有八位但不能进行位操作。//八位分别是GATE
2、C/TM1M0GATEC/TM1M0高四位控制定时器T1,低四位控制定时器T0.//每位作用分别是M1,M0控制计数器或定时器的工作方式。//M1M0工作方式功能说明//00方式013位计数器K位13最大定时时间为8912uS最大计数为8912次,和方式一有点重合,一般用方式一会多点。//01方式116位计数器K位16最大定时时间为65536uS最大计数为65536次//10方式2自动再装入8位计数器只用装一次初值,低八位的初值会自动重装高八位中,计数和定时精度比较高,串口通信等。//11方式0定时器0,分成两个8位计数器
3、,定时器1停止工作。使用见书,用的不多。//C/T:功能选择位,C/T=0时,为定时器,C/T=1,为计数器。//GATE:门控制位。当GATE=0时,软件可以控制位TR0或TR1来启动或关闭T0或T1.当GATE=1时,TR0和TR1为1并且INT0和INT1为高电平才能启动T0和T1。允许外部中断0或外部中断1来启动T0和T1。//定时器时间=(2的K次方-初值X)*振荡周期*12内部12分频的TMOD=0X10;//定时器t1以方式一定时TH1=(65536-50000)/256;//定时50ms给定时器赋初值
4、TL1=(65536-50000)%256;//可以先算好,这样可以提高单片机的运行速度TR1=1;//启动定时器中断1TR1=1;//关定时器中断1}voidtime1()interrupt4{TH1=(65536-50000)/256;//定时50ms给定时器赋初值TL1=(65536-50000)%256;//可以先算好,这样可以提高单片机的运行速度}
此文档下载收益归作者所有