用51单片机实现电子时钟单片机课程设计(编辑修改稿)内容摘要:
连接至 9号复位引脚 复位电路如图所示,可以实现上电复位和手动复位功能。 时钟 电路设计 系统时钟源由内部时钟方式产生,时钟电路由 12MH 晶振和两个 30PF 瓷片电容组成,构成自激振荡,形成振荡源提供给单片机。 电容可在 5PF 到 30PF之间选择,电容的大小对振荡频率有微小影响,可起频率微调作用。 整 体 电路原理图 8 4 控制系统的软件设计 程序设计 由于 C 语言程序设计较汇编可读性强,可移植性,且可以大大降低编程的难 度和缩短开发周期,本系统程序采用 c 语言设计。 程序 源代码 include //包含单片机寄存器的头文件 include //包含 _nop_()函数定义的头文件 define uchar unsigned char define uint unsigned int sbit RS=P2^0。 //寄存器选择位,将 RS位定义为 sbit RW=P2^1。 //读写选择位,将 RW位定义为 sbit E=P2^2。 //使能信号位,将 E位定义为 sbit BF=P0^7。 //忙碌标志位,将 BF位定义为 uchar code table[]=20201207 WEEK6。 //初始化液晶显示 16 uchar code table1[]=TIME: 192750。 //14 uchar count,s1num。 char second,minute,hour,day,month,year,week。 sbit s1=P2^3。 //功能键 9 sbit s2=P2^4。 //加键 sbit s3=P2^5。 //减键 sbit s4=P2^6。 //保存并退出 /* 延时若干毫秒 */ void delay(uchar n) { uchar i,a,b。 for(i=0。 in。 i++) for(b=199。 b0。 b) for(a=1。 a0。 a)。 } /*********************************************** 函数功能:判断液晶模块的忙碌状态 返回值: result。 result=1,忙碌。 result=0,不忙 ************************************************/ uchar BusyTest(void) { bit result。 RS=0。 //根据规定, RS为低电平, RW为高电平时,可以读状态 RW=1。 E=1。 //E=1,才允许读写 _nop_()。 //空操作 _nop_()。 _nop_()。 _nop_()。 //空操作四个机器周期,给硬件反应时间 result=BF。 //将忙碌标志电平赋给 result E=0。 //将 E恢复低电平 return result。 } /******************************************** 函数功能:写指令 入口参数: dictate *********************************************/ void WriteInstruction(uchar dictate) { while(BusyTest()==1)。 //如果忙就等待 RS=0。 //根据规定, RS和 R/W同时为低电平时,可以写入指令 RW=0。 E=0。 //E置低电平 (根据表 86,写指令时, E为高脉冲, //就是让 E从 0到 1发生正跳变,所以应先置 0 _nop_()。 10 _nop_()。 //空操作两个机器周期,给硬件反应时间 P0=dictate。 //将数据送入 P0口,即写入指令或地址 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四个机器周期,给硬件反应时间 E=1。 //E置高电平 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四个机器周期,给硬件反应时间 E=0。 //当 E由高电平跳变成低电平时,液晶模块开始执行命令 } /********************************************* 函数功能:写数据 入口参数: y(为字符常量 ) **********************************************/ void WriteData(uchar y) { while(BusyTest()==1)。 RS=1。 //RS为高电平, RW为低电平时,可以写入数据 RW=0。 E=0。 //E置低电平 (根据表 86,写指令时, E为高脉冲, //就是让 E从 0到 1发生正跳变,所以应先置 0 P0=y。 //将数据送入 P0口,即将数据写入液晶模块 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四个机器周 期,给硬件反应时间 E=1。 //E置高电平 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四个机器周期,给硬件反应时间 E=0。 //当 E由高电平跳变成低电平时,液晶模块开始执行命令 } /****************************************** 函数功能:对 LCD的显示模式进行初始化设置 *******************************************/ void LcdInitiate(void) { uchar num。 11 second=50。 minute=27。 hour=19。 week=6。 day=7。 month=12。 year=13。 count=0。 s1num=0。 E=0。 delay(15)。 //延时 15ms,首次写指令时应给 LCD一段较长的反应时间 WriteInstruction(0x38)。 //显示模式设置: 162显示, //57点阵, 8位数据接口 delay(5)。 //延时 5ms?,给硬件一点 反应时间 WriteInstruction(0x38)。 delay(5)。 WriteInstruction(0x38)。 //连续三次,确保初始化成功 delay(5)。 WriteInstruction(0x0c)。 //显示模式设置:显示开,无光标, //光标不闪烁 delay(5)。 WriteInstruction(0x06)。 //显示模式设置:光标右移,字符不移 delay(5)。 WriteInstruction(0x01)。 //清屏幕指令,将以 前的显示内容清除 delay(5)。 WriteInstruction(0x80)。 f。用51单片机实现电子时钟单片机课程设计(编辑修改稿)
相关推荐
六、 总结 ...............................................................................................................................................................11 参考文献 ..........................
术、高温多晶矽液晶 (PloySi LCD)穿透式投影技术、 DMD(Digital Micromirror Device)数位光学处理 (DLP。 Digital Light Projector)反射式技术相关。 这三项技术已发展成熟,但 LCOS 则成为投影显示技术的新主流。 LCOS 市场定位在大尺寸 显示器 产品及 HMD(Head Mount Device)。 目前业 界普遍认可
; mmmzd n 1 3 s 21 0 2co s22 。 4计算齿轮宽度 mmmmdb d ,圆整后取 mmb 60。 则: mmb 602 (大齿轮); mmb 651 (小齿轮)。 12 因 1z 、 2z 、 1d 、 b 、 发生变化,故相应有关参数 1FaY 、 2FaY 、 1SaY 、 2SaY 、a 、 VK 、
力斩胃办罗 罚较 边 思 轨轻累 同财央朵曲 由则 崭册 几贩骨内风 凡赠峭 迪 岂邮 凤 生行知条长 处得各力向 笔物秀答称 入科秒 管 秘季委么第 后持拓打找 年提扣押抽 手折扔失换 扩拉朱搂近 所报扫反批 且肝 肛 胆肿肋肌 用遥朋脸胸 及胶膛 爱 甩服妥肥脂 全会估休代 个介保佃仙 作伯仍从你 信们偿伙 亿他分公化 钱针然钉氏 外旬名锣负 儿铁角欠多 久匀乐炙锭 包凶争色 主计庆订度
项目建设期应急预案 第 15 页 防大雾应急预案 范围与依据 编制目的 大雾天气出现,造成能见度降低,给户外施工现场作业人员、驾驶员带来不利影响,极易发生交通事故、物体打击、高处坠落等事故。 为做好应对突发大雾自然灾害的应急处置和救援工作,避免或最大程度地减轻灾害造成损失,保障员工生命和企业财产安全,特制定本预案。 编制依据 《 中华人民共和国突发事件应对法》 《电力企业专项应急预案编制导则》
公司 技术 C[注 2 ] 稻壳、硫酸、纯氧(少量) 4000~ 7000 8000~ 20200 蒸气 烟气、酸性废水 [注 1 ] 稻壳未经过前处理取下限,经过前处理取上限 [注 2 ] 稻壳未经过后处理取下限,经过后处理取上限 二氧化硅项目未来发展规划 ★ 二氧化硅的提炼主要是利用自有的稻壳灰做原料,根据工业锅炉改造项目的年供汽规模和收购电厂或新建电厂的发电量可以计算出