参考基于at89s52单片机的校园打铃系统设计毕业论文内容摘要:
00:00_00(在 4 月的 12 时闹钟响一次 )。 4:设置星期 定时闹钟: ?/?/?[二 ]12: 00: 00_00(在每周二的 12 时闹钟响一次 )。 4. 2 系统总流程图 19 主程序 蜂鸣器蜂鸣一声 红外中断接收 LCM2402 DS1302 初始化 显示 dalinlcd2402 Wele to used 2402 初始化 关蜂鸣器 Menu=0 主显示菜单 Menu=1 调时 菜单 Menu=2 定时查看菜单 1 2 3 显示时间 定时值校对处理 DT。 =0xff(有键按下) Y 09 按下 定时加减键 DT=。 2402 初始化 显示 Y N Menu=2 定时查看 2402 初始化 清空 DT 接下页 按 sleep 键 Menu=1 按 off 键 Menu=99 DT= 其他 DT=off 子流程图 A 子流程图 B N 子流程图 1 2 3 41 系统流程图 1 20 42 系统流程图 2 接上页 DT=0X00amp。 DT0X0A DT=0X4C N=0 N=1 X=DT N++ Y=DT N 显示 XY 清空 DT 显示“ OK” 清空 DT 子流程图 A 显示 DT!=OFF(有键按下 ) DT=? DT=2F ( PP 键) DT=1D (AV 键 ) 其他 DT=OFF Menu=0 Menu=1 2402 初始化 清空 DT 21 图 43 系统流程图 3 子流程图 B 显示定时时间 DT!=OFF DT=? 18 13 14 15 16 其他 Menu=1 Rom加 1 Rom 减 1 Rom 加 5 Rom 减 5 Menu=0 Rom24 且 rom100 Rom=0 Rom200 Rom=24 2402 初始化 清空 DT 22 图 44 系统流程图 4 子流程图 1 MENU=99(帮助菜单 ) DT=0X2F DT!=0XFF DT=0X1D i=0 menu=0 I++ i6 时 i=0 2402 初始化 清空 DT 子流程图 2 Menu=11 显示时间 09 按下 SET+ SET AV 键 调用写时间程序 I++ i— i1 是 i=6 Menu=0(主界面) I=6 清屏刷新显示 延时 清空 DT 一体函数 23 图 45 系统流程图 5 系统主程序 系统 主程序 /******************************************************************************************** //系统主程序 // 菜单切换 //main() *********************************************************************************************/ void main (void){ beep_a()。 keyboard_int ()。 LCM2402_Init()。 //LCM2402 初始化 Init_1302()。 //检测时钟芯片是否未被初始化 CgramWrite()。 print(0x80, DalingLCD2402 )。 print(0xc2, Wele to used)。 DelayS(5000)。 LCM2402_Init()。 //LCM2402 初始化 Bell_Out=1。 子流程图 3 (定时菜单) menu=12 显示定时时间 09 按下 SET+ SET AV 键 调用定时时间程序 I++ i— i1 是 i=6 Menu=0(主界面) I=6 清屏刷新显示 延时 清空 DT 一体函数 24 while(1){//主线程 // //0 主显示 if(menu == 0){ RealTime_Display()。 //在第一行显示时间部分 print(0xc6, !AL)。 print2(0xca, )。 print(0xcb, Used: )。 print2(0xd3,alarm_con/16+0x30)。 print2(0xd4,alarm_con%16+0x30)。 print(0xd5,/25)。 search_time()。 //定时值校对 amp。 处理函数 if (DT != 0xff){ if(DT=0x00 amp。 amp。 DT 0x0a){ uint16 i。 uint8 n=0,x=0xff,y=0xff。 LCM2402_Init()。 //LCM2402 初始化 for(i=0。 i500。 i++){ print(0x83,{ Controller NO. })。 print(0xc3,{ )。 print(0xcd, })。 if(DT=0x00 amp。 amp。 DT 0x0a){ switch (n){ case 0: x = DT。 n++。 i=0。 break。 // case 1: y = DT。 n。 i=0。 break。 // } print2(0xcb,x%16+0x30)。 print2(0xcc,y%16+0x30)。 DelayS250()。 DT = 0xff。 } if(DT == 0x4C){ print(0xca,{OK})。 //ALARMing(i)。 //** 闹钟和无线遥控的键值处理 ** DelayS250()。 DT = 0xff。 } } } if(DT0x12 amp。 amp。 DT 0x17){//当按定时加减查看的几个键时会进入定时查看菜单 25 menu = 2。 } switch (DT){ case 0x1c: menu = 1。 break。 // case 0x2F: menu =99。 break。 // default:DT = 0xff。 break。 } LCM2402_Init()。 //LCM2402 初始化 DT = 0xff。 } } //1 是否调时。 if(menu == 1){ print(0x80,Set The Real Time ?)。 print(0xc5,PP: OK AV: Esc)。 if (DT != 0xff){ switch (DT){ case 0x1D: menu = 0。 break。 // case 0x1B: menu = 11。 break。 // default:DT = 0xff。 break。 } LCM2402_Init()。 //LCM2402 初始化 DT = 0xff。 } } //2 定时查看 if(menu == 2){ alarm_Display()。 //在第一行显示定时部分 print(0xc3,] NO.)。 print2(0xc8,0x30+rom/10)。 print2(0xc9,0x30+rom%10)。 print(0xce,STORE: Set)。 if (DT != 0xff){ switch (DT){ case 0x18: menu = 12。 break。 // case 0x13: rom++。 break。 // case 0x14: rom。 break。 // case 0x15: rom=rom+5。 break。 // case 0x16: rom=rom5。 break。 // case 0x1D: menu = 0。 break。 // default:DT = 0xff。 break。 26 } if(rom 24 amp。 amp。 rom 100){ rom = 0。 }//当 if(rom 200){ rom = 24。 } LCM2402_Init()。 //LCM2402 初始化 DT = 0xff。 } } //99 帮助菜单 if(menu == 99){ uint8 i。 if (DT != 0xff){ if(DT == 0x2F){ i++。 if(i 6){i=0。 } DelayS(500)。 } if(DT == 0x1D){ i = 0。 menu = 0。 } LCM2402_Init()。 //LCM2402 初始化 DT = 0xff。 } switch (i){ case 0: print(0x80,AV: Esc Help)。 print(0xc0,MUTE: Next Help Page)。 break。 // case 1: print(0x80,SLEEP: Set The Real Time)。 print(0xc0,00~99: Controller NO.)。 break。 // case 2: print(0x80,set+/: Up/Down)。 print(0xc0,PR.+/: Alarm +/1)。 break。 // case 3: print(0x80,.+/: Alarm +/5)。 print(0xc0,STORE: Set Alarm)。 break。 // case 4: print(0x80,/: Jumping)。 print(0xc0,SEARCH: Set to ??)。 break。 // case 5: print(0x80,PP: OK!)。 print(0xc0,AV: Exit/Clean!)。 break。 // case 6: print(0x81,daling| DL2402)。 print(0xc5,zhu cai dan )。 break。 // default:break。 } } //11 调时输入 if(menu == 11){ static unsigned char i=0。 bit k。 //定义静态 RealTime_Display()。 //在第一行显示时间部分 for(i=1。 i8。 ){//8 个时钟数据的循环加位 switch (i){//显示设置项的说明 case 7: print(0xc0,AV:Esc (Second 00~59)^^)。 break。 // 27 case 6: print(0xc4,(Minute 00~59)^^)。 break。 // case 5: print(0xc3,(Hour 00~23)^^)。 break。 // case 4: print(0xcc,^(Week 1~7))。 break。 // case 3: print(0xc8,^^(Date 01~31))。 break。 // case 2: print(0xc5,^^(Month 01~12))。 break。 // case 1: print(0xc2,^^(Year 00~99) AV:Esc)。 break。 // } print(0x97。参考基于at89s52单片机的校园打铃系统设计毕业论文
相关推荐
I/ O 口线,而且测量精度达到 12 位,最低 精确到小数点后 4 位有效数字。 用这种智能化数字式传感器的优势显而易见。 近十年来随着时代的发展,科研、农业、暖通、纺织、机房、航空航天 、电力等工业部门,越来越需要采用湿度传感器,对产品质量的要求越来越高,对环境温、湿度的控制以及对工业材料水分 值的监测与分析都已成为比较普遍的技术条件之一。 湿度传感器产品及湿度测量属于 90 年代兴起的行业
保健品开发、生产 生物化学、食品化学、食品 微生物 、 营养学 、 发酵技术、食品保鲜技术、食品包装技术、 食品 加工技术 、 食品 质量与安全控制技术、食品现代分析与检测技术、食品掺伪鉴别检验、食品有害微生物检验技术、食品营销、食品加工与营销 专题讲座 等 企业顶岗实习 专业技 能训 练 和生 产 实 习 (校企共同完成) 基础技能训练 (主要校内完成) 品质检验 管理 、营 销
国从 20 世纪70 年代开始研制 ,历时 20 年 ,耗资 200 亿美元 ,于 1994 年全面建成 ,具有海、陆、空进行全方位实施三维导航与定位能力的新一代卫星导航与定位系统。 随着 GPS 定 位技术的不断改进 ,软、硬件的不断完善 ,长期使用的测角、测距、测水准为主体的常规地面定位技术 ,正在逐步被以一次性确定三维坐标的高速度、高精度、费用省、操作简单的 GPS 技术代替。 GIS
业务 小组 业务 小组 业务 小组 学生 业务 小组 业务 小组 业务 小 组 学生 业务 小组 业务 小组 业务 小组 学生 课程一教师 课程二教师 课程三教师 业务一 业务二 业务三 业务包 其他外贸企业 校外实训基地 网上信息 业务 小组 业务 小组 业务 小组 教师根据工作进程进行业务分拆 教师根据课程 要求领取业务 将公司业务转化为 工作任务布置给学生 教师组织 学生操作 业务评比
槽宽及槽深的尺寸公差的等级为 : 粗铣时 IT14; 半精铣时 , 粗宽为 IT13, 槽深为 IT14。 均可选用读数据为 、测量范围 0~ 150mm 的游标卡尺进行测量。 ③ 选择滚齿轮工序所用量具 滚齿工序在加工时测量公法线长度即可。 根据表 , 选分度值为 、 测量范围 25~ 50mm 的公法线千分尺。 ④ 选择加工轴向尺寸所用量具 加工轴向尺寸所用 量具见表 52。 Ⅲ 90
具 的设计与 加工 摘 要 : 本课题 通过对 冲压模具 工艺的分析,设计了 零件垫片。 详细地叙述了 冲压件工艺性、冲压工艺方案的选择 ,重要零件的工艺参数的选择与计算,并对 模具的总体设计及模具的装配过程 作了介绍。 关键 词 : 垫片, 级进 ,模具,冲压 ,选择,计算 黑龙江农业经济职业学院机电工程系毕业论文 2 前 言 我设计的该模具是根据市场要求所设计的,通过对零件的认识可知,该