其它考试]基于stc89s52单片机的实时时钟设计内容摘要:
5,根据 INTEL 总线读时序时序图读数据程序: uchar read_12C887(uchar add)//在指定的地址读出数 据 { uchar read_data。 DS=1。 RW=1。 AS=1。 CS=0。 P0=add。 AS=0。 DS=0。 P0=0XFF。 read_data=P0。 DS=1。 AS=1。 CS=1。 return(read_data)。 } 19 时间调整,闹钟调整,年、月、日调整 切换 子程序设计 当按下按钮 SW1 时 ,中间标志位 i 会自动进行加操作。 当 i 等于 1 时,时间调整标志位置 1,进入时间调整状态。 当 i 等于 2 时,闹钟调整标志位置 1,进入闹钟调整状态。 当 i等于 3 时,年、月、日调整标志位置 1,进入年、月、日调整状态。 1, 时间调整,闹钟调整,年、月、日调整却换子程序 如下 : void gongneng_quehuan() //功能却换子程序 { if(SW1==0) { delay(5)。 if(SW1==0) { while(SW1==0)。 display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 i++。 if(i==1) { flag_set_time=1。 //将时间 调整 标志位置 1 } else if(i==2) { flag_set_time=0。 flag_set_alarm=1。 //将闹钟调整标志位置 1 } else if(i==3) { i=0。 flag_set_century=1。 //将年、月、日调整标志位置 1 } } } } 20 时间调整子程序设 计 由于本 人想向单片机更高层次编程,本 设计只用三个按钮 根据不同的组合状态进行时间,闹钟,年,月,日的调整。 所以程序相对来说是比较复杂的。 具体时间调整过程是这样的, 首先进行小时调整 ,然后进行分钟调整,最后进行秒钟调整。 在小时调整过程中,如果 SW2 按钮每按下一次时将对小时 当前值 加 1 次,当加到 24 时小时清零;如果 SW3 按钮每被按下一次时将对小时当前值减 1 次,当减到 0 后再按一次 SW3 时 小时 赋值到 23。 小时调整完毕后 将所调整好的小时值写入小时寄存器中 ,然后又将写入 到 小时寄存器的数值从 DS12CR887 中读取出来 并 在显示屏上 显示出来。 在分钟调整 过程中, 如果 SW2 按钮每按下一次时将对分钟当前值加 1 次,当加到 60 时分钟清零,小时加 1;如果 SW3 按钮每被按下一次时将对分钟当前值减 1 次,当减到 0 后再按一次 SW3 时分钟赋值到 59。 分钟调整完毕后将所调整好的分钟值写入分钟寄存器中,然后又将写入 到 分钟寄存器的数值从 DS12CR887 中读取出来并在显示屏上显示出来。 在 秒 钟调整过程中,如果 SW2 按钮每按下一次时将对 秒 钟当前值加 1 次,当加到 60 时 秒 钟清零,分钟 加 1;如果 SW3 按钮每被按下一次时将对 秒 钟当前值减 1 次,当减到 0 后再按一次 SW3 时 秒 钟赋值到 59。 秒 钟调整完毕后将所调整好的 秒 钟值写入 秒 钟寄存器中,然后又将写入 到秒 钟寄存器的数值从 DS12CR887 中读取出来并在显示屏上显示出来。 当小时、分钟、秒钟都调整完毕后按下确认键( SW1 和 SW2都被按下时)时间调整完成,并将当前所调整出来的 数值在显示屏上面显示出来,进入时间显示状态。 1, 时间调整子程序如下: void shijian_tiaozheng() { char hours_timeset,timeset=0。 if(flag_set_time==1) { write_12C887(REGISTER_B,0XA6)。 flag_set_time=0。 if(timeset==0) { hours_timeset=read_12C887(hours)。 //读取当前小时的值 SW2=1。 SW1=1。 while(((SW2==0)amp。 amp。 (SW1==0))!=1) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset++。 //小时值加 1 21 if(hours_timeset=24) hours_timeset=0。 write_12C887(hours,hours_timeset)。 //将调整后的小时的值写入小时寄存器 // LED2=1。 } } if(SW3==0) { delay(5)。 if(SW3==0) { while(SW3==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset。 //小时值减 1 if(hours_timeset0) hours_timeset=23。 write_12C887(hours,hours_timeset)。 //将调整后的小时的值写入小时寄存器 } } display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 } timeset=1。 } SW1=1。 SW2=1。 while((SW2amp。 amp。 SW1)==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 if(timeset==1) { hours_timeset=read_12C887(minutes)。 SW2=1。 SW1=1。 while(((SW2==0)amp。 amp。 (SW1==0))!=1) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset++。 if(hours_timeset=60) hours_timeset=0。 write_12C887(minutes,hours_timeset)。 } } if(SW3==0) { delay(5)。 if(SW3==0) { 22 while(SW3==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset。 if(hours_timeset0) hours_timeset=59。 write_12C887(minutes,hours_timeset)。 } } display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 } timeset=2。 } SW1=1。 SW2=1。 while((SW2amp。 amp。 SW1)==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 if(timeset==2) { hours_timeset=read_12C887(seconds)。 SW2=1。 SW1=1。 while(((SW2==0)amp。 amp。 (SW1==0))!=1) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset++。 if(hours_timeset=60) hours_timeset=0。 write_12C887(seconds,hours_timeset)。 } } if(SW3==0) { delay(5)。 if(SW3==0) { while(SW3==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset。 if(hours_timeset0) hours_timeset=59。 write_12C887(seconds,hours_timeset)。 } } display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 } timeset=0。 23 while((SW2amp。 amp。 SW1)==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 write_12C887(REGISTER_B,0X26)。 } } } 24 闹钟定时调整子程序设计 在正常的走时状态下,连续两次按下 SW1 按钮,将进入闹钟调整状态。 首先进行小时调整,然后进行分钟调整,最后进行秒钟调整。 在小时调整过程中,如果 SW2 按钮每按下一次时将对小时当前值加 1 次,当加到 24 时小时清零;如果 SW3 按钮每被按下一次时将对小时当前值减 1 次,当减到 0 后再按一次 SW3时小时赋值到 23。 小时调整完毕后将所调整好的小时值写入小时寄存器中,然后又将写入到小时寄存器的数值从 DS12CR887 中读取出来并在显示屏上显示出来。 在分钟调整过程中,如果 SW2 按钮每按下一次时将对分钟当前值 加 1 次,当加到 60 时分钟清零,小时加 1;如果 SW3 按钮每被按下一次时将对分钟当前值减 1 次,当减到 0 后再按一次 SW3 时分钟赋值到 59。 分钟调整完毕后将所调整好的分钟值写入分钟寄存器中,然后又将写入到分钟寄存器的数值从DS12CR887 中读取出来并在显示屏上显示出来。 在秒钟调整过程中,如果 SW2按钮每按下一次时将对秒钟当前值加 1 次,当加到 60 时秒钟清零,分钟加。其它考试]基于stc89s52单片机的实时时钟设计
相关推荐
实训基地 , 并配备功能完善、先进的实训设备及软件。 —— 加强专业教学资源库建设。 每个特色专业必须有 3—5 部与企业共同开发建设的教材 , 有专业图书资料 1—2 万册 , 专业教 学资源丰富 , 能充分满足专业理论与实践教学的需要。 通过五年的努力 , 建设一批社会需求高、优势突出、条件优越、服务能力强、毕业生就业率高、社会评价好的特色专业 , 并以特色专业建设带动 相关 专业建设 ,
(12)综合配件 粘结剂,密封胶,随车工具,汽车弹簧,塑料件。 (13)车身及附件 雨刮器,玻璃,安全带,安全气囊,仪表台板。 (14)维修设备 钣金设备,净化系统,拆胎机,校正仪。 (15)电动工具 电冲剪,热风枪,电动千斤顶,电动扳手。 机械零部件非常多,在下文中将介绍几种典型的汽车零部件。 2 农机具典型零部件用材及热处理工艺研究 零部件用钢的一般情况在汽车生产中
进行核实。 如果有些情况确实无法核实,或者农民工联系不到,援助律师只能给已经联系到并确认其实际情况的提供援助。 在杨某某等 151人被拖欠工资案中,因求助时情况紧急,律师先办理了援助手续,随后律师亲自到农民工的居住地河北涞水进行了走访调查,经调查发现大部分农民工并不知道申请法律援助一事,包工头尹某某向律师提 交的欠条也与实际情况不符。 查明情况后,工作站及时终止了对该案件的援助。
页图 61.请学生猜 一猜:画面上的景物有可能是什么工具绘制的。 3.揭示答案:太阳、大树、群山为铅笔工具绘制;伞、蘑菇、扇子为线条与箭头工具绘制。 4.揭题:第 6 课线条图形工具。 基本的绘画工具( 8 分钟) 1.请学生与教师一起启动 Flash 软件。 2.转播教师机,引导学生一起认识铅笔工具的模式选项与属性设置。 3.引导学生选择教材第 33 页图 63
83。 23 实时数据库 24 设备窗口 24 用户窗口 25 MCGS的监控运行 26 7 结论 27 参考文献 28 致谢 29 附录 30 宁波大学信息科学与工程学院本科毕业设计(论文) 1 1 引言 电梯的概述 随着人口的增加,科学技术日新月异地发展,人们物质文化生活水平的逐步提高,建筑业得以迅速发展, 大批的高楼大厦拔地而起,十几层至几十层的宾馆、饭店、办公楼、住宅比比皆是。
部门 . 电 话: 传 真: 邮政编码: 9. 1. 1 申请人申请资格 每个申请人最多可对本项目的 个标段 提出资格预审申请,且允许中 个标;被 招标项目所在地省级交通主管部门评为最 高信用等级的申请人最多可对本项目的 —— 个标段提出资格预审申请,且允许中 个标② 需要补充的其他内容 ①审查委员会应由招标人代表和有关方面的专家组成,人数为五人以上单数,其 r}|技术、经济专家人数应不少 于