实验 实现60S计数器

编程入门 行业动态 更新时间:2024-10-05 11:22:13

实验 实现60S<a href=https://www.elefans.com/category/jswz/34/1766721.html style=计数器"/>

实验 实现60S计数器

实验 实现60S计数器

一、实验要求

实现一个秒表,通过一个8051单片机、2个七段LED数码显示管(共阴或者共阳均可),运行后2个LED数码显示管进行计秒,从00开始到59,循环显示,计时至59后跳回00。必须使用计时器T0或者T1实现。

二、实验目的

1、进一步掌握AT89C51 单片机的结构和工作原理;
2、掌握单片机的接口技术及外围芯片的工作原理及控制方法;
3、进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;
4、掌握PROTEUS仿真软件的使用方法;
5、掌握LED数码管原理及使用方法;
6、掌握定时器、外部中断的设置和编程原理。

三、实验步骤

1、根据实验要求,用ISIS软件绘制实验原理图;
2、用Keil软件编写程序代码,并无误调试;
3、返回原理图,启动调试,注意打开远程监控,此时计数器计时开始,试验完成。

四、实验结果

1、实验原理图如图所示:

2、编写程序代码如下:(附代码截图)

#include <reg52.h>
#define uchar unsigned char;
#define uint unsigned int;
uchar code seg[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
uchar times,count,max = 60;void set100ms(){TH0 = 0x3c;TL0 = 0xb0;
}void t0() interrupt 1 using 1{if(times--){set100ms();}else{count++;count%=max;times = 10;set100ms();}
}
void main(){IE = 0x82;TR0 = 1;TMOD = 0x01;set100ms();times = 10;while(1){P0 = seg[count/10];P2 = seg[count%10];}
}

3、实验结果

五、心得体会

每一次实训都是对自己所学知识的巩固与提高。从资料查找到筛选再到电路的设计与仿真,其间有对以往所学的知识归纳整理与复习,不但巩固了理论知识,而且在电路的制作上也锻炼了我们的动手能力。
通过这次实验,对计数器的查询工作方式有了比较深刻的理解,并能熟练运用。掌握计数器的中断、查询使用方法。获益匪浅。

更多推荐

实验 实现60S计数器

本文发布于:2024-02-07 08:33:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754625.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:计数器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!