AS单片机的定时器计数器_第1页
AS单片机的定时器计数器_第2页
AS单片机的定时器计数器_第3页
AS单片机的定时器计数器_第4页
AS单片机的定时器计数器_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章AT89S51单片机的

定时器/计数器

17.1定时器/计数器的结构AT89S51定时器/计数器结构见图

7-1,定时器/计数器T0由特殊功能寄存器TH0、TL0构成,T1由特殊功能寄存器TH1、TL1构成。2图7-1

定时器/计数器结构框图TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式。TCON用于控制T0、T1的启动和停止,同时包含T0、T1状态。计数器起始计数从初值开始。单片机复位时计数器初值为0。7.1.1工作方式控制寄存器TMOD

图7-2

寄存器TMOD格式(1)GATE—门控位GATE=0,是否计数,由控制位TRx(x

=

0,1)来控制。GATE=1,是否计数,由外中断引脚INTx*上的电平与运行控制位TRx共同控制。4

(2)M1、M0—工作方式选择位M1、M04种编码,对应于4种工作方式的选择,见表7-1。表7-1 M1、M0工作方式选择5

(3)C/T*—计数器模式和定时器模式选择位C/T*=0,定时器模式,对系统时钟12分频的脉冲进行计数。C/T*=1,计数器模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数。7.1.2定时器/计数器控制寄存器TCON

TCON控制T0、T1的启动和停止,同时包含T0、T1状态。

6图7-3TCON格式这里仅介绍高4位功能。(1)TF1、TF0—计数溢出标志位

当计数器计数溢出时,该位置“1”。使用查询方式时,此位可供CPU查询,但应注意查询后,用软件及时将该位清“0”。使用中断方式时,作为中断请求标志位,进入中断服务程序后由硬件自动清“0”。(2)TR1、TR0—计数运行控制位TR1位(或TR0)=1,启动计数器计数的必要条件。TR1位(或TR0)=0,停止计数器计数。该位可由软件置“1”或清“0”。7.2定时器/计数器的4种工作方式4种工作方式,分别介绍如下。78图7-5

方式1的逻辑结构框图方式1和方式0差别仅仅在于计数器的位数不同7.2.2方式1当M1、M0=01时,工作于方式1,等效电路逻辑结构见图7-5。7.2.1方式07.2.3方式2

方式0和方式1最大特点是计数溢出后,计数器为全0。因此在循环定时或循环计数应用时就存在用指令反复装入计数初值的问题,这会影响定时精度,方式2就是为解决此问题而设置的。

当M1、M0=10时,工作方式2,等效逻辑结构见图7-6(以T1为例,x=1)。

工作方式2为自动恢复初值(初值自动装入)的8位定时器/计数器,TLx(x=0,1)作为常数缓冲器,当TLx计数溢出时,在溢出标志TFx置“1”的同时,还自动将THx中的初值送至TLx,使TLx从初值开始重新计数。定时器/计数器方式2工作过程见图7-7。910图7-6

方式2逻辑结构框图11图7-7方式2工作过程方式2可省去用户软件中重装初值的指令执行时间,简化定时初值的计算方法,可相当精确地定时。7.2.4方式3

方式3是为增加一个附加的8位定时器/计数器而设置的,从而使AT89S51具有3个定时器/计数器。方式3只适用于T0,T1不能工作在方式3。T1方式3时相当于TR1

=

0,停止计数(此时T1可作为串口波特率产生器)。1.工作方式3下的T0

当TMOD的低2位为11时,T0被选为方式3,各引脚与T0的逻辑关系见图7-8。T0分为两个独立的8位计数器TL0和TH0,TL0使用T0的状态控制位C/T*、GATE、TR0,而TH0被固定为一个8位定时器(不能作为外部计数模式),并使用定时器T1的状态控制位TR1,同时占用定时器T1的中断请求源TF1。12

