实验五:定时器6103413018,刘玉奔.docVIP

  • 4
  • 0
  • 约2.41千字
  • 约 6页
  • 2019-04-11 发布于江苏
  • 举报
南昌大学实验报告 学生姓名: 刘玉奔 学 号: 6103413018专业班级: 生物医学工程141班 实验类型:□ 验证 □ 综合 □设计 □ 创新 实验日期: 2016.11.15实验成绩: 一、实验项目名称 内容:定时器 任务一:每按一下SW17或者SW18启动24秒倒计时定时器,结束后数码管闪烁,再按一下重新开始 任务二:测量方波信号频率:用定时器实现可变频率信号输出,然后用定时器1测量这个信号的频率 二、实验目的 1:以便熟练掌握C语言编程,2:以便熟练使用I/O口操作,3:以便熟练使用开发软件,4:以便熟练使用实验箱,5:以便熟练学会测试程序,6:以便熟练使用定时器T0,T1的定时计数功能,学会可编程时钟输出功能。 三、实验基本原理 1.工作方式寄存器TMOD B7 B6 B5 B4 B3 B2 B1 B0 GATE C/T非 M1 M0 GATE C/T非 M1 M0 说明:M1,M0为T0,T1工作方式选择位。 M1 M0 工作方式 功能 00 方式0 自动重装16初值 01 方式1 不可重装16初值 10 方式2 自动重装8位初值 11 方式3 不做要求 说明: (1)C/T非:为0,定时模式;为1,计数模式 (2)GATE:一般为0,软件控制TR0或TR1置一即可启动定时/计数功能 2.定时/计数器控制寄存器TCON B7 B6 B5 B4 B3 B2 B1 B0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 说明: (1)TF1:定时/计数器1溢出标志位。溢出时,自动置一,中断允许响应中断,自动清零;查询则由软件清零。 (2)TR1:定时/计数器1运行控制位。软件控制。 TF0,TR0同上。 3.辅助寄存器AUXR B7 B6 B5 B4 B3 B2 B1 B0 T0X12 T1X12 UART_M0X6 T2R T2_C/T非 T2X12 EXTRAM S1ST2 (1)T0X12:用于设置定时/计数器0的定时计数脉冲分频系数。T0X12=0,12分频。 T0X12=1,无分频。 (2)T1X12, T2x12同上。 (3)T2R:定时/计数器2运行控制位。 4:工作方式 方式0:定时时间=(65536-T0定时器的初始值)*系统时钟周期*12^(1-T0X12) 方式1:同上。 方式2:定时时间=(256-定时器的初值)*12^(1-T0X12)。 5:可编程时钟输出的控制 INT_CLKO B7 B6 B5 B4 B3 B2 B1 B0 - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO (1)T0CLKO:定时/计数器0时钟输出控制位。为1,P3.5口输出,为0:禁止输出 (2)T1CLKO:同上。为1:P3.4口输出,为0,不输出。 (3)T2CLKO:为1:P3.0输出,为0,不输出。 6:可编程时钟输出频率计算 可编程时钟输出频率为定时/计数器溢出率的二分频。 输出时钟频率CLKOUT=(1/2)T的溢出率。 四、主要仪器设备及耗材 开发软件: keil Uvision4,实验箱:STC高性能单片机实验箱 五、实验步骤 程序设计流程图如下: 频率计: 24秒倒计时: 解释:对于频率计,采用定时器T0控制定时时间,为频率计测定定时;T1采用计数器功能,在定时时间一定的情况下,测出频率。因为,最大计数值为65536,所以在计数溢出时,做相应调整可以扩大计数范围。 对于24秒倒计时,采用定时器T0定时时间,外部中断1开启定时器,外部中断0关闭开启起到暂停作用。通过,dat值的变化范围,可以进行倒计时显示,与闪屏显示的工作方式切换。 六、实验数据及处理结果 用keil编写的实验程序如下: 24秒倒计时: #includestc15.h #includeintrins.h #includegpio.h #include595hc.h signed char dat=24;//定义BCD计数单元 unsigned char cnt=0,T=0;//定义循环变量 /*T0初始化子函数*/ cnt++; if(cnt==20) { cnt=0; dat--; } } }while(dat=0);//开机显示初值24,倒计时结束跳出显示计时 TR0=0;//节约资源,关闭定时器 do { //init();//检测按键状态 display2();//亮24 display3();//灭 }while(dat0);//计时结束数码管闪烁 } } 任务一实验现象:(按下暂停键时显示) (闪屏显示24) 任务二实验现象:(用定时器T2不分频

文档评论(0)

1亿VIP精品文档

相关文档