您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页定时计数器实验

定时计数器实验

来源:抵帆知识网
实验四、定时/计数器实验

一、实验目的

1、学习51单片机内部定时计数器的使用和编程方法。 2、进一步掌握中断处理程序的编程方法。

二、实验内容

1、定时器实验 (1)基本部分:

用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生反转。 (2)扩展部分:

利用P1口控制发光二极管LED按照下面方式工作: a)从左到右奇数LED灯依次点亮; b)从右到左偶数LED灯依次点亮;

c)按照以上步骤重复运行,要求灯亮的时间为1s,由定时器T1实现。 2、计数器实验

8501内部定时计数T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。

三、实验连线

1、基础部分:JP8(P1)和JP1(LED)用8PIN排线连接起来。 计数器实验还需用杜邦线连接P3.5(JP9)与键(JP5).

2、扩展部分:实验1的扩展部分选用P2口,即JP11(P2)和JP1(LED)用8PIN排线连接起来。

四、实验步骤与说明

1、定时器实验 (1)基本部分

a)编写程序:由于系统的晶振是12MHZ,即机器周期为1微秒,选择定时器工作在方式1,设定定时时间为50ms,则要循环20次,计算其初值为(65536—50000/1)。接着编写程序如下:

#include unsigned char i; void main(){ P1=0;TMOD=0x01;

EA=1; ET0=1; TR0=1; i=20;

TH0=(65536-50000)/256; TL0=(65536-50000)%256; while(1); }

void timer() interrupt 1{ TH0=(65536-50000)/256;

TL0=(65536-50000)%256; i--; if(i==0) { P1=~P1; i=20; } }

b)将程序烧入单片机内,观察现象。 (2)扩展部分

按要求写出如下程序并烧入单片机,程序如下: #include #include unsigned char i=0; unsigned char sum; void main() {

P2=0xfe; TMOD=0x01;

TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1); }

void timer0() interrupt 1 {

TH0=(65536-50000)/256; TL0=(65536-50000)%256; sum++;

if(sum==20) {

sum=0; i++; if(i<4) {

P2=_crol_(P2,2); }

if(i==4) {

P2=0x7f; }

if((i>4) && (i<8)) {

P2=_cror_(P2,2); }

if(i==8) {

P2=0xfe; i=0; } } }

编译生成hex文件烧入单片机观察现象。 2、计数器实验

按要求写程序,初始化时由于选择方式1且定时器T1,那么M0M1=01,则TMOD=0x50,则写出程序如下:

#include void main(){ TMOD=0x50; TH1=1; TL1=1; TR1=1; while(1) { P2=TL1; } }

写完程序编译,烧入单片机中观察现象。

五、实验现象与分析

1、定时器实验

(1)基本部分:发光二极管LED首先在低电平初始态下全部发光,过了一秒又灭下去,接着一秒后又发光,重复这种结果,实现闪烁灯功能。

(2)扩展部分:发光二极管LED从左到右奇数依次点亮,从右到左奇数依次点亮,且每隔1秒发亮重复工作。

2、计数器实验

将杜邦线与JP5的K2键连接一起,按下,发光二极管LED在高电平时灭掉,低电平发亮,则初始状态为1,即1次计数。松开后再按,没按一次,发光二极管LED以二进制点亮,实现计数功能。

六、实验心得

这次做的是定时器和计数器的实验,由于理论知识有去掌握,因此做起基础部分来不会太大问题。但是,扩展实验不是很清楚,向同学请教以及和搭档的商讨过后勉勉强强完成,希望老师能有时间讲解下。总之,这次实验还是有一定的收获的,对于下次实验,也要和这次一样复习下理论知识,能虚心向人请教,才能在实验中发现问题解决问题。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务