欢迎来到天天文库
浏览记录
ID:58686008
大小:174.50 KB
页数:9页
时间:2020-10-12
《实验三 定时器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告本课程名称:单片机设计实验三指导老师:张涛班级:电信姓名:学号:2011~2012学年度第一学期广东石油化工学院计算机与电子信息学院实验三定时器实验一、实验目的1、掌握单片机系统定时器断的原理及使用方法。2、掌握矩阵键盘实现方法。3、掌握串口传送的实现方法二、实验内容1、见图一。假设单片机晶振频率设定为12MHz。用中断方式来完成以下要求,且通过虚拟示波器观看波形。A、使用定时器1以方式1产生周期为500us的等宽方波连续脉冲,并由P1.0输出。用中断方式来完成。#include#defineuintunsign
2、edint#defineucharunsignedcharsbitout=P1^0;voidmain(){out=1;TMOD=0x10;TH1=(65536-250)/256;TL1=(65536-250)%256;EA=1;ET1=1;TR1=1;while(1);}voidtimer1()interrupt3{TH1=(65536-250)/256;TL1=(65536-250)%256;out=~out;}B、完成A功能,用查询方式来完成#include#defineuintunsignedint#defineu
3、charunsignedcharsbitout=P1^0;voidmain(){out=1;TMOD=0x10;TH1=(65536-250)/256;TL1=(65536-250)%256;EA=1;ET1=1;TR1=1;while(1){while(TF1==0);TF1=0;out=~out;TH1=(65536-250)/256;TL1=(65536-250)%256;}}C、使用定时器0以方式2产生周期为200us的等宽方波连续脉冲,并由P1.1输出。用中断方式来完成。#include#defineuintu
4、nsignedint#defineucharunsignedcharsbitout=P1^1;voidmain(){out=1;TMOD=0x20;TH0=256-100;TL0=256-100;EA=1;ET0=1;TR0=1;while(1);}voidtimer0()interrupt1{TH0=256-100;TL0=256-100;out=~out;}D、编程使T0工作于定时工作方式1,产生500us等宽方波从P2.7输出。T1工作于计数工作方式2,其计数外部脉冲由T0产生,即P2.7引脚与P3.5(T1引脚)相连,T1每计数1
5、00个,P1.2取反输出一次。#include#defineuintunsignedint#defineucharunsignedcharsbitout=P2^7;sbitout1=P1^2;uchara;voidmain(){out=1;out1=1;a=0;TMOD=0x61;TH0=(65536-500)/256;TL0=(65536-500)%256;TH1=0;TL0=0;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;while(1){if(a==100){out1=~out1;a=0;}}}voi
6、dtimer0()interrupt1{out=~out;a++;TH0=(65536-500)/256;TL0=(65536-500)%256;}图一2、见图二。假设单片机晶振频率设定为12MHz。完成以下功能。(按键元件名称BUTTON)A、通过外部按键(INT1引脚连接)以中断方式控制LED的上移和下移。(利用连接R2R3的2个按键实现LED的上移和下移)#include#include#defineucharunsignedchar#defineuintunsignedint//sbitP3
7、3=P3^3;uchartemp,kdown=0x00;voidint_1();//外部中断0voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidmain(){//P33=1;P1=0xff;temp=0xfe;EA=1;EX1=1;//INT1中断开IT1=0;//INT1低电平触发(为1则为下降沿触发)while(1){if(kdown==1){switch(P3){case0xf7:temp=_crol_(temp,1);P1=temp;delay(100
8、);break;case0xef:temp=_cror_(temp,1);P1=temp;delay(100);break;}}}}voidint_1()interrupt2{kdown=0x
此文档下载收益归作者所有