定时器、计数器产生方波实验

定时器、计数器产生方波实验

ID:39556727

大小:557.00 KB

页数:4页

时间:2019-07-06

定时器、计数器产生方波实验_第1页
定时器、计数器产生方波实验_第2页
定时器、计数器产生方波实验_第3页
定时器、计数器产生方波实验_第4页
资源描述:

《定时器、计数器产生方波实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三定时器计数器实验一、实验目的:1、掌握单片机定时器的工作原理,体会定时器的使用特点。2、进一步掌握中断的技术编程方法和特点。3、体会用定时器中断扫描键盘,以提高CPU的效率。二、实验仪器:1、proteus软件2、keil软件三、实验内容:1、在P1.0脚上输出某周期(具体周期可以自选)的方波,方波的周期和定时器的工作方式自选,单片机的频率可以设为12MHZ或6MHZ,并根据自己选定的上述三者的值,给出初值的计算。1)初值计算:(例如:某周期的方波需要定时器产生连续的定时信号,可选用T0方式2或T1方式,自动装

2、入参数的8位定时方式。单片机的主频为11.0592MHz,定时器初始值应为:256-0.25×1000×11.0592/12=26=1AH)①方波周期为1ms,晶振频率为6MH定时器初始值:机器周期=2us设装入初值为X,则:(2^16-X)*(2*10^(-6))=5*10^(-4)解得X为:X=65286,即X=0xFF06;②方波周期为200us,晶振频率为12MH定时器初始值:机器周期=1us设装入初值为X,则:(2^8-X)*(1*10^(-6))=100*10^(-6)解得X为:X=156,即X=0x9c

3、。2)程序:①/*****方波产生程序1:*****//***参数如下:***//*方波周期:1ms/*定时器方式:方式1/*晶振频率:6MH/*************************/ORG0000H;程序运行入口-4-RESET:AJMPMAIN;跳向主程序入口ORG000BH;T0中断入口AJMPIT0P;转入T0中断处理程序ORG0100H;主程序入口MAIN:MOVSP,#80H;设堆栈指针MOVTMOD,#01H;设置T0为方式1定时ACALLPT0M0;调用定时器初始化程序HERE:AJMPH

4、ERE;等待中断PT0M0:MOVTL0,#06H;计数初值低8位MOVTH0,#0FFH;计数初值高8位SETBET0;T0中断允许SETBEA;总中断允许SETBTR0;启动T0IT0P:MOVTL0,#06H;T0中断子程序,重装初值低8位MOVTH0,#0FFH;重装初值高8位CPLP1.0;P1.0状态取反RETI;中断返回END;汇编终止命令②/*****方波产生程序2:*****//***参数如下:***//*方波周期:200us/*定时器方式:方式2/*晶振频率:12MH/**************

5、***********/ORG0000H;程序运行入口RESET:AJMPMAIN;跳向主程序入口ORG000BH;T0中断入口AJMPIT0P;转入T0中断处理程序ORG0100H;主程序入口MAIN:MOVSP,#80H;设堆栈指针MOVTMOD,#02H;设置T0为方式1定时ACALLPT0M0;调用定时器初始化程序HERE:AJMPHERE;等待中断PT0M0:MOVTL0,#9CH;计数初值低8位MOVTH0,#9CH;计数初值高8位SETBET0;T0中断允许SETBEA;总中断允许SETBTR0;启动T

6、0IT0P:MOVTL0,#9CH;T0中断子程序,重装初值低8位MOVTH0,#9CH;重装初值高8位CPLP1.0;P1.0状态取反RETI;中断返回END;汇编终止命令运行程序,用示波器观察波形的脉宽和周期。3)仿真图(要求截图中有示波器的波形和半个周期的量程)。①仿真电路:-4-②方波产生程序1:(程序见附录1)③方波产生程序2:(程序见附录2)-4-附录一、附录1:二、附录2:-4-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。