51单片机实训周-智能秒表程序

51单片机实训周-智能秒表程序单片机实训周做的项目,选题是智能秒表,用开发板实现。本次实验开发语言以C51语言为主,运用《单片机原理及应用》中已学习的相关知识,综合运用单片机I/O口、定时器、中断、串行口及输入(如按键)、输出(如LED小灯、数码管)设备,实现项目的基本功能。题目要求:智能秒表程序:按键功能:通过按键控制秒表的启停、复位;数码管显示:显示计时时间,注意误差修正;串口通信:使用串口控制秒表的启停、复位。设计思路配置并启动T0,使用T0中段来进行数码管,按键、按键扫描和秒表
摘要由CSDN通过智能技术生成

51单片机实训周-智能秒表程序

单片机实训周做的项目,选题是智能秒表,用开发板实现。
本次实验开发语言以C51语言为主,运用《单片机原理及应用》中已学习的相关知识,综合运用单片机I/O口、定时器、中断、串行口及输入(如按键)、输出(如LED小灯、数码管)设备,实现项目的基本功能。

题目要求:

智能秒表程序:

  1. 按键功能:通过按键控制秒表的启停、复位;
  2. 数码管显示:显示计时时间,注意误差修正;
  3. 串口通信:使用串口控制秒表的启停、复位。

设计思路

配置并启动T0,使用T0中段来进行数码管,按键、按键扫描和秒表的计时。使用第四行作为独立按键来使用,进行秒表的启停和复位,Esc键代表复位调用复位函数,回车键代表启停调用启停函数。按键驱动函数来检测按键动作,调度相应动作函数。动作函数为启停和复位。按键扫描函数,需在定时中断中调用,并且进行按键消抖,将按键动作赋值给数组使驱动函数调用动作函数。数码管动态扫描刷新函数需在定时中断中调用。秒表计数函数是每隔10ms调用一次进行秒表计数累加,能保留小数点后两位,当处于运行状态时才会递增计数值即此时的启停函数的秒表运行标志变量为1。秒表计数显示函数将小数部分转换到低2位,整数部分转换到高4位,并且高位的0显示为空字符同时显示小数点。数码管动态扫描函数,在中断时调用,将缓冲区数据送到P0口,显示消隐。使用串口控制秒表的启停、复位,需要增加串口配置函数,设置通信波特率为9600,使用T1定时计数器。UART 中断服务函数在电脑通过串口调试助手发送指令时调用动作函数。P为暂停,E为启动调用启停函数,R为复位调用复位函数。在这里插入图片描述

#include <reg52.h>
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit KEY1 = P2^4;
sbit KEY2 = P2^5;
sbit KEY3 = P2^6;
sbit KEY4 = P2^7;
unsigned char sbufMessage[] = {
   
	0x53, 0x54, 0x41, 0x52, 0x54,
	0x50, 0x41, 0x55, 0x53, 0x45, 
	0x52, 0x45, 0x53, 0x45, 0x54
};
unsigned char sbufMessageN[] = {
   0x0D, 0x0A};
unsigned char code LedChar[] = {
     //数码管显示字符转换表
    0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
    0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
unsigned char LedBuff[6] = {
     //数码管显示缓冲区
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
unsigned char KeySta[4] = {
     //按键当前状态
    1, 1, 1, 1
};
bit StopwatchRunning = 0;  //秒表运行标志
bit StopwatchRefresh = 1;  //秒表计数刷新标志
unsigned char DecimalPart = 0;  //秒表的小数部分
unsigned
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值