实验三定时器、计数器应用实验二665.pdf

上传人:得** 文档编号:79423613 上传时间:2023-03-21 格式:PDF 页数:8 大小:186.97KB
返回 下载 相关 举报
实验三定时器、计数器应用实验二665.pdf_第1页
第1页 / 共8页
实验三定时器、计数器应用实验二665.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《实验三定时器、计数器应用实验二665.pdf》由会员分享,可在线阅读,更多相关《实验三定时器、计数器应用实验二665.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、定时器/计数器应用实验二 设计性试验 2012年 11 月 21 日星期三 第三四节课 一、实验目的 1、掌握定时器/计数器计数功能的使用方法。2、掌握定时器/计数器的中断、查询使用方法。3、掌握 Proteus软件与 Keil软件的使用方法。4、掌握单片机系统的硬件和软件设计方法。二、设计要求 1、用 Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满 100个脉冲,则取反 P1.0口线状态,在 P 1.0口线上接示波器观察波形。2、用 Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数

2、功能,对外部连续周期性脉冲信号进行计数,每计满 200个脉冲,则取反 P1.0口线状态,在 P 1.0口线上接示波器观察波形。三、电路原理图 开始系统初始化装计数初值并启动定时器定时?时间到 输出取反结束清除溢出标志NY四、实验程序流程框图和程序清单及实验结果/*设计要求:(1)单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满 100个脉冲,则取反 P1.0口线状态,在 P1.0口线上接示波器观察波形 编写:吕小洋 时间:2012年 11 月 16 日 18:09:40*/ORG 0000H START:LJMP MAIN ORG 0100H MAI

3、N:MOV SP,#2FH CLR EA ;关总中断 CLR ET1 ;禁止定时器 1 中断 MOV TMOD,#01100000B;设置计数器 1 为工作方式 2 MOV TH1,#9CH ;设置计数初值 MOV TL1,#9CH SETB TR1 ;启动计数器 LOOP:JNB TF1,LOOP ;查询计数是否溢出 CPL P1.0 ;输出取反 CLR TF1 ;清除计数溢出标志 LJMP LOOP ;重复取反 END /C语言编程/#include reg52.h sbit P1_0=P10;void main()TMOD=0 x50;/*T/C1工作在定时器方式 1*/TR1=1;/*

4、启动 T/C1*/for(;)TH1=(65536-100)/256;/*装载计数初值*/TL1=(65536-100)%256;do /*查询等待 TF1置位*/while(!TF1);P1_0=!P1_0;/*定时时间到 P1.0取反*/TF1=0;/*溢出标志清零*/启动定时器等待中断输出取反中断返回开始开始中断初始化TMOD初始化计数初值初始化结束/*设计要求:(2)单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满 200个脉冲,则取反 P1.0口线状态 在 P1.0口线上接示波器观察波形 编写:吕小洋 时间:2012年 11 月 16 日

5、18:48:04*/ORG 0000H START:LJMP MAIN ORG 001BH LJMP TTC1 ORG 0100H MAIN:MOV SP,#2FH SETB EA ;开总中断 SETB ET1 ;定时器 1 允许中断 MOV TMOD,#60H ;设置 T1 为工作方式 2 MOV TH1,#38H ;设置计数初值 MOV TL1,#38H SETB TR1 ;启动定时器 HERE:LJMP HERE ;等待中断/*中断服务程序*/ORG 0200H TTC1:CPL P1.0 ;输出取反 RETI ;中断返回 END/C语言编程/#includereg52.h sbit P

6、1_0=P10;void main()EA=1;/*开总中断*/ET1=1;/*开 T/C1中断*/TMOD=0 x50;/*T/C1工作在定时器方式 1*/TH1=(65536-200)/256;/*装载计数初值*/TL1=(65536-200)%256;TR1=1;/*启动 T/C1*/while(1);void timer1()interrupt 3 /*T/C1中断服务程序入口*/P1_0=!P1_0;/*定时时间到 P1.0取反*/TH1=(65536-200)/256;/*装载计数初值*/TL1=(65536-200)%256;开始中断初始化TMOD初始化、定时 计数初始化、启动T

7、0 T1定时?时间到 输出取反清除溢出标志NY输出取反中断返回开始结束五、实验总结 通过本次试验,我掌握了定时器/计数器定时功能的使用方法,能够利用定时器/计数器以查询、中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数。同时掌握了单片机系统的硬件和软件设计方法。六、思考题 1、利用定时器 0,在 P1.0 口线上产生周期为 200 微秒的连续方波,利用定时器 1,对 P1.0 口线上波形进行计数,满 50 个,则取反 P1.1 口线状态,在 P 1.1口线上接示波器观察波形。/*设计要求:利用定时器 0,在 P1.0 口线上产生周期为 200us的连续方波 利用定时器 1,对 P1

8、.0 口线上波形进行计数,满 50 个则取反平 P1.1 口线状态,在 P1.1 口线上接示波器观察波形 编写:吕小洋 时间:2012 年 11 月 16 日 20:07:08*/ORG 0000H START:LJMP MAIN ORG 001BH LJMP TTC1 ORG 0100H MAIN:MOV SP,#2FH MOV IE,#88H MOV TMOD,#62H;设置 T1 为计数功能(方式 2)、T0 为定时(方式 2)MOV TL0,#9CH MOV TH0,#9CH;设置定时 100us 初值 MOV TL1,#0CEH MOV TH1,#0CEH;设置计数 50 个初值 S

9、ETB TR0 ;启动定时器 SETB TR1 ;启动计数器 LOOP:JNB TF0,LOOP;查询定时时间是否已到 CPL P1.0 ;输出取反 CLR TF0 ;清除计数溢出标志 LJMP LOOP TTC1:CPL P1.1 ;输出取反 RETI END/C语言编程/#include reg52.h sbit P1_0=P10;sbit P1_1=P11;void main()IE=0 x88;TMOD=0 x51;/*设置T1为计数功能(方式1)、T0为定时(方式1)*/TL1=(65536-50)%256;TH1=(65536-50)/256;/*装载计数 50 个的计数初值*/TR0=1;/*启动 T/C1*/TR1=1;for(;)TL0=(65536-100)%256;TH0=(65536-100)/256;/*装载定时 100us的计数初值*/do /*查询等待 TF1置位*/while(!TF0);P1_0=!P1_0;/*定时时间到 P1.0取反*/TF0=0;/*溢出标志清零*/void timer1()interrupt 3 /*T/C1中断服务程序入口*/P1_1=!P1_1;/*定时时间到 P1.0取反*/TL1=(65536-50)%256;TH1=(65536-50)/256;/*装载计数 50 个的计数初值*/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