本文介绍: 本项目使用Proteus8仿真51单片机控制器,使用声光报警模块、动态数码管模块、按键模块等。主要功能:系统运行后,数码管显示比赛时间和AB队得分;系统还未开启时,可通过按键K1和K2调节分钟,K3和K4调节秒钟;当按下K7键比赛开始,K1和K2调节A队得分;K3和K4调节B队得分;当比赛时间结束,可按下K6键交换场地,亦可按下K5键清零得分,回归最初状态。
一、功能简介
本项目使用Proteus8仿真51单片机控制器,使用声光报警模块、动态数码管模块、按键模块等。
主要功能:
系统运行后,数码管显示比赛时间和AB队得分;系统还未开启时,可通过按键K1和K2调节分钟,K3和K4调节秒钟;当按下K7键比赛开始,K1和K2调节A队得分;K3和K4调节B队得分;当比赛时间结束,可按下K6键交换场地,亦可按下K5键清零得分,回归最初状态。
二、软件设计
/*
作者:嗨小易(QQ:3443792007)
*/
//系统数据设置
void sys_data_set(void)
{
u8 key=0;
key=key_scan(0);
//开始/暂停
if(key==KEY7_PRESS)
{
beep_alarm(10,1000);//提示音
sys_ctrl.start++;
if(sys_ctrl.start==1)
{
LED_KS=0;LED_ZT=1;
TR0=1;//打开定时器
}
else if(sys_ctrl.start==2)
{
LED_KS=1;LED_ZT=0;
TR0=0;//关闭定时器
}
else
{
LED_KS=0;LED_ZT=1;
sys_ctrl.start=1;
TR0=1;//打开定时器
}
}
//还未开始,可调节时间
if(sys_ctrl.start==0)
{
//分加
if(key==KEY1_PRESS)
{
sys_ctrl.min++;
if(sys_ctrl.min>59)sys_ctrl.min=0;
}
//分减
else if(key==KEY2_PRESS)
{
sys_ctrl.min--;
if(sys_ctrl.min<0)sys_ctrl.min=59;
}
//秒加
else if(key==KEY3_PRESS)
{
sys_ctrl.sec++;
if(sys_ctrl.sec>59)sys_ctrl.sec=0;
}
//秒减
else if(key==KEY4_PRESS)
{
sys_ctrl.sec--;
if(sys_ctrl.sec<0)sys_ctrl.sec=59;
}
//清零
else if(key==KEY5_PRESS)
{
sys_parm_init();//系统参数初始化
}
//交换场地
else if(key==KEY6_PRESS)
{
sys_ctrl.dir=!sys_ctrl.dir;
}
}
//比赛开始
else
{
//A加分
if(key==KEY1_PRESS)
{
sys_ctrl.score_a++;
if(sys_ctrl.score_a>99)sys_ctrl.score_a=99;
}
//A减分
else if(key==KEY2_PRESS)
{
sys_ctrl.score_a--;
if(sys_ctrl.score_a<0)sys_ctrl.score_a=0;
}
//B加分
else if(key==KEY3_PRESS)
{
sys_ctrl.score_b++;
if(sys_ctrl.score_b>99)sys_ctrl.score_b=99;
}
//B减分
else if(key==KEY4_PRESS)
{
sys_ctrl.score_b--;
if(sys_ctrl.score_b<0)sys_ctrl.score_b=0;
}
}
}
//应用控制系统
void app_ctrl_sys(void)
{
sys_parm_init();//系统参数初始化
time0_init();//定时器0初始化
while(1)
{
sys_data_show();//系统数据显示
sys_data_set();//系统数据设置
}
}
三、实验现象
B站演示视频:https://space.bilibili.com/444388619
联系作者
视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。
原文地址:https://blog.csdn.net/Hello_Muyi/article/details/134568928
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_37226.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。