图7-8T0方式3的逻辑结构框图2.T0工作在方式3时T1的各种工作方式

一般情况下,当T1用作串口波特率发生器时,T0才工作在方式3。T0方式3时,T1可为方式0、1、2,作为串口波特率发生器,或不需要中断的场合。(1)T1工作在方式0

(2)T1工作在方式1

当T1的控制字中M1、M0

=

01时,T1工作在方式1,工作示意见图7-10。14(3)T1工作在方式2

当T1控制字中M1、M0

=

10时,T1为方式2,工作示意如图7-11所示。15图7-10T0方式3时T1为方式1工作示意图

图7-11T0方式3时T1为方式2工作示意图(4)T1设置绕在方穷式3T0方式3时,链再把T1也设便置成挂方式3,此盼时T1停止倦计数帽。7.妥3对外滥部输霞入的勉计数亡信号叹的要莫求计数骨器模旺式时岔,计菌数脉太冲来跃自外挖部输尽入引预脚T0或T1。当铜输入沉信号墨产生贼负跳明变时险,计混数值绍增1。每答个机绞器周妙期S5违P2期间规,都痕对外烫部输绒入引椅脚T0或T1进行旱采样谁。如碍在第1个机奥器周辈期中稳采得类值为1,而荐在下估一个锣机器野周期撒中采菌得的赠值为0,则祝在紧胁跟着搜的再辉下一数个机撒器周涂期S3垃P1期间雪,计什数器腾加1。由望于确邻认一纯次负的跳变仪要花2个机陶器周嘱期,涂即24个振执荡周仗期,功因此堆外部灾输入主的计象数脉涂冲的政最高换频率律为系共统振就荡器挨频率1/或24。16如选创用6M小Hz晶体,允复许输姨入脉仪冲频赛率最拜高为25街0k更Hz。如念选用12旧MH烈z频率仔晶体照,则佛可输尖入最鸭高频狂率50微0k垒Hz外部供脉冲斤。对度外输窝入信粒号占叛空比退没有这限制虎,但汽为确津保某恒一给鸭定电加平在蛛变化美前能雁被采序样1次,完则该电平涨至少除保持1个机政器周盏期。故眯对外吹部输渐入信射号要炒求见图7-乒12,图锅中Tcy为机喂器周她期。图7-桨12对外抱部计浑数输青入信爽号的恳要求187.义4定时葛器/计数虫器的诊编程渠和应爆用4种工批作方府式中要,方截式0与方惠式1基本竟相同眯,只哀是计耻数位做数不缝同。适方式0为13位,罚方式1为16位。茫由于鲁方式0是为敬兼容MC惨S-趴48而设蛙,计卷数初表值计挽算复奶杂,斑所以泪在实蜻际应年用中只,一械般不胳用方域式0,常肌采用戏方式1。7.治4.宗1真P瘦1口控润制8只LE仅D每0.甘5s闪亮轻一次【例7-蔽1】在AT鹿89嘱S5售1的P1口上吗接有8只LE天D,原萄理电件路见图7-弯13。采船用T0方式1的定屋时中筋断方嚷式,灰使P1口外耀接的8只LE荷D每0.销5s闪亮光一次蜻。19图7-缸13方式1定时孤中断咐控制LE拥D闪亮(1)设往置TM同OD寄存肯器(2)计棵算定宵时器T0的计技数初尊值(3)设坝置IE寄存乒器(4)启竹动和体停止弃定时师器T020#i肿nc巧lu错de殖<r智eg霞51嫂.h汽>ch露ar违i减=1真00声;vo存id饶m回ai谊n依(){凑TM树OD给=0悄x0丸1;座//定时缎器T0为方谅式1TH雁0=距0x狐ee神;惩/弓/设置炼定时鞠器初银值TL崇0=社0x扭00边;P1阶=0批x0厉0;塔/款/P嗽1口8个LE扔D点亮EA脚=1寻;辆//开总刚中断ET矮0=怒1;氧/难/开定焰时器T0中断TR纲0=吃1;填/俊/启动偶定时愿器T0wh券il凝e(疑1);//循环插等待{;}}21vo准id是t令im界er默0(湖)悟in洋te果rr扑up咬t畜1拌//逮T0中断篮程序{TH芬0=鸽0x宽ee错;吼/串/重新惕赋初竭值TL即0=卷0x匆00佳;i-恢-;献/嫩/循环皆次数萝减一if歇(i<=框0){P1池=~款P1常;络//与P1口按抢位取豆反i=良10枕0;泄//重置自循环刺次数}}7.月4.返2计数稀器的匹应用【例7-妈2】如图7-洪14,T1的采顷用计捧数模侄式,龙方式1中断礼,计历数输卖入引道脚T1(P3析.5)上鄙外接私按钮爪开关貌,作拒为计卧数信日号输饼入。液按4次按屯钮开教关后骂,P1口的8只LE弃D闪烁哈不停新。(1)设解置TM蒜OD寄存谷器(2)计透算定做时器T1的计偿数初岛值(3)设累置IE寄存平器(4)启拐动和鸟停止医定时蜓器T1。23图7-唉14由外岸部计徐数输睬入信桌号控怨制LE佳D的闪津烁#i侄nc远lu舌de麻<伍re明g5闸1.过h>vo恭idDe霉la拔y(疫un步si碍gn座edin费ti)//定义鲜延时挽函数De模la饼y(森),i是形植式参秧数,独不能抢赋初倘值{un配si宏gn唇edin浑tj;fo邮r(宗;i>0办;i亩--概)烈//变量i由实激际参维数传恼入一托个值//因此i不能声赋初牙值fo肆r(猫j=0意;j店<1喉25罪;j梅++床){;状}毕/躲/空函折数}vo弱id素ma疤in倡(利)誓//主函浪数{TM却OD求=0发x5构0;戏/散/设置湾定时管器T1为方找式1计数TH查1=权0x诞ff消;酱//向TH机1写入魄初值厨的高8位TL排1=抗0x惑fc成;卖//向TL涨1写入微初值衰的低8位EA撒=1愈;访//总中宾断允指许ET惭1=搂1;送//定时群器T1中断墙允许TR甜1=吐1;己//启动省定时钞器T1wh增il未e(凑1)拖;乔/驾/无穷默循环泉,等权待计尾数中搏断}2627vo品id畜T周1_孔in忍t(舟vo占id魂)着i爱nt侧er牧ru闯pt放3掏/初/T津1中断魄函数{fo洋r(岗;;俊)读/遭/无限廊循环{P1桑=0伶xf豪f;职//轻8位LE铸D全灭De竹la盆y(洞50弹0)亦;导//延时50笼0m互sP1蹄=0绪;昆//灾8位LE霜D全亮De龟la蓄y(过50烛0)讽;泻//延时50佣0m锄s}}287.泰4.疮3控制P1使.0产生辽周期范为2m辉s的方砍波【例7-饭3】假设旦系统芒时钟广为12药MH属z,设漆计电让路并缸编写颜程序狡实现回从P1撒.0引脚土上输仪出一掉个周梨期为2m今s的方笑波,见图7-男15。要在P1豪.0上产别生周宜期为2m题s的方暑波,兔定时呼器应基产生1m良s的定颈时中卧断,险定时需时间绵到则汪在中羡断服沟务程深序中阴对P1蹄.0求反详。使去用定涂时器T0,方油式1定时悼中断咽,GA组TE不起替作用密。图7-巡寿15定时虚器控姑制P1恢.0输出眉一个供周期2m号s方波30图7-翻16定时往器控绘制P1朗.0输出撤周期2m仓s的方榜波的瞒原理抵电路31#i萝nc伯lu励de李<掠re江g5锹1.勺h>鼠//头文堤件re革g5梦1.巧hsb晒itP1弄_0芳=P定1^炭0;剃//定义忌特殊笛功能配寄存者器P1的位窗变量P1意_0vo巧idma围in金(v剑oi侧d)脾/灾/主程箩序{TM静OD眼=0迅x0芝1;涉//设置T0为方键式1TR支0=然1;锦/吼/接通T0wh抖il杜e(没1)权//无限锐循环{TH豆0=吗0x极fc到;弄/缩慧/置T0高8位初嘱值TL豆0=丘0x谁18规;前/资/置T0低8位初笑值do{}wh此il夕e(遇!T练F0魄);蒙//判TF迫0是否拨为1,为1则T0溢出磨,往罪下//执行问,否残则原拖地循会环P1值_0鞭=!荷P1姓_0味;张/里/麦P1缴.0状态出求反TF壶0=殃0;珠/景/T馋F0标志核清零}}32仿真毯时,担右键铁单击咬虚拟否数字墓示波茄器,求出现块下拉架菜单株,点骗击“Di称gi腐ta监l番os恼ci姐ll两os质co汁pe”选鼓项,框就会膝在数衔字示酒波器净上显缩慧示P1牌.0引脚父输出周期婚为2m伍s方波,如图7-蓄17所示家。33图7-葬17虚拟野数字与示波络器显们示的2m羡s的方航波波秤形7.弱4.刘4利用T1控制肯发出1k吵Hz的音宜频信跳号【例7-墓4】利用T1的中菌断控趟制P1遍.7引脚徒输出底频率秆为1k裳Hz方波备音频念信号票,驱卖动蜂丧鸣器煌发声冰。系昨统时怨钟为12思MH膜z。方刘波音烧频信亦号周扇期1m共s,因袍此T1的定装时中郊断时忠间为0.佣5腾ms,进忍入中岭断服炒务程急序后详,对P1协.7求反抗。电闯路见图7-宇18。先计熟算T1初值霉,系墙统时碧钟为12起MH鸭z,则区方波璃周期员为1µ掠s。1k如Hz音频们信号不周期呢为1m贿s,要剃定时难计数识的脉渔冲数逃为a。则T1初值羽:TH躁1=护(6经5朱53覆6−a隔)豆/2惭56;TL正1=章(6志5裳53怎6−a要)困%2怎563435图7-箭18控制挖蜂鸣柴器发膏出1k斤Hz的音巨频信每号参考榴程序具如下描:#i食nc教lu爪de富<r肌eg铸51享.h殊>龙/草/包含补头文枕件sb唉it次s阁ou婶nd钻=P雾1^筛7;助//将so惩un推d位定虚义为P1廉.7脚#d既ef摄in欠e厌f1粉(a评)虚(6密55朝36耕-a徒)/愧25锡6团//定义差装入所定时箩器高8位时锋间常钻数#d像ef矿in浊e间f2絮(a固)替(6泳55胜36冷-a拌)%舍25数6惊/慈/定义蜡装入仆定时巨器低8位时贝间常绵数un羽si奴gn篇ed倘i蛇nt嘴i万=宪5市00首;un惹si州gn玩ed矩i切nt朽j粪=炉0;vo息id伐m容ai省n(捕vo俗id络){EA勿=1床;注/遵/开总锦中断.ET休1=治1;拆/浪/允许仍定时鉴器T1中断.TM长OD芽=0当x1惕0;罪//道TM芳OD习=0弟00姨1协00蓄0B,使贡用T1的方秆式1定时TH布1=汤f1份(i辩);灯/本/给定如时器T1高8位赋厅初值.TL添1=习f2今(i光);析/改/给定尸时器T1低8位赋盒初值.TR梯1=栗1;脊/照/启动脉定时宗器T1wh酸il罗e(钻1)37{颂//循环废等待i=情46疲0;wh番il杀e(券j<2为00翁0)贫;j=期0;i=仰36既0;wh煤il阀e(雀j<2坦00蜡0)挎;j=圆0;}}vo我id辜T替1(筹vo朴id洋)宴in虫te驶rr渗up醉t混3蜘us岁in凡g豪0怜//定时睛器T1中断锡函数{TR尤1=灶0棒;膨/唉/关闭附定时推器T1so拦un四d=紧~s挖ou坊nd辽;勿/算/P波1.减7输出鸭求反TH丝式1=蒜f1砌(i后);睡/勾/定时骄器T1的高8位重滑新赋您初值.TL窗1=计f2缠(i夹);闯/轮/定时由器T1的低8位重结新赋刻初值.38j+趣+;TR体1=股1;演/葱/启动千定时钢器T1}7.躁4.投5渡L闷ED数码婶管秒畜表的皆制作【例7-木5】用2位数匪码管仔显示沃计时咬时间饲,最献小计渗时单围位为剑“百康毫秒睬”,饶计时订范围0.示1~9.洲9s。当宏第1次按扒一下院计时净功能智键时滥,秒固表开尝始计故时并落显示妈;第2次按僻一下啄计时茄功能捡键时盈,停傍止计邪时,励将计沉时的币时间嗓值送屋到数负码管们显示家;如碗果计佛时到9.乌9s,将文重新捏开始附从0计时敌;第3次按能一下丹计时渠功能盖键,拣秒表淘清0。再启次按丑一下榨计时贸功能刑键,脖则重敏复上烘述计共时过呀程。本秒产表应逮用定接时器艇模式黑,计翁时范幻玉围0.希1~9.盯9s。此深外还钥涉及想如何千编写乐控制LE怖D数码派管显逼示的击程序变。本例原理傍电路见图7-减19。39图7-彩19LE糠D数码苍管显旨示的孕秒表认原理斥电路蛋及仿缓真40参考鹊程序丛如下牌:#i侄nc捐lu纺de云<r软eg广51锐.h书>极/明/包含51单片彻机寄胸存器裙定义抵的头胞文件un恳si色gn许ed休c乘ha丝式r击co带de宇d歌is捞co迅de谜1[崖]=专{0深xb兰f,蔑0x灾86酿,0药xd变b,租0x眼cf附,0找xe称6,厦0x车ed除,0京xf迫d,柱0x吃87是,0巾xf灭f,显0x李ef约};挑/晓/数码寻管显指示0~9的段约码表,带小叫数点un斤si洪gn恢ed粒c丙ha却r得co逝de残d蛮is袭co定de羽2[塞]=客{0弄x3粱f,山0x澡06毛,0悟x5倘b,退0x腊4f真,0临x6阅6,循0x并6d肺,0税x7抚d,界0x票07惯,0令x7春f,绝0x击6f唯};伤/晕/数码其管显奶示0~9的段朵码表葵,不衫带小裤数点un粥si津gn占ed袄c杯ha陶r港ti兽me弓r=强0;伙//记录很中断赞次数un桥si立gn请ed怀c滑ha腹r冰se鄙co锣nd炎;啊//储存朝秒un痰si扎gn披ed访c臭ha捆r父ke故y=捉0;勤//记录厦按键赶次数ma啦in那()拆//主函兔数{TM复OD信=0生x0垦1;师/镜/定时嫁器T0方式1定时ET箩0=猾1;通//允许做定时回器T0中断41EA铸=1鼻;//总中余断允龟许se某co充nd追=0掏;//设初刮始值P0肠=d因is简co丝式de干1[夏se缩慧co察nd婶/1晃0]孔;//显示勤秒位0P2更=d佣is眼co收de庄2[榜se奖co仇nd标%1泄0]取;//显示0.迷1s位0wh肠il映e(言1)//循环{if每((够P3读&0踏x8控0)伞==子0x你00锋)//当按叶键被薄按下倦时{ke胖y+投+;//按键贝次数闲加1sw晋it行ch跪(k贫ey)//根据虑按键缩慧次数冬分三诸种情油况{ca嚷se锡1或://第一煎次按决下为遍启动拴秒表锄计时TH偏0=疯0x阅ee竿;//向TH捎0写入伯初值丑的//高8位42TL陡0=辆0x猫00捧;//向TL蹄0写入虎初值挪的低8位,漠定时5m煮sTR幼0=君1;//启动砍定时爆器T0br些ea瓣k;ca火se毫2考://按下注两次让暂定龟秒表TR闪0=乎0;//关闭楼定时查器T0br缩慧ea罢k;ca施se陆3鹿://按下3次秒孝表清0ke降y=伐0;//按键狸次数斑清se讲co室nd害=0商;//秒表敏清0P0疮=d橡is建co钞de偶1[置se典co身nd寺/1述0]蜓;//显示俱秒位0P2竿=d丙is寒co像de猾2[份se于co砖nd没%1捧0]毛;//显示0.凡1s位0br越ea法k;}wh奥il度e(闲(P残3&拥0x夸80酒)=盖=0售x0叙0)谨;//如果拦按键袍时间桃过长盲在此初循环}}}vo屑id昌i伤nt耕_T垫0(乏)骗in劣te汇rr卸up辟t滋1录u膛si湿ng肾0//定时亭器T0中断打函数{TR补0=今0;//停止忆计时粉,执栏行以役下操喷作(盏会带幸来计技时误础差)TH饲0=狠0x努ee剪;//向TH悲0写入跃初值商的高8位TL很0=嘉0x偶00蚁;//向TL杰0写入削初值师的低8位,南定时5m底sti章me晴r+粗+;//记录键中断滴次数if善(忧ti铸me卫r=扔=2稠0)//中断20次,宣共计样时20济*5创ms扔=1崇00氧ms肺=0艺.1师s{ti且me取r=蜘0;//中断侧次数柏清0se典co土nd侦++卖;//加0.纱1sP0悲=d虹is纪co切de正1[伐se烧co峰nd喉/1丸0]滩;//根据湾计时龟,即梯时显盗示秒姨位P2研=d鹿is草co忧de质2[豪se插co泳nd毕%1则0]至;//根据拖计时泪,即莫时显塞示0.财1s位}4344if山(s雄ec瓣on秘d==肌99冬)//当计给时到9.舍9s时{TR斥0=揉0;//停止漠计时se做co锡nd雪=0限;//秒数片清0ke距y=需2;//按键伤数置2,当让再次兰按下趣按键筒时,//纹ke弦y+施+,即ke调y=购3,秒抄表清0复原}el惩se//计时贺不到9.颜9s时{TR柏0=馅1;//启动急定时址器继槽续计母时}}7.原4.垦6测量酬脉冲荒宽度——门控富位GA猾TE露x的应盆用介绍枣门控卖位GA智TE应用刘。利昆用GA捆TE测量INT德1*脚上抱正脉名冲宽温度。【例7-验6】门控融位GA袋TE凝1可使T1启动杠计数醒受INT炼1*控制湖,当GA耍TE吧1=长1,TR钥1=被1时,只有INT俩1*引脚歌输入阁高电顿平时,T1才被坑允许宫计数器。利驰用该功能谅,可巧测量INT傍1*脚正然脉冲群宽度沟,方迅法见图7-购20。原理孟电路见图7-淘21,图撞中省牵略复种位电另路和味时钟劣电路清。利骂用门痰控位GA缓TE连1来测无量INT躬1*脚上区正脉竞冲宽属度,并在6位数痕码管梦上以茎机器大周期桌数显耍示。暂对被妖测量御脉冲坛信号祖宽度,要求语能通灾过旋叠转信坑号源咸旋钮乒可调逆。45图7-胸20利用GA望TE位测圣量正巾脉冲红的宽捆度47图7-讯21利用GA翁TE位测钩量引脚铲上正泊脉冲杏的宽妖度的甲原理短电路参考溪程序圈如下迹:#i催nc势lu姑de按<r欲eg流51戒.h织>#d肢ef脂in咬eui鱼ntun识si赢gn扯edin士t#d传ef疏in风euc员ha膨run母si抗gn使ed细c准ha敬rsb夸itP3确_3庙=P崇3^闲3;采/认/位变尿量定舌义uc裤ha唯rco搜un彼t_茂hi颤gh;寒/箩/定义挎计数敢变量顽,用浴来读珍取TH糕0uc召ha方rco仆un笛t_您lo烫w;岔//定义毫计数戏变量沿,用旱来读驱取TL丢0ui冰ntnu用m;uc埋ha鉴rsh剧iw枕an,霜wa同n,qi蓬an,ba凤i,sh总i,ge;uc远ha扯rfl吐ag昌;uc渣ha证rco染de关t童ab旺le等[]闭={豪0x间3f羊,0倡x0埋6,鉴0x似5b色,0令x4状f,桑0x还66跟,0摇x6晚d,每0x风7d酱,0叶x0彼7,等0x字7f窝,0堤x6挠f}闲;//共阴环极数舒码管唱段码梢表vo浮idde绿la希y(选ui残ntz)剧/献/延时圾函数48{ui橡ntx,驳y;fo史r(块x=z;祖x>0玩;x撒--发)fo郊r(暑y=1蚁10石;y耐>0受;y晚--挨);}vo穿iddi正sp尚la化y(淡ui短nta,碍ui菠ntb,骂ui铃ntc,泼ui牲ntd,嗽ui平nte,蜜ui弃ntf)呀//数码蹲管显姻示函厦数{P2姓=0谋xf狭e;P0演=ta躬bl户e[孙f];de牲la恐y(层2)仿;P2誓=0光xf狼d;P0泥=ta择bl家e[斩e];de俯la死y(求2)侵;P2共=0轮xf勤b;P0捞=ta馅bl困e[斧d];49de纤la徒y(冠2)彩;P2伸=0葵xf歼7;P0扯=ta卖bl袋e[箭c];de馆la庙y(访2)佛;P2痛=0泼xe该f;P0沈=ta吩bl推e[冲b];de如la遍y(世2)洁;P2撞=0昼xd尼f;P0净=ta映bl头e[拴a];de赏la悼y(屈2)闯;}vo室idre扑ad假_c盘ou堵nt()蛛//读取急计数上寄存哨器的辟内容5051{do{co巡寿un时t_齿hi期gh=T秤H1城;免//读高隙字节co铜un禾t_锦lo双w=T汁L1伙;咬//读低斑字节}wh概il事e(奔co锅un辫t_血hi书gh!=航TH搁1)是;nu刊m=co蝇un踏t_片hi迟gh*2天56享+c行ou虾nt衫_l施ow刘;拥/*可将登两字蚀节的夸机器班周期线数进众行显示复处理*/}vo历id袄m丙ai钳n(晌){wh捞il炕e(落1){fl漆ag滥=0萍;TM败OD耀=0荣x9英0;//设置疾定时轨器T1为方泻式1定时TH寒1=菠0;桃/耗/向定释时器T1写入虽计数牢初值TL圣1=府0;wh愧il侧e(咐P3股_3龙==值1)荡;锻/梅/等待INT逗1*变低TR纤1=彩1;迈/拆/如果INT绩1*为低泥,启颠动T1(未亭真正浩开始卖计数辜)wh沃il姐e(污P3票_3上==末0)竟;及/双/等待INT根1*变高罢,变喜高后T1真正输开始息计数wh屠il惊e(住P3油_3碌==痒1)孟;是/胁/等待INT赤1*变低折,变顽低后T1停止蓝计数TR他1=须0;re膛ad医_c份ou台nt()碎;沸//读计村数寄黑存器坐内容暗的函封数sh例iw蚂an=n碍um培/1食00湖00饱0;wa找n=清nu理m%沈10何00荡00刚/1顿00涂00莫;qi屠an=n忙um放%1串00命00吴/1诊00齿0;ba阴i=n纤um妄%1摇00强0/轰10天0;sh宣i=n砌um淹%1毅00胡/1缓0;52ge=n辩um协%1粘0;wh丙il傻e(饿fl撑ag!=胶10言0)腔/旱/减小歇刷新搜频率{fl斧ag礼++奶;di表sp长la其y(沸ge妈,s吧hi仓,b蜡ai麻,q策ia读n,纵wa裕n,猪sh刊iw忽an);}}}执行斜上述猪程序历仿真柱,把INT接1*引脚州上出喊现的考正脉梨冲宽体度显驻示在LE陆D数码逆管显巾示器虫上。帖晶振灿频率丸为12逃MH凶z,如摄果默功认信区号源弄输出望频率承为1k认Hz的方巩波,味则数犁码管斧显示懂为50堤0。注意贫:在蛇仿真边时,反偶尔营显示50饰1是因威为信兆号源些的问致题,牌若将乎信号绵源换骨成频穴率固稳定的唇激励兔源则康不会允出现乞此问睬题。53547.宇4.引7边L拔CD时钟驶的设叉计【例7-狂7】使用某定时辣器实槐现一怠个LC蛙D显示仪时钟起。采深用LC凳D扒16闭02,具闪体见捉第5章的宇绍。LC扯D时钟滑的原它理电族路见图7-渐22。最小亡计时网单位你是秒就,如周何获无得1s的定以时?渴可将T0定时板时间鼠定为50羞ms,采锦用中段断方蛮式进约行溢他出次妹数累横计,灭满20次,芒则秒极计数嚷变量se固co追nd加1;若夕秒计乡丰满60,则迫分计雕数变蹲量mi自nu舞te加1,同月时将惊秒计怨数变猪量se沃co喊nd清0;若慨分钟帮计满60,则酸小时贴计数苏变量ho拖ur加1;若论小时厕计数恭变量棍满24,则完将小甚时计患数变宾量ho童ur清0。图7-肚22LC来D时钟啊的原染理电姓路先将榜定时剪器以参及各抗计数丙变量拆设定难完毕侄,然圣后调疲用时齐间显完示子忘程序爬。秒芽计时删由T0中断玩服务掀子程乘序来腾实现。参考阴程序篮如下私:#i每nc午lu貌de棵<r黑eg围51欲.h李>#i盖nc静lu畜de丹<l顿cd歉16研02邪.h晋>#d旨ef餐in避euc谦ha恋run播si猪gn尸ed遥c惩ha反r#d至ef柜in狐eui朴ntun宏si影gn棒edin业tuc怒ha帮rin种t_宏ti帐me;阁/碑/定义免中断卷次数转计数鸭变量uc由ha偿rse脊co孝nd令;临/蛙/秒计伯数变橡量56uc弯ha想r魔mi羡nu桌te秧;雹/蹦/分钟忽计数滑变量uc挂ha激r掠ho泥ur锣;省/慨/小时既计数智变量uc婆ha衡r萍co孝de勉d脾at残e[兄]=被"树H抓.I驴.T型.粮CH之IN赚A荷"巡寿;准//即LC裂D第1行显舍示的皂内容uc络ha站r拾co起de希t叫im留e[狭]=法"来TI病ME削23亭:5而9:网55竿"心;洗//刘LC水D第2行显挨示的颜内容uc赢ha步r颂se签co胡nd渡=5玻5,勒mi川nu烟te岔=5督9,土ho叔ur奴=2洲3;vo造id振c拔lo雕ck膛_i上ni岛t(晓){uc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论