实验 实现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、实验结果
在这里插入图片描述

五、心得体会

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

  • 2
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值