




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机定时器实验实验三单片机内部定时器应用实验目的1、理解单片机内部左时器的工作原理及使用方法2、了解单片机圧时中断程序的编写与调试方法3、掌握定时器的基本使用方法实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验原理1、单片机泄时器的工原理MCS-51单片机内部有两个16位可编程的左时器川数器TO它们即可用作泄时器方式,又可用作计数器方式。其中TO由TH0与TLO计数器构成汀1由TH1与TL1计数器 构成。工作于定时器方式时,通过对机器周期(新型51单片机可以对振荡周期讣数)的计数,即每 一个机器周期左时器加1,来实现泄时。故系统晶振频率直接影响泄时时间。如果晶振频率为 12MHZ,则定
2、时器每隔(1/12MHZ)X 12=lus 加1。工作于计数器方式时,对P3、4或P3、5管脚的负跳变(1 一0)汁数。它在每个机器周期的 S5P2时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,计数器加1。 因此需要两个机器周期来识别一个有效跳变,故最高计数频率为晶振频率的1/24。特殊功能寄存器TMOD用于左时器/计数器的方式控制。髙4位用于设巻T1,低4位用 于设置TO。如图4-7所示。D7 D6 D5 D4 D3 D2 DI DOTMODGATECTMlMO(i.ATI( 1MlMO-T1方式控制-,TO方式控制-图4-7立时器模式控制字格式TCON寄存器用于左时器
3、的汁数控制与中断标志。如图4-8所示。D7 D6 D5 D4 D3 D2 DI D0TCONTF1TRITFOTROIE1IT1IEOITO用于外部中断图4-8左时控制寄存器数搦格式编写程序控制这两个寄存器就可以控制定时器的运行方式。单片机内部左时器/计数器的使用,简而概之:(1)如需用中断,则将EA与相关中断控制位 置1;(2)根据需要设置工作方式,即对TMOD设置;(3)然后启动计数,即对TRO或TR1置1。(4)如 使用中断,则汁数溢岀后硬件会自动转入中断入口地址;如使用査询,则必须对溢出中断标志 位TFO或TF1进行判断。单片机定时器实验2、用定时器编写一个秒计时器假设系统使用的晶振频
4、率为12MHz,即每个机器周期为lus。如使用方式1,则左时时间最 长就是2X lus=65536us=65、536ms,小于Is。故必须设置一个软件计数单元,即假设左时器 立时中断时间为50ms.则必须左时中断20次才达到Is并对秒计时单元加1.20即为软件计数次 数。最后再把秒计时单元的值转成显示数码送显示缓冲区。图4-9左时器应用程序流程图实验内容1、单片机定时器秒计时器 LEDCLKBITP3. 4;LEDDIN BITP2. 3;LEDDATA DATA P0;DSEG AT 30Hdispbuf: ds 8:、显示缓冲区 timetick:ds 1second:ds1minute:
5、ds1hour:ds1TIMECOUNT EQU 50000CSEG at 0000HSJMP MAINORG 000BHUMP P_T0ORG 0030;中断服务程序P_T0:PUSH PSWPUSH ACC单片机定时器实验PUSH DPHPUSH DPLMOV THO,#(65535-TIMECOUNT)/256MOV TLO.#(65535-TIMECOUNT)MOD 256SETB RSO;后而所使用的ROr7DJNZ timetick.P_TO2MOV timetick.#2OINC second; cjne second.#60,P_T01;MOV SECONDS; inc min
6、ute;P_T01: MOV A,secondMOVB.#100DIV ABMOV R0.#dispbuf+2MOV R0,ADEC ROMOV A.BMOV B.# 10DIV ABMOV R0.ADEC ROMOV R0.BP_T02: CLR RSOPOP DPLPOP DPHPOP ACCPOP PSWRETIMAIN:mov sp.#60hMOV dispbuf.#OMOV dispbuf+l,#OMOV dispbuf+2,#0MOV dispbuf+3,#0MOV dispbuf+4,#0MOV dispbuf+5.#0MOV dispbuf+6,#0MOV dispbuf+7,
7、#0MOV THO.#(65535-TIMECOUNT)/256;3CAFMOV TLO.#(65535-TIMECOUNT)MOD 256;MOVTMOD,#01H;设立定时器的T作方式SETB ET0;允许TO溢出中断SETB TR0;启动 10单片机定时器实验SETB EA;开启总中断MAIN1:ACALL DISPSJMPMAIN1DISP:MOV R6.#8MOV RO,#dispbufCLR LEDCLKCLR LEDDINNOPDISP1: SETB LEDCLKMOVA.ROMOV DPTR.#LEDTABMOVCA,A+DPTRMOV LEDDATA.A;MOV R7.#5A
8、CALL Delay NmsINC ROSETB LEDDINCLR LEDCLKDJNZ R6.DISP1RET;大延时Delay Nms:DI: ACALLDelay 1msDJNZ R7,D1RET;延时子程序Delay Ims:push 07mov R7,#250delay 1:NOPNOPDJNZ R7,delay 1POP 07RETLEDTAB:DB 03H.9FH.25H0DH:02,3DB 99H.49H.41H,1FH;4,5,6,7DB 01 H.09H1 H.OC 1H:8.9.A.BDB 63H85H61H.71H;UDE,FEND2、修改上而的程序,设汁一个N秒倒计
9、时器(N为学号后两位)。倒计时时间到后,重新开始计 时。LEDCLK BIT P3、4;LEDDIN BITP2. 3;单片机定时器实验LEDDATA DATA P0;DSEG AT 30Hdispbuf: ds 8:、泌示缓冲区timetick: ds 1second:ds 1minute:ds 1hour:ds 1TIMECOUNT EQU 50000CSEG at 0000HSJMP MAINORG 000BHUMP P_T0ORG 0030比中断服务程序P_T0:PUSH PSWPUSH ACCPUSH DPHPUSH DPLMOV TH0,#(65535TIMECOUNT)/256M
10、OV TLO.#(65535-TIMECOUNT)MOD 256SETB RSO;后而所使用的R0r7DJNZ timetickP_T01MOV timetick,#20dec secondMOV A.secondCJNEA,#00.P_T01MOV SECOND.#33P_T01: MOV A.secondMOV B.# 100DIV ABMOV R0.#dispbuf+2MOV R0,ADEC ROMOV A.BMOVB.#10DIV ABMOV R0.ADEC ROMOV R0.BCLR RSOPOP DPL单片机定时器实验POP DPHPOP ACCPOP PSWRETIMAIN:mo
11、v sp.#60hMOV dispbuf.#OMOV dispbuf+L#OMOV dispbuf+2,#OMOV dispbuf+3.#OMOV dispbuf+4,#0MOV dispbuf+5,#OMOV dispbuf+6,#0MOV dispbuf+7,#O mov timetick,#20 mov second.#3 3MOV THO.#(65535-TIMECOUNT)/256;3CAFMOV TLO.#(65535-TIMECOUNT)MOD 256;MOV TMOD,#01HSETB ETO;允许TO溢出中断SETB TRO;启动 10SETB EA;开启总中断MAINl:A
12、CALL DISPSJMPMAIN1DISP:MOV R6.#8MOV RO.#dispbufCLR LEDCLKCLR LEDDINNOPDISP1: SETB LEDCLKMOVA.ROMOV DPTR.#LEDTABMOVCA,A+DPTRMOV LEDDATA.A;MOV R7.#5ACALL DelayNmsINC ROSETB LEDDINCLR LEDCLKDJNZ R6.DISP1RET:大延时DelayNms:单片机定时器实验DI: ACALLDelay 1msDJNZ R7,D1RET; 延时子程序Delay Ims:push 07mov R7,#250delay 1:NO
13、PNOPDJNZ R7,dclaylPOP 07RETLEDTAB:DB 03H.9FH.25H.0DH;0.1,23DB 99H.49H.41HFH:4,5,6,7DB 01 H.09H1 H.OC 1H:8.9.A.BDB 63H,85H,61H,71H;C,D.E,FEND1、在实验程序基础上编写一个24小时计时时钟LEDCLKBITP3、4:LEDDINBIT P2. 3;LEDD/VTA DATA P0:DSEG AT 30Hdispbuf: ds 8;显示缓冲区timetick: ds 1second:ds 1minute:ds 1hour:ds 1TIMECOUNT EQU 50
14、000CSEG at 0000HSJMP MAINORG 000BHLJMP P_T0ORG 0030比中断服务程序P_T0:PUSH PSWPUSH ACCPUSH DPHPUSH DPLMOV TH0,#(65535-TIMECOUNT)/256MOV TLO,#(65535-TIMECOUNT)MOD 256SETB RSO;后而所使用的R0r7DJNZ timetick.P_T02单片机定时器实验MOV timetick,#2OINC secondMOV A.secondCJNEA.#60P_T01;秒MOV SECOND.#。inc minute;MOV A.minutc;分CJNE
15、 A#60PT01INC HOUR;时MOV A.HOURCJNEA,#12.PT01MOV HOUR.#。P_T01: MOV A,secondMOV B,# 100DIV ABMOV R0,#dispbuf+2MOV R0,ADEC ROMOV A.BMOV B,# 10DIV ABMOV R0.ADEC ROMOV R0BP_T02: CLR RSOPOP DPLPOP DPHPOP ACCPOP PSWRETIMAIN:mov spjt60hMOV dispbuf.M)MOV dispbuf+l.#OMOV dispbuf+2.#0MOV dispbuf+3.#0MOV dispbuf
16、+4.#0MOV dispbuf+5.#0MOV dispbuf+6.#0MOV dispbuf+7.#0MOV THO,#(65535-TIMECOUNT)/256;3CAFMOV TLO,#(65535-TIMECOUNT)MOD 256;MOVOD#01比设宦宦时器的匸作方式SETB ET0;允许T0溢出中断单片机定时器实验SETB TRO;启动 10SETB EA;开启总中断MAIN1:ACALL DISPSJMPMAIN1DISP:MOV R6,#8MOV RO,#dispbufCLR LEDCLKCLR LEDDINNOPDISP1: SETB LEDCLKMOV A, ROMOV DPTR.#LEDTABMOVCA,A+DPTRMOV LEDDATA.A;MOV R7,#5ACALL DelayNmsINC ROSETB LEDDINCLR LEDCLKDJNZ R6QISP1RET;大延时DelayNms:DI: ACALLDelay 1msDJNZ R7.D1RET: 延时子程序Delay Ims:push
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供暖项目转让合同标准文本
- 会场出租合同标准文本
- 农村地皮出售合同样本
- 行业专家的知识分享与传播计划
- 上海住房合同标准文本
- 人防工程租用合同样本
- 出售塔吊电缆合同标准文本
- 冷冻食品合同样本
- 兼职合同样本正规
- 出售旧木头房屋合同标准文本
- 2025年东北三省四城市(哈尔滨、沈阳、长春、大连)联考暨沈阳市高三质量监测语文(二)
- (省统测)贵州省2025年4月高三年级适应性考试(选择性考试科目)地理
- 香港专才移民合同协议
- 2025-2030中国汽车冲压件行业发展分析及投资前景预测研究报告
- 销售人员提成及薪酬制度++副本
- 第四章 问题解决策略:特殊化 课件 2024-2025学年北师大版七年级数学下册
- 高空清洗施工安全的协议书6篇
- 口腔科防控课件
- 针对项目实施的重点、难点的分析和解决方案
- 南宁2025年3月高三二模英语试卷
- 儿童生长发育迟缓
评论
0/150
提交评论