项目二 51项目数码管倒计时

项目  51项目数码管倒计时

【实验内容】

  1. 熟悉软件流程(Proteus 8 Professional,Keil uVision5),熟悉烧录流程,熟悉51芯片的引脚。
  2. 了解51单片机数码管的控制方法;
  3. 掌握使用定时器进行倒计时的方法;
  4. 实现数码管倒计时功能并在倒计时结束时停止。

【实验原理】

该实验利用51单片机控制数码管进行倒计时显示。通过控制两个数码管的开启和关闭,将倒计时的十位数和个位数分别显示在两个数码管上。使用定时器进行时间的控制,每经过一定的时间间隔,倒计时数减少1,直到倒计时结束(00)为止。

【实验记录与结果分析】

实验的结果是数码管会从99开始逐渐倒计时至00,并且倒计时会不断循环重复。具体分析如下:

1.实验开始时,延时1秒后,count被初始化为99V17被初始化为0

2.进入while循环后,V17自增1,当V17等于17时,V17被重置为0,此时count1。这样设计的目的是为了控制倒计时速度,每经过17次循环,count减少1,相当于倒计时速度变为原来的1/17

3.设置LED_0为低电平,LED_1为高电平,P2端口输出对应count的十位数码管的值,延时30ms

4.设置LED_0为高电平,LED_1为低电平,P2端口输出对应count的个位数码管的值,延时30ms

5.循环重复步骤2-4,实现倒计时的显示效果。

实验结果分析:通过以上逻辑,数码管将会从99开始逐渐倒计时至00,并且在每次倒计时过程中,数码管会显示相应的数字。当倒计时完成后,又会重新开始倒计时。

【电路原理图】

该电路包含一个8051系列单片机、两个数码管、两个NPN型晶体管、两个电阻和一个电容。其中,P2口连接了两个数码管的a~g、dp引脚,P3口连接了两个晶体管的基极。

当单片机工作时,输出控制信号使得LED_0和LED_1分别处于低电平和高电平状态。同时,将P2口输出对应count数码管对应的值,实现数码管的显示效果。在延时的过程中,通过调用delay()函数,使程序暂停一段时间,从而实现倒计时的效果。最后,通过两个晶体管的控制,实现对数码管的开关控制。

【程序代码】

#include <reg51.h>

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值