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

做投资的网站好东营智能网站设计

做投资的网站好,东营智能网站设计,卖网格布怎样做网站,大量情侣网名网站1、实验要求 利用STC89C52RC单片机开发板实现#xff1a;使用2位数码管循环显示00-99#xff0c;每次间隔1s#xff0c;并且当计数到20时#xff0c;则蜂鸣器鸣响1次。 2、实验分析 程序实现分析#xff1a; 1、定义数码管位选引脚#xff08;P2.4、P2.5、P2.6、…1、实验要求 利用STC89C52RC单片机开发板实现使用2位数码管循环显示00-99每次间隔1s并且当计数到20时则蜂鸣器鸣响1次。 2、实验分析 程序实现分析         1、定义数码管位选引脚P2.4、P2.5、P2.6、P2.7 2、定义个位、十位显示函数用来未选第1、2位显示个位、十位上的数字 3、定义延时函数使用for循环嵌套实现空语句执行从而达到延时的效果 4、定义计数变量分别计算出个位、十位的数将其传入到个位、十位显示的函数 5、结合延时函数实现数字的显示 6、判断计数变量大于99则重新赋值为0 3、代码实现 1导入头文件及引脚定义 #include reg52.hsbit pos1 P2^4; // 第1为数码管位选控制位 sbit pos2 P2^5; // 第2为数码管位选控制位 sbit pos3 P2^6; // 第3为数码管位选控制位 sbit pos4 P2^7; // 第4为数码管位选控制位 sbit fmq P2^3; // 蜂鸣器控制位 2定义个位、十位显示函数 // 分别对应0/1/2/3/4/5/6/7/8/9 int code_sz[] {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};// 宏定义简写 unsigned int #define uint unsigned int// 函数声明 void show_ge(uint x); void show_shi(uint y);// 显示个位数字左起第2位数码管 void show_ge(uint x) // x计算的个位数的值对应数组中的索引从而取到对应的值 {P0 0x00; // P0段选位复位pos1 0;pos2 1; // 选择第2位数码管pos3 0;pos4 0;P0 code_sz[x]; // 数组索引取到对应的数字值赋值给P0 }void show_shi(uint y) // y计算的十位数的值对应数组中的索引从而取到对应的值 {P0 0x00; // P0段选位复位pos1 1; // 选择第1位数码管pos2 0;pos3 0;pos4 0;P0 code_sz[y]; // 数组索引取到对应的数字值赋值给P0 } 3定义延时函数 void delay(uint ms); // 延时函数声明void delay(uint ms) // 延时指定的毫秒错略延时 {uint i, j;for(ims; i0; i--){for(j112; j0; j--);} } 4编写主函数逻辑 uint val 0; uint ge, shi;void main() {while (1){ge val % 10; // 计算个位的值shi val / 10; // 计算十位的值show_shi(shi); // 调用显示十位的函数delay(100); // 延时100ms,让十位数显示保持show_ge(ge); // 调用显示个位的函数delay(900); // 延时900ms让十位数显示保持fmq 1; // 关闭蜂鸣器鸣叫pos1 0; // 位选复位避免出现位选错乱产生乱码pos2 0;pos3 0;pos4 0;val; // 计数值增加1if (val 99) val 0; // 如果计数值大于99则重新从0开始if (val 20) fmq0; // 如果计数值等于20则蜂鸣器鸣叫} } 【单片机显示问题】数码管显示不同的值需要考虑2个问题 1十位、个位显示不同值由于P0段选共用则需要实现位选调整才能实现。 2要保证个位、十位的数同时显示。 【单片机显示现象】十位数字很暗基本无法显示个位可以正常但会出现闪烁情况无法看到00--99的数字。 【单片机显示分析】十位第1位数码管显示由于延时时间过短100ms造成还未显示程序就执行到了显示个位的代码从而位选就切换至第2位数个位码管则P0对应的取值则会显示到第1位数码管此时添加的900ms延时也只能显示个位上的数字。 【单片机显示调整】 A、个位、十位显示的时间间隔不能过大这样10s由于代码执行较快us这样就能因为视觉停留现象则就会感觉数字是一直显示同时也不会出现闪烁情况。 B、个位、十位数值变化时间要保证1s则计数变量则1s内需要计数50次再增加11000 / (10 10) 50, 这样就能让个位十位数码管1s内更新50次后显示下一个数。 uint times 0;void main() {while (1){times;if(times 50) // 每50次计数增加1{ times 0; // 次数50次后复位val; // 计数值增加1if (val 99) val 0; // 如果计数值大于99则重新从0开始}ge val % 10; // 计算个位的值shi val / 10; // 计算十位的值show_shi(shi); // 调用显示十位的函数delay(10); // 延时10ms,让十位数显示保持show_ge(ge); // 调用显示个位的函数delay(10); // 延时10ms让十位数显示保持fmq 1; // 关闭蜂鸣器鸣叫pos1 0; // 位选复位避免出现位选错乱产生乱码pos2 0;pos3 0;pos4 0;if (val 20) fmq0; // 如果计数值等于20则蜂鸣器鸣叫} } 4、完整代码 #include reg52.h// 宏定义简写 unsigned int #define uint unsigned intsbit pos1 P2^4; // 第1为数码管位选控制位 sbit pos2 P2^5; // 第2为数码管位选控制位 sbit pos3 P2^6; // 第3为数码管位选控制位 sbit pos4 P2^7; // 第4为数码管位选控制位 sbit fmq P2^3; // 蜂鸣器控制位// 分别对应0/1/2/3/4/5/6/7/8/9 int code_sz[] {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};// 函数声明 void show_ge(uint x); void show_shi(uint y); void delay(uint xms); uint times 0; uint val 0; uint ge, shi;void main() {while (1){times;if(times 50) // 每50次计数增加1{ times 0; // 次数50次后复位val; // 计数值增加1if (val 99) val 0; // 如果计数值大于99则重新从0开始}ge val % 10; // 计算个位的值shi val / 10; // 计算十位的值show_shi(shi); // 调用显示十位的函数delay(10); // 延时10ms,让十位数显示保持show_ge(ge); // 调用显示个位的函数delay(10); // 延时10ms让十位数显示保持fmq 1; // 关闭蜂鸣器鸣叫pos1 0; // 位选复位避免出现位选错乱产生乱码pos2 0;pos3 0;pos4 0;if (val 20) fmq0; // 如果计数值等于20则蜂鸣器鸣叫} }// 显示个位数字左起第2位数码管 void show_ge(uint x) // x计算的个位数的值对应数组中的索引从而取到对应的值 {P0 0x00; // P0段选位复位pos1 0;pos2 1; // 选择第2位数码管pos3 0;pos4 0;P0 code_sz[x]; // 数组索引取到对应的数字值赋值给P0 }void show_shi(uint y) // y计算的十位数的值对应数组中的索引从而取到对应的值 {P0 0x00; // P0段选位复位pos1 1; // 选择第1位数码管pos2 0;pos3 0;pos4 0;P0 code_sz[y]; // 数组索引取到对应的数字值赋值给P0 }void delay(uint ms) // 延时指定的毫秒错略延时 {uint i, j;for(ims; i0; i--){for(j112; j0; j--);} } 5、实验总结 要明确数码管的显示要解决的问题显示不同的值的数据保持、不同位的数据同时显示着重问题的本身出发设计对应的程序通过多次判断实现对计数的修改同时要明确程序执行的速度较快人有视觉暂停现象 结合这些因素实现对应逻辑分步操作。 【结语】以上整个程序的实现逻辑还存在很多不全面的地方欢迎各位大佬指点如果觉得笔者不易欢迎关注和点赞给予我记录更多文章的动力
http://www.hkea.cn/news/14291245/

