当前位置: 首页 > news >正文

澳门网站开发招聘爱上链外链购买平台

澳门网站开发招聘,爱上链外链购买平台,自己设计一个网站首页,闵行北京网站建设文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器,使用按键、IIC OLED模块等。 主要功能: 系统运行后,OLED液晶显示出题器开机界面,默认结果范围为100,可按…

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用STM32F103C8T6单片机控制器,使用按键、IIC OLED模块等。
主要功能:
系统运行后,OLED液晶显示出题器开机界面,默认结果范围为100,可按下S13键进入范围值设置,S1-S10键输入0-9数字,最大输入3位数;若输入有误可按下S11键撤回,若输入完成,可按下S12键进入答题界面;如果无需设置,则按下S16键进入答题界面;出题的计算结果范围则为前面设置的范围内。
此时显示屏会显示答题时间、得分、计算题(程序内设置了加减乘除,默认仅开启加减运算功能)和计算结果输入窗口,可按下S1-S10键输入答案,如果结果正确,
得分+5,否则显示错误提示,且需重新输入结果。答案正确则自动进入下一题,如此循环。当得分为100,则完成测试。


二、软件设计

/*
作者:嗨小易(QQ:3443792007)*///系统生成题目
void sys_generate_subject(void)
{u8 key=0;u8 buf[3];u16 result=0;OLED_Clear();OLED_ShowString(0,0, "00:00:00   Socre:   ",12);OLED_ShowString((X_WIDTH-6*12)/2,16,"  +  =",24);OLED_DrawRectanglex(0,45,X_WIDTH,18,1);OLED_ShowString(2,46,"-->   ",16);TIM_Cmd(TIM3,ENABLE); //打开定时器	while(1){//显示时间OLED_ShowxNum(0,0,sys_ctrl.hour,2,12,0x80,1);OLED_ShowxNum(6*3,0,sys_ctrl.min,2,12,0x80,1);OLED_ShowxNum(6*6,0,sys_ctrl.sec,2,12,0x80,1);//显示得分OLED_ShowxNum(17*6,0,sys_ctrl.score,3,12,0x80,1);//开始生成题目if(sys_ctrl.start==1){sys_ctrl.start=0;srand(sys_ctrl.sec);//播种//生成随机符号值,加和减sys_ctrl.sign=rand()%2;//显示符号switch(sys_ctrl.sign){case 0://加OLED_ShowString((X_WIDTH-6*12)/2+2*12,16,"+",24);//生成有效的两个计算数,在指定范围数内//rand() % (b-a+1)+ a ; 就表示 a~b 之间的一个随机整数sys_ctrl.num[0]=rand()%((sys_ctrl.range-1)-1+1)+1;sys_ctrl.num[1]=rand()%(sys_ctrl.range-sys_ctrl.num[0])+1;break;case 1://减OLED_ShowString((X_WIDTH-6*12)/2+2*12,16,"-",24);//生成的第一个数必须大于第二个数while(1){sys_ctrl.num[0]=rand()%((sys_ctrl.range-1)-1+1)+1;sys_ctrl.num[1]=rand()%(sys_ctrl.range-sys_ctrl.num[0])+1;if(sys_ctrl.num[0]>=sys_ctrl.num[1])break;}break;case 2://乘OLED_ShowString((X_WIDTH-6*12)/2+2*12,16,"*",24);sys_ctrl.num[0]=rand()%((sys_ctrl.range-1)-1+1)+1;sys_ctrl.num[1]=rand()%(sys_ctrl.range-sys_ctrl.num[0])+1;break;case 3://除OLED_ShowString((X_WIDTH-6*12)/2+2*12,16,"/",24);//生成的第一个数必须大于第二个数while(1){sys_ctrl.num[0]=rand()%((sys_ctrl.range-1)-1+1)+1;sys_ctrl.num[1]=rand()%(sys_ctrl.range-sys_ctrl.num[0])+1;if(sys_ctrl.num[0]>=sys_ctrl.num[1])break;}break;}//显示生成的两个计算数OLED_ShowxNum((X_WIDTH-6*12)/2,16,sys_ctrl.num[0],2,24,0,1);OLED_ShowxNum((X_WIDTH-6*12)/2+3*12,16,sys_ctrl.num[1],2,24,0,1);}//开始答题else{key=KEY_Matrix_Scan();if(key!=0)BEEP_Alarm(50,100);//提示音//输入数值键范围0-9if(key>0 && key<=10){//最多输入3位数if(sys_ctrl.cnt<3){//第一位输入0,后面都是0if(sys_ctrl.cnt==0 && key==1){buf[sys_ctrl.cnt]=key-1;OLED_ShowNum(2+8*3+(sys_ctrl.cnt)*8,46,buf[sys_ctrl.cnt-1],1,16);}	else{buf[sys_ctrl.cnt]=key-1;sys_ctrl.cnt++;//输入位数+1OLED_ShowNum(2+8*3+(sys_ctrl.cnt-1)*8,46,buf[sys_ctrl.cnt-1],1,16);}	}}//按下删除键else if(key==11){sys_ctrl.cnt--;if(sys_ctrl.cnt<0)sys_ctrl.cnt=0;OLED_ShowString(2+8*3+(sys_ctrl.cnt)*8,46," ",16);}	//按下确定键else if(key==12){//获取范围值switch(sys_ctrl.cnt){case 1://1位sys_ctrl.result=buf[0];break;case 2://2位sys_ctrl.result=buf[0]*10+buf[1];break;case 3://3位sys_ctrl.result=buf[0]*100+buf[1]*10+buf[2];break;}//根据符号计算生成题目的数值switch(sys_ctrl.sign){case 0://加result=sys_ctrl.num[0]+sys_ctrl.num[1];break;case 1://减result=sys_ctrl.num[0]-sys_ctrl.num[1];break;case 2://乘result=sys_ctrl.num[0]*sys_ctrl.num[1];break;case 3://除result=sys_ctrl.num[0]/sys_ctrl.num[1];break;}//如果答题正确if(result==sys_ctrl.result){sys_ctrl.start=1;sys_ctrl.cnt=0;sys_ctrl.score+=5;if(sys_ctrl.score>=100){TIM_Cmd(TIM3,DISABLE); //关闭定时器sys_parm_init();//系统参数初始化break;}	OLED_ShowString(2+8*3,46,"   ",16);}//如果答题错误else{sys_ctrl.cnt=0;OLED_ShowString(2+8*3,46,"Error!",16);OLED_Refresh_Gram();//刷新显示缓存delay_ms(500);OLED_ShowString(2+8*3,46,"      ",16);}}		}OLED_Refresh_Gram();//刷新显示缓存}
}//应用控制系统
void app_sys_ctrl_demo(void)
{LED_Init();USART1_Init(115200);OLED_Init();KEY_Matrix_Init();BEEP_Init();TIM3_Init(1000,36000-1);  //定时500mssys_parm_init();//系统参数初始化while(1){sys_open_show();//系统开机界面显示sys_generate_subject();//系统生成题目}
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


联系作者

专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

http://www.hkea.cn/news/377853/

相关文章:

  • 图标使用wordpress杭州seo博客
  • 企业网站如何做推广竞价推广托管公司介绍
  • 网站如何做微信登录seo公司 杭州
  • 中山里水网站建设软文广告案例分析
  • 做外贸是用什么网站做新型网络营销方式
  • 心理咨询网站开发百度手机seo软件
  • 17网站一起做网批seo营销优化
  • 做赚钱网站程序员培训班要多少钱
  • 已经收录大规模修改收录页面对网站有影响吗什么软件可以推广自己的产品
  • 丁香园做科室网站厦门网络推广
  • 免费的企业网站制作提高网站权重的方法
  • 兰州网站制作怎么样网页在线生成
  • 自建网站网址雅虎搜索引擎首页
  • 注册科技有限公司可以做网站吗百度搜索排名机制
  • 武汉做网站好网站制作多少钱一个
  • 安阳网站建设怎么从网上找客户
  • 文章博客媒体网站模板怎样在百度上打广告
  • 做网站是不是要模板直接打开百度
  • 哪个网站做app推广服务商
  • 中国哪里在大建设网站优化培训学校
  • 自己做的网站点首页出错腾讯广告代理商加盟
  • 如何做免费的网站推广东莞百度seo
  • 宜昌网站制作公司百度竞价官网
  • 建站公司网站模板论坛怎么建网站
  • 上海做b2b网站公司深圳公司网络推广该怎么做
  • 自己做的网站怎么在百度可以查到网络小说网站三巨头
  • 怎么做网站客服弹窗站长之家seo工具包
  • 自己建一个电商网站吗网络营销的定义
  • 专门做金融的招聘网站四川seo选哪家
  • wordpress nginx伪静态配置拼多多seo怎么优化