定时器计数器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图1-2 将T1计数的结果送P0口显示
(3)控制LED 灯左循环亮
用A T89C51单片机控制一组LED 灯左循环亮,采用50ms 延时子程序调用达到1S 延时,使用P0口输出控制发光二极管灯。电路图如图1-2所示,晶振采用12MHZ 。要求如下:
①用发光二极管灯左循环亮为输出值; ②利用单片机的定时器完成此项目; ③每1S 左循环一次。
图1-3 控制LED 灯左循环亮
三、实验程序
1. 用定时器T0查询方式控制P3口8位LED 闪烁
(1)分析:
用定时器0、方式1, 则TMOD =××××0001B
由于T 机器=12T 时钟=12 1/fosc=1us ,而方式1的最大定时时间为65.536ms ,所以可选择:50ms 。定时器初始值为:
TH0=(65536-50000)/256;//定时器T0的高8位赋初值
TL0=(65536-50000)%256;//定时器T0的低8位赋初值 (2)程序设计
先建立文件夹“SY 1-1”,然后建立“SY2-1”工程项目,最后建立源程序文件“SY 1-1.c”,输入如下源程序: #include
TMOD=0x01; //使用定时器T0的方式1
TH0=(65536-50000)/256; /*定时器T0的高8位赋初值*/ TL0= (65536-50000)%256; /*定时器T0的低8位赋初值*/ TR0=1; //启动定时器T0
组长 学号 专业
班级
实验项目
实验1 定时器/计数器
课程名称 单片机原理
课程代码 试验时间
实验地点
成绩
教师签字:
一、实验目的
(1)了解80C51定时器/计数器的结构;
(2)掌握定时器/计数器方式寄存器TMOD 设置; (3)掌握定时器/计数器控制寄存器TCON 设置; (4)掌握定时器/计数器的初始化步骤; (5)掌握定时或计数初值的计算;
(6)掌握80C51定时器/计数器编程方法。 二、实验内容
(1)用定时器T0查询方式控制P3口8位LED 闪烁
使用T0工作于方式1,采用查询方式控制P3口8位LED 的闪烁周期为100ms ,即亮50ms ,熄灭50ms ,电路图如图1-1所示,设单片机晶振频率为12MHz 。
图1-1 用定时器T0查询方式控制P3口8位LED 闪烁
(2)将T1计数的结果送P0口显示
用AT89C51单片机控制LED 灯左循环亮,采用50ms 延时子程序调用达到1S 延时,使用P0口输出控制发光二极管灯。电路图如图1-2所示,设单片机晶振频率为12MHz 。