题目基于stc12c5a16s2单片机的电子万年历和温度采集系统设计内容摘要:
or , . [18] 朱路 . 连续补充充电实时时钟芯片 DS1302 及其应用 [J]. 现代电子技术 , :116118. [19] 白雪宇 . 小热电 DCS 控制系统研究 [D]. 长春理工大学 ,2020 [20] 于永学 ,葛建 . 1Wire 总线数字温度传感器 DS18B20 及应用 [J]. 电子产品世界 .2020(24). Electronic calendar and temperature acquisition system design based on STC12C5A16S2 microcontroller Abstract: Microcontroller is a high integration, high reliability, small size, low power consumption, lowcost microprocessors, has been widely used in various occasions. This paper using the electronic calendar of the MCS51 series microcontroller STC12C5A16S2 designcentric device, described in detail the principle of singlechip control, LCD display principle, principle of operation of the temperature sensor and timely clock control principle. The system has a calendar clock and temperature display can accurately show the year, month, week, day, hours, minutes, seconds and temperature, you can make flexible use of the key line tone. Keyword: MCU of STC12C5A16S2; DS1302; liquid crystal display; DS18B20 12 附录 附录Ⅰ 电子万年历 电路原理图和 PCB 电路板 附图 1 电子万年历 电路原理图 附图 2 电子万年历 PCB 图 13 附录Ⅱ 电子万年历程序 1.电子万年历主程序 +键盘扫描程序 /******************************************/ /*******文件名称:电子万年历主程序 +键盘扫描 ****/ /*******完成日期: 2020 年 11 月 8 日 ************/ /*******修改日期 : 2020 年 2 月 29 日 *************/ /*******作者:杨富 *************************/ /******************************************/ include include include include include include include sbit k1=P1^0。 //按键端口定义 sbit k2=P1^1。 sbit k3=P1^2。 sbit k4=P1^3。 define uchar unsigned char define uint unsigned int uchar key1=0,key2=0,key3=0。 /***函数名称:键盘消抖延时 ************/ /***入口参数: uint Z******************/ /***函数功能:短暂延时,去除键盘抖动 **/ void delayK(uint z) { uint x,y。 for(x=z。 x0。 x) for(y=110。 y0。 y)。 } /***函数名称:键盘管理程序 *****/ /***函数功能:扫面按键,设定 ***/ /******************************/ void key() { uchar nian=0,yue=0,ri=0,zhou=0,xiaoshi=0,fenzhong=0,miao=0。 if(!k1) //功能选择 { delayK(20)。 //按键消抖 if(!k1) { lcd_pos(4,1)。 //显示设置提示 lcd_wdat(DIS7[0])。 //设 lcd_wdat(DIS7[1])。 lcd_wdat(DIS7[2])。 //置 lcd_wdat(DIS7[3])。 lcd_wdat(DIS3[1])。 // lcd_wdat(DIS3[2])。 // key1++。 if(key1==8) 14 key1=1。 switch(key1) //进行设定功能选择 { case 1: { lcd_pos(4,4)。 //年 lcd_wdat(DIS7[4])。 lcd_wdat(DIS7[5])。 }。 break。 case 2: { lcd_pos(4,4)。 //月 lcd_wdat(DIS7[6])。 lcd_wdat(DIS7[7])。 }。 break。 case 3: { lcd_pos(4,4)。 //日 lcd_wdat(DIS7[10])。 lcd_wdat(DIS7[11])。 }。 break。 case 4: { lcd_pos(4,4)。 //周 lcd_wdat(DIS7[8])。 lcd_wdat(DIS7[9])。 }。 break。 case 5: { lcd_pos(4,4)。 //时 lcd_wdat(DIS7[12])。 lcd_wdat(DIS7[13])。 }。 break。 case 6: { lcd_pos(4,4)。 //分 lcd_wdat(DIS7[14])。 lcd_wdat(DIS7[15])。 }。 break。 case 7: { lcd_pos(4,4)。 //秒 lcd_wdat(DIS7[16])。 lcd_wdat(DIS7[17])。 }。 break。 } //end switch } //end if1 while(k1==0)。 //等待按键释放 } // end if(k1) if(!k2) //增加键控制 { delayK(200)。 if(!k2) { if (key1 == 1) //如果选择年 { nian=((now[6]4)amp。 0x0F)*10 + (now[6]amp。 0x0F)。 //将年的 BCD 码转换为十进制数 15 nian++。 if (nian == 100) { nian = 0。 } if (nian 0) { nian = 99。 } now[6]=((nian/10)4)|(nian%10)。 //将年的十进制数转换为 BCD 码 DS1302_WriteData(0x8e, 0x00)。 //允许写操作 DS1302_WriteData(0x8c, now[6])。 DS1302_WriteData(0x8e, 0x80)。 //写保护 } if (key1 == 2) //如果选择月 { yue=((now[4]4)amp。 0x0F)*10 + (now[4]amp。 0x0F)。 //将月的 BCD 码转换为十进制数 yue++。 if (yue == 13) { yue = 1。 } if (yue == 0) { yue = 12。 } now[4]=((yue/10)4)|(yue%10)。 //将月的十进制数转换为 BCD 码 DS1302_WriteData(0x8e, 0x00)。 //允许写操作 DS1302_WriteData(0x88, now[4])。 DS1302_WriteData(0x8e, 0x80)。 //写保护 } if (key1 == 3) //如果选择日 { ri=((now[3]4)amp。 0x0F)*10 + (now[3]amp。 0x0F)。 //将日的 BCD 码转换为十进制数 ri++。 if (ri == 32) { ri = 1。 } if (ri == 0) { ri = 31。 } now[3]=((ri/10)4)|(ri%10)。 //将日的十进制数转换为 BCD 码 DS1302_WriteData(0x8e, 0x00)。 //允许写操作 DS1302_WriteData(0x86, now[3])。 DS1302_WriteData(0x8e, 0x80)。 //写保护 } if (key1 == 4) //如果选择星期 { zhou=((now[5]4)amp。 0x0F)*10 + (now[5]amp。 0x0F)。 //将星期的 BCD 码转换为十进制数 zhou++。 if (zhou == 8) { zhou = 1。 } switch(zhou) { 16 case 1: now[5]=0x01。 break。 case 2: now[5]=0x02。 break。 case 3: now[5]=0x03。 break。 case 4: now[5]=0x04。 break。 case 5: now[5]=0x05。 break。 case 6: now[5]=0x06。 break。 case 7: now[5]=0x07。 break。 } DS1302_WriteData(0x8e, 0x00)。 //允许写操作 DS1302_WriteData(0x8a, now[5])。 DS1302_WriteData(0x8e, 0x80)。 //写保护 } if (key1 == 5) //如果选择小时 { xiaoshi=((now[2]4)amp。 0x0F)*10 + (now[2]amp。 0x0F)。 //将小时的 BCD 码转换为十进制数 xiaoshi++。 if (xiaoshi == 24) { xiaoshi = 0。 } now[2]=((xiaoshi/10)4)|(xiaoshi%10)。 //将小时的十进制数转换为 BCD 码 DS1302_WriteData(0x8e, 0x00)。 //允许写操作 DS1302_WriteData(0x84, now[2])。 DS1302_WriteData(0x8e, 0x80)。 //写保护 } if (key1 == 6) //如果选择分钟 { fenzhong=((now[1]4)amp。 0x0F)*10 + (now[1]amp。 0x0F)。 //将 时的 BCD 码转换为十进制数 fenzhong++。 if (fenzhong == 60) { fenzhong = 0。 } now[1]=((fenzhong/10)4)|(fenzhong%10)。题目基于stc12c5a16s2单片机的电子万年历和温度采集系统设计
相关推荐
控火焰等离子切割机 POWERMAX1650 47 乌石化机械总厂 1 数控火焰等离子切割机 MAX200 48 张家港华机环保机械有限公司 1 数控火焰切割机 杨伟 0512- 58678856 49 昆山明远 重工股份有限公司 1 数控火焰切割机 韩清 57697889 50 湖州培麗钣金科技有限公司 1 数控火焰切割机 沈培根 05723032218 51 湖南株洲华夏模板厂 1
计方案 经过这么多年的发展,视频监控经历了三个阶段的演变: 一是早期采用的模拟视频监控,监控信息实行本地存储,事后由人力来完成对监视画面的分析、判断; 另一种是模拟和数字相结合,前端模拟摄像机拍摄并输出模拟视频信号,后端通过计算机收集图像进行数字处理、智能分析与存储; 三是采用 IP 智能监控,前端为模拟摄像头 +编解码器或者 IP 摄像机
职称。 技术装备及管理水平 ( 1)有必要的技术装备及固定的工作场所。 ( 2)有较完善的质量体系和技术、经营、人事、财务、档案等管理制度。 三、承担业务范围 (一) 甲级 承担 风景 园林工程 专项 设计 的类型 和规模不受限制。 (二)乙级 可承担 中型以下规模风景园林工程项目和 投资额在 2020 万元以下的 大型风景 园林工程项目的设计。 四、附则 本标准由建设部负责解释。 附 表 1:
,给予大力支持,使他们全身心地从事专业工作,发挥所长,帮助他们多出成果、快出成果。 加强服务。 关心所联系人才及其家属在工作、生活、学习、健康等方面的保障情况,倾听他们的呼声和要求,尽力帮助解决实际困难和问题。 三、联系方式 联系会议。 镇 党委统一组织,定期召开人才联系会议,通报我 镇 经济社会发展及人才工作重大决策和工作部署,听取所联系人才及其单位对我 镇 人才工作的意见和建议
制开展活动 医院把党务公开院 务公开作为平台,进一步加强我院党组织建设 , 密切党群、干群关系 ,以实现好、维护好、发 展好群众的根本利益 ,不断推进我院各项工作的全面发展。 (一)提高一个认 识。 提高广大党员做好群众工作的认识。 医院加强和改进新形势下的群众工作时,认真研究 我院群众工作的特点 ,建立健全群众工作的组织机构和工作机制 ,探索开展群众工作的途径与 方 法