试验三-定时器计数器应用试验一.docx

上传人:scccc 文档编号:12737749 上传时间:2021-12-05 格式:DOCX 页数:17 大小:268KB
返回 下载 相关 举报
试验三-定时器计数器应用试验一.docx_第1页
第1页 / 共17页
试验三-定时器计数器应用试验一.docx_第2页
第2页 / 共17页
试验三-定时器计数器应用试验一.docx_第3页
第3页 / 共17页
试验三-定时器计数器应用试验一.docx_第4页
第4页 / 共17页
试验三-定时器计数器应用试验一.docx_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《试验三-定时器计数器应用试验一.docx》由会员分享,可在线阅读,更多相关《试验三-定时器计数器应用试验一.docx(17页珍藏版)》请在三一文库上搜索。

1、实验三-定时器、计数器应用实 验一定时器/计数器应用实验一设计性试验2012年11月14日星期三第三四节课、实验目的1 、掌握定时器/计数器定时功能的使用方法。2 、掌握定时器/计数器的中断、查询使用方法。3 、掌握Proteus软件与Keil软件的使用方法。4 、掌握单片机系统的硬件和软件设计方法。、设计要求1 、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式 工作,在P1.0 口线上产生周期为200卩S的连续方波,在P 1.0 口线上接示波 器观察波形。2 、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1 口线上产生周期为240卩

2、S的连续方波,在P 1.1 口线上接示波器观察波形三、电路原理图定时劉计数器应用实验7刑 1i.WIP3P2-I 阿 2JM10 P2 3W1 陀.雲畑 =2.5_A13 PAAfAU F? 7'A15F3JjR© 叫m® 鬥EE Fj.jz i4 ru叭肃e po 5 JU 尸i f城匝F3.;/KD说叨,在P4OU竝上接一示披需次观察其产生的波形 制作主吕小痒时间,2012年"月9 口四、实验程序流程框图和程序清单及实验结果设计要求:(a)单片机的定时器/计数器以查询方式工作,在P1.0 口线上产生周期为200us的连续方波编写:吕小洋说明:用定时器1

3、的方式1以查询方式工作时间:2012年11月10日ORG0000HSTART: LJMPMAINORG0100H系统初始化MAIN: MOVSP,#2FHCLREA;关总中断CLRET1;禁止定时器1中断装计数初值并启动定时器#00010000B ;设置定时器1为工作方式1MOVTH1,#0FFH;设置计数初值MOVTL1,#9CHSETBTR1;启动定时器JNBTF1,LOOP;查询计数是否溢出MOVTH1,#0FFH;重置计数初值MOVTL1,#9CHCLRTF1;清除计数溢出标志CPLP1.0;输出取反LJMPLOOP;重复取反MOVTMOD,LOOP:定时间至V?重装计数初值清除溢出标

4、志输出取反END设计要求:(b)单片机的定时器/计数器以查询方式工作, 在P1.0 口线上产生周期为200us的连续方波 编写:吕小洋说明:用定时器0的免装初值方式2以中断方式工作时间:2012年11月10日*/ORGSTART: LJMP0000HMAINORG000BHLJMPTTC0ORG0100HMAIN:MOVSP,#2FHSETBEA;开总中断SETBET0;定时器0允许中断MOVTMOD,#02H;设置T0为工作方式2MOVTH0,#88H;设置计数初值MOVTL0,#88HSETBTR0;启动定时器HERE: LJMP HERE;等待中断/*中断服务程序*/ORG 0200HT

5、TCO: CPLP1.0;输出取反RETI;中断返回END五、实验总结通过本次试验,我掌握了定时器/计数器定时功能的使用方法,能够利用定时器 产生特定脉宽的波形,掌握了定时器/计数器的中断、查询使用方法。同时掌握 了单片机系统的硬件和软件设计方法。加强了自己的编程能力。六、思考题1 、在P1.0 口线上产生周期为500微秒,占空比为2: 5的连续矩形波。中断初始化/*(1)定时器0定时200us以杳询方式、方式 2 工作,定时器1定时300us以杳询方式、方式:1工作TMO初始化*ORG 0000HSTART: LJMP MAIN启动定时器TO计数初值 初始化清除溢出标志并关T0Y输出取反时间

6、至HORG 0100HMAIN: MOVSP,#2FHCLREACLRETO;J 禁输出取反;禁止定时器1中器T1*清除溢出标志并关T1CLRET1MOVTMOD, #00010010B启设置工作方MOVTH0,#37H;设置T0的计数初值MOVTL0,#37HMOVTH1,#0FEH;设置T1的计数初值MOV TL1, #0D4HSETB TRO;启动定时器0LOOP: JNB TFO, LOOP;查询计数是否溢出CPLP1.0;输出取反CLRTFO;清除TO计数溢出标志CLRTRO;关定时器0SETBTR1;启动定时器1LOOP1: JNB TF1, LOOP1CPLP1.0;输出取反MO

7、VTH1, #0FEH;重装计数初值MOVTL1, #0D4HCLRTF1;清除T1计数溢出标志CLRTR1;关闭定时器1SETBTRO;启动定时器0LJMPLOOP;重复循环END*(2)定时器o定时200us以中断方式、方式2工作,定时器1定时300us以中断方式工作)中断初始化*TMO初始化ORG 0000HSTART: LJMP MAINORG 000BHLJMP TTC0ORG 001BHLJMP TTC1ORG 0100HMAIN: MOV SP,SETB EASETB ET0计数初值初始化启动定时器T0等待中断#2FH;允许定时器重装定中T断;允许定时器计数初值SETB ET1M

8、OV TMOD, #00010010B ;设置 TO、T1都为工作方式1MOVTHO, #38H;设置T0的计数初值MOVTLO, #38HMOVTH1, #0FEH;设置T1的计数初值MOVTL1, #0D4HSETBTR0;启动定时器0HERE:SJMP HEREORG0200HTTCO: CPLP1.0;输出取反CLRTR0;关定时器0SETBTR1;启动定时器1RETIORG0300HTTC1: CPLP1.0;输出取反MOVTH1, #0FEH;重装计数初值MOVTL1, #0D4HCLRTR1;关闭定时器1SETBTR0;启动定时器0RETIEND*(3)定时器0定时200us以查

9、询方式工作, 定时器1定时300us以中断方式工作TMO初始化*ORG 0000HSTART: LJMP MAINORG001BHLJMPTTC1启动定时器T0输出取反计数初值 初始化清除溢出标志并关T0定时间至IORG0100HMAIN: MOV SP,#2FHSETBEACLRSETBET1MOV都为工作方式1;开总中断ET0TMOD,重装定时器T0 计数初值启动定时器T1IMOV初值MOVTH0,TL0,#0FFH#38H;设置T0的计数MOVTH1,#0FEH;重装T1计数初值MOVTL1,#0D4HSETBTR0;启动定时器0LOOP: JNB TF0, LOOP;查询 T0 计数是否溢出CPLP1.0;输出取反CLRTF0;清除T0计数溢出标志CLRTR0;关定时器0MOVTH0,#0FFH;重装T0计数初值MOVTL0,#38HSETBTR1;启动定时器1LJMPLOOPTTC1: CPLP1.0;输出取反CLRTR1;关闭定时器1SETBTR0;启动定时器0MOVTH1,#0FEH;重装T1计数初MOV TL1, #0D4HRETIEND

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1