相关文章:

  • 电子商务网站建设 代码网络营销模式有哪些?
  • wordpress禁用谷歌字体禁用头像网站怎么做免费seo搜索引擎
  • 网站建设亿玛酷技术网站百科怎么做
  • 先做他个天猫网站哪个网站做黑色星期五订酒店活动
  • 注册 网站开发 公司网站论坛制作
  • 少年宫网站建设模块广告优化
  • 小男孩与大人做的网站网页进不去是怎么回事
  • 查找网站建设历史记录苏州企业网站建设定制
  • 站长工具seo优化建议建设ca网站
  • 化妆品网站源码asp黄埔定制型网站建设
  • 阿里云服务起做网站凡客建站登陆
  • 泸州建设工程质量监督网站html5 php 网站源码
  • 门户网站是指wordpress sql优化
  • 北京的建设网站公司如何去除wordpress首页功能
  • 简单网站模板下载长葛哪里有做网站的
  • 西安企业网站建设代理机构肇庆制作网络公司
  • 郑州旅游网站制作wordpress404页面更爱
  • 关于网站建设的电话销售话术公司邮箱名称
  • 响应式网站内容布局装修包工头接活网站
  • 帮客户做网站平台犯法吗网站关键词提高
  • seo站点新型建站技术
  • 搜讯网站开发网站开发费是无形资产吗
  • 培训机构网站本地环境如何安装wordpress
  • 动漫网站开发研究内容seo需要掌握哪些技术
  • 长春有微信网站一起整的吗阿里云网站核验单
  • 云南省住房和城乡建设局网站做衬衫的作业网站
  • 律师事务所手机网站做公司网站服务器
  • access做调查表网站泰安百度推广代理商
  • 医院网站运营方案欧美网站建设教程
  • 先做网站 先备案公司的网络拓扑图