127【毕设课设】基于51单片机蓝牙主从机无线蓝球计分器设计(源码+电路图+论文)

【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

设计内容包括两块板子:显示板和发送板;
显示板包括:单片机最小系统,蜂鸣器电路,1602显示电路,电源供电电路,下载电路,蓝牙模块;
按键板包括:单片机最小系统,蜂鸣器电路,5按键电路,蓝牙模块,1602显示电路,电源供电电路;


显示板功能:
1.1602 第一行显示 比分
2.1602 第二行显示每节倒计时 倒计时为10分钟 以00:00形式倒计时 增加第N节显示 以及进攻倒计时有按键出发倒计时为24s
3.显示板每节倒计时完成有蜂鸣器提示
4.进攻倒计时开始和暂停,每节倒计时开始、暂停,通过按键板无线蓝牙触发。          
5、两个显示板都要有A,B两个队名显示

按键板功能:
1.8按键功能分为:每节开始按键、每节暂停按键、进攻倒计时开始按键、暂停按键 a队b队加1分两个按键;a、b队减1分两个按键
2、按键板上增加1602液晶屏。液晶显示内容一致。                 
3、按下24秒开始键后,如果没有按下24秒暂停按键,则24秒回从24到0结束,如果在中途按下暂停按键,则倒计时停止在当前的时刻,如果中途再次按下暂停按键,则倒计时从上次时刻开始运行。如果再次按下24秒开始键,则计时重新从24秒开始。

#include "1602.h"
#include "delay.h"
#include "math.h"

unsigned char Count =0 ;   //串口技术
unsigned char reFirst = 0;	  //解析防止重复

unsigned long time_20ms=0xaaaaaaaa; //定时器计数
bit recOk = 0;			  //数据解析ok
char dis0[16];			  //液晶显示数组
char dis1[16];
unsigned char SednData[15];	//数据暂存
unsigned char DisFlag = 0;	   //更新显示

void Init_Timer0(void);			 //函数声明
void SendStr(unsigned char *s,unsigned char length);
void UART_Init(void);
void SendByte(unsigned char dat);

void main (void)
{     
	Init_Timer0();        //定时器0初始化
	UART_Init();
           
	LCD_Init();           //初始化液晶
	DelayMs(20);          //延时有助于稳定
	LCD_Clear(); 
	SendStr("ready ok !",10);
				//01234567890abcde
	sprintf(dis0," A 000 : 000 B  ");//打印第一行显示
	LCD_Write_String(0,0,dis0);//显示第一行
	DelayMs(20);//01234567890abcde
	sprintf(dis1,"0  00:00     00");//打印第二行显示内容
	LCD_Write_String(0,1,dis1);//显示第二行
	while (1)         //主循环

猜你喜欢

转载自blog.csdn.net/theroadon/article/details/109062352