版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附录A图A系统原理图附录B图BLCD1602字符显示表附录C校园时间作息系统程序设计(1)Main.c#include<reg52.h>#include<intrins.h>#include"ds1302.h"#include"lcd1602.h"#include<math.h>#include"stdlib.H"#include"stdio.H"#defineucharunsignedchar#defineuintunsignedint//按键定义sbitk1=P1^0;//sbitk2=P1^1;//sbitk3=P1^2;//sbitk4=P1^3;//sbitk5=P1^4;//sbitk6=P1^5;//sbitk7=P1^6;//sbitk8=P1^7;//sbitLED1=P3^5;//sbitLED2=P3^6;//sbitbeep=P3^7;//蜂鸣器引脚uchardis_lcd[16];ucharmode; //模式0时钟1倒计时ucharcodexingqi[]={"SunMonTueWedThuFriSat"};ucharcodesetnum[]={1,1,2,3,4,6,7,9,10,0x0d,0x42,0x43,0x45,0x46,0x48,0x49};//设置值的位置时钟ucharcodesetnum1[]={2,2,3,5,6,8,9,0x42,0x43,0x45,0x46,0x48,0x49};//设置值的位置定时灯ucharcodesetnum2[]={0,0,1,3,4,8,9,11,12,0x40,0x41,0x43,0x44};//设置值的位置定时课表ucharcodeswkbtime[]={0,40,50,90,120,160,170,210};//上午课表与设置上课时间差4节ucharcodexwkbtime[]={0,40,50,90,110,150,160,200};//下午课表与设置上课时间差4节ucharcodewskbtime[]={0,40,50,90,100,140};//晚上表与设置上课时间差3节ucharledtime[]={0,0,0x18};//开灯时间ucharledtime1[]={0,0,0x22};//关灯时间ucharswtime[]={0,0,0x08};//上午时间ucharxwtime[]={0,0,0x14};//下午时间ucharwstime[]={0,0,0x19};//晚上时间ucharsetaddr;//设置值的位置数组偏移量ucharanjian;//按键值ucharpage;//页面显示uinttmp;//临时变量uchartimenext=13;//存储上一秒时间uintztime[4];//存储总时间长上午时间长下午时间长晚上时间长#include"set.h"/***********************主函数*************************************************/voidmain(void){ time[7]=0x20;LCD_initial();//液晶初始化while(1){//手动开关灯if(k1==0&&mode==1)//灯按键{LED1=0;}elseif(k1==1&&mode==1)LED1=1;if(k2==0&&mode==1)//手动自动按键{LED2=0;}elseif(k2==1&&mode==1)LED2=1;if(k3==0)//手动自动按键{while(k3==0);mode++;if(mode>1)mode=0;}if(k4==0)//时间设置按键{while(k4==0);if(setaddr<12){write_command(1);//清屏write_command(0x0c);//开整体显示,光标关,无黑块sprintf(dis_lcd,"%02d:%02d%02d:%02d\n",hex_dec(swtime[2]),hex_dec(swtime[1]),hex_dec(xwtime[2]),hex_dec(xwtime[1]));//转字符串string(0x80,dis_lcd);sprintf(dis_lcd,"%02d:%02d\n",hex_dec(wstime[2]),hex_dec(wstime[1]));//转字符串string(0xc0,dis_lcd);write_command(0x0F);//开整体显示,光标开,黑块page=3;setaddr++;write_command(0x80+setnum2[setaddr]);//计算设置值位置}else{write_command(0x0c);//开整体显示,光标关,无黑块page=0;setaddr=0; write_command(1);//清屏 }}if(k5==0)//时间设置按键{while(k5==0);if(setaddr<12){write_command(1);//清屏write_command(0x0c);//开整体显示,光标关,无黑块sprintf(dis_lcd,"%02d:%02d:%02d\n",hex_dec(ledtime[2]),hex_dec(ledtime[1]),hex_dec(ledtime[0]));//转字符串string(0x80,dis_lcd);sprintf(dis_lcd,"%02d:%02d:%02d\n",hex_dec(ledtime1[2]),hex_dec(ledtime1[1]),hex_dec(ledtime1[0]));//转字符串string(0xc0,dis_lcd);write_command(0x0F);//开整体显示,光标开,黑块page=2;setaddr++;write_command(0x80+setnum1[setaddr]);//计算设置值位置}else{write_command(0x0c);//开整体显示,光标开,无黑块page=0;setaddr=0;write_command(1);//清屏 }}if(k6==0)//时间设置按键{while(k6==0);if(setaddr<15){write_command(0x0F);//开整体显示,光标开.黑块page=1;setaddr++;write_command(0x80+setnum[setaddr]);//计算设置值位置}else{write_command(0x0c);//开整体显示,光标开,无黑块page=0;setaddr=0; set1302(time);write_command(1);//清屏 }}//显示函数switch(page){case0://读取时间get1302(time);//液晶显示时间sprintf(dis_lcd,"%02d%02d-%02d-%02d\n",hex_dec(time[7]),hex_dec(time[6]),hex_dec(time[4]),hex_dec(time[3]));//转字符串string(0x80,dis_lcd);wr_char(0x8d,xingqi[(time[5]-1)*3+0]);wr_char(0x8e,xingqi[(time[5]-1)*3+1]);wr_char(0x8f,xingqi[(time[5]-1)*3+2]);sprintf(dis_lcd,"%02d:%02d:%02d\n",hex_dec(time[2]),hex_dec(time[1]),hex_dec(time[0]));//时间和温度转字符串string(0xC0,dis_lcd);if(mode==0)string(0xcc,"auto");elsestring(0xcc,"");break;case1://设置时间if(k7==0)//上调{while(k7==0);readdat();if(anjian<9)anjian++;write_data(anjian+0x30);write_command(0x80+setnum[setaddr]);//计算设置值位置writedat();//写入时间到时钟芯片set1302(time);}if(k8==0)//下调{while(k8==0);readdat();if(anjian>0)anjian--;write_data(anjian+0x30);write_command(0x80+setnum[setaddr]);//计算设置值位置writedat();//写入时间到时钟芯片set1302(time);}break;case2://设置时间if(k7==0)//上调{while(k7==0);readdat1();if(anjian<9)anjian++;write_data(anjian+0x30);write_command(0x80+setnum1[setaddr]);//计算设置值位置writedat1();}if(k8==0)//下调{while(k8==0);readdat1();if(anjian>0)anjian--;write_data(anjian+0x30);write_command(0x80+setnum1[setaddr]);//计算设置值位置writedat1();}break;case3://设置时间if(k7==0)//上调{while(k7==0);readdat2();if(anjian<9)anjian++;write_data(anjian+0x30);write_command(0x80+setnum2[setaddr]);//计算设置值位置writedat2();}if(k8==0)//下调{while(k8==0);readdat2();if(anjian>0)anjian--;write_data(anjian+0x30);write_command(0x80+setnum2[setaddr]);//计算设置值位置writedat2();}break;}//LED控制函数if(time[2]==ledtime[2]&&time[1]==ledtime[1]&&time[0]==ledtime[0]&&mode==0)//开灯指令{LED1=0;LED2=0;}if(time[2]==ledtime1[2]&&time[1]==ledtime1[1]&&time[0]==ledtime1[0]&&mode==0)//关灯指令{LED1=1;LED2=1;}ztime[0]=hex_dec(time[2])*60+hex_dec(time[1]);ztime[1]=hex_dec(swtime[2])*60+hex_dec(swtime[1]);ztime[2]=hex_dec(xwtime[2])*60+hex_dec(xwtime[1]);ztime[3]=hex_dec(wstime[2])*60+hex_dec(wstime[1]);//打铃控制if(mode==0){if((ztime[0]==ztime[1]+swkbtime[0]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[1]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[2]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[3]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[4]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[5]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[6]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[7]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[0]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[1]&&time[0]<10)||、(ztime[0]==ztime[2]+xwkbtime[2]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[3]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[4]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[5]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[6]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[7]&&time[0]<10)||(ztime[0]==zti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖北武汉市华中农业大学韩文元课题组诚聘博士后笔试模拟试题及答案解析
- 2026云南怒江州贡山县医疗保障局选聘医疗保障义务社会监督员10人考试备考题库及答案解析
- 2026广西崇左市江州区消防救援大队招聘财务会计1人考试备考题库及答案解析
- 2026广东清远市佛冈县石角镇招聘专职消防安全监管员2人考试备考题库及答案解析
- 2026内蒙古民族大学招聘银龄教师17人考试参考题库及答案解析
- 2026安徽消防中控员考试参考试题及答案解析
- 2026年温医大眼视光干细胞生物医学与生物材料工程研究组招聘备考题库及1套完整答案详解
- 南京古生物所非在编项目聘用人员(劳务派遣)招聘备考题库(2025年第18期)及参考答案详解一套
- 中国支付清算协会2026年度公开招聘备考题库含答案详解
- 兴国县鼎龙乡中心幼儿园2026年春季教师招聘备考题库及答案详解1套
- 2026年中央广播电视总台招聘124人备考笔试题库及答案解析
- 四川水利安全b证考试试题及答案
- 2626《药事管理与法规》国家开放大学期末考试题库
- 合资船舶合同范本
- 2025年云南昆明巫家坝建设发展有限责任公司及下属公司第四季度社会招聘31人笔试参考题库附带答案详解(3卷)
- 2026年湖南化工职业技术学院单招职业技能考试题库含答案详解
- 食材配送公司管理制度(3篇)
- 供销合同示范文本
- 2024年供应链运营1+X职业技能等级证书中级考试(含答案解析)
- 《分布式光伏发电开发建设管理办法》问答(2025年版)
- 国家金融监督管理总局真题面试题及答案
评论
0/150
提交评论