单片机实现秒表计数器
最近博主在学习单片机的课程,这快到期末考试了,老师让做个简单的课设,我看了看老师给的课题,感觉这个比较容易实现,今天下午花了两个小时左右的时间,把仿真程序电路图画好了,现在分享大家,希望大家批评改正。
实验器材:**单片机、按钮、电阻、PNP型三极管、有源蜂鸣器、共阴极数码管
实现的功能:
-
通过按键实现倒计时
-
逐秒倒计时
-
使用4为一体数码管显示时间
-
时间到发出警报声,或者在数码管闪烁显示0000
仿真电路图:推荐使用网络标号连接电路图,这样作图较为专业,适合以后的大点的作图方式。网络标号相同的即为相连接的,图貌似不是很清晰,如果看不清,评论区留言,我发给你proteus仿真文件。
程序代码:148行程序,不是太长
//尽本人最大的努力,将程序中的每条语句较为详细的讲解
#include <reg51.h>
#include <stdio.h>
#define uint unsigned int
#define uchar unsigned char
uchar count=0,minute=0,second=3,flag=0,stop=0;
uchar table[10]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极
uchar disbuf[4]={
0};//位选定义一个四位的数组,循环扫描显示相应的内容
sbit buzzer=P1^0;//定义单片机的相应引脚
sbit P1_1=P1^1;
sbit P1_2=P1^2;
void delay_ms(uint x) //延时消抖函数
{
uint t;
while(x--) for(t = 0