51单片机c语言的秒表设计,基于51单片机的计时器设计

使用51单片机的定时器0以方式1进行计时,通过4位数码管显示秒和毫秒,最大计时1分钟,精度0.01秒。具备清零、暂停和开始功能。采用模块化设计,包括延时函数、初始化、数码管显示、键盘扫描和按键处理等函数。
摘要由CSDN通过智能技术生成

描述

用51单片机的定时器0的方式1计时,结果用4位数码管显示,分别为秒十位,秒个位,毫秒百位,毫秒十位。所以总共最大计时为1分钟,精确到了0.01s。同时,加上3个独立按键,分别控制秒表的清零,暂停和开始功能。

按照模块化的思想,首先先把要用的函数和预定义写到一个头文件中,要用到的预定义和全局变量如下:

c03b57cb8b7c88ea139a8a101dca4703.png

#include

#defineucharunsignedchar

sbitClear=P3^7;//按键实现清零

sbitStop=P3^6;//按键实现暂停

sbitReStart=P3^5;//按键实现开始

sbitdula=P2^6;//段选线接P2^6口

sbitwela=P2^7;//位选线接P2^7口

//table数组中存储数码管显示0~F对应的编码

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

//计时时间,计时中断发生一次,则加1,最大为5999

inttime;

接下来是将要用到的函数声明:

<
  • 2
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值