基于ds1302和lcd1602的数字电子钟的设计内容摘要:
//E 置高电平 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四个机器周期,给硬件反应时间 E=0。 //当 E 由高电平跳变成低电平时,液晶模块开始执行命令 } /***************************************************** 函数功能:指定字符显示的实际地址 入口参数: x ***************************************************/ void WriteAddress(uchar x) { WriteInstruction(x|0x80)。 //显示位置的确定方法规定为 80H+地 址码 x } /***************************************************** 函数功能:将数据 (字符的标准 ASCII 码 )写入液晶模块 入口参数: 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) { delaynms(15)。 //延时 15ms,首次写指令时应给 LCD 一段较长的反应时间 WriteInstruction(0x38)。 //显示模式设置: 16 2 显示, 5 7 点阵, 8 位数据接口 delaynms(5)。 //延时 5ms ,给硬件一点反应时间 WriteInstruction(0x38)。 delaynms(5)。 //延时 5ms ,给硬件一点反应时间 WriteInstruction(0x38)。 //连续三次,确保初始化成功 delaynms(5)。 //延时 5ms ,给硬件一点反应时间 WriteInstruction(0x0c)。 //显示模式设置:显示开,无光标,光标不闪烁 delaynms(5)。 //延时 5ms ,给硬件一点反应时间 WriteInstruction(0x06)。 //显示模式设置:光标右移,字符不移 delaynms(5)。 //延时 5ms ,给硬件一点反应时间 WriteInstruction(0x01)。 //清屏幕指令,将以前的显示内容清除 delaynms(5)。 //延时 5ms ,给硬件一点反应时间 } /************************************************************** 以下是 1302 数据的显示程序 **************************************************************/ /***************************************************** 函数功能:显示秒 入口参数: x ***************************************************/ void DisplaySecond(uchar x) { uchar i,j。 //j,k,l 分别储存温度的百位、十位和个位 i=x/10。 //取十位 j=x%10。 //取个位 WriteAddress(0x49)。 //写显示地址 ,将在第 2 行第 7 列开始显示 WriteData(digit[i])。 //将百位数字的字符常量写入 LCD WriteData(digit[j])。 //将十位数字的字符常量写入 LCD delaynms(50)。 //延时 1ms 给硬件一点反应时间 } /***************************************************** 函数功能:显示分钟 入口参数: x ***************************************************/ void DisplayMinute(uchar x) { uchar i,j。 //j,k,l 分别储存温度的百位、十位和个位 i=x/10。 //取十位 j=x%10。 //取个位 WriteAddress(0x46)。 //写显示地址 ,将在第 2 行第 7 列开始显示 WriteData(digit[i])。 //将百位数字的字符常量写入 LCD WriteData(digit[j])。 //将十位数字的字符常量写。基于ds1302和lcd1602的数字电子钟的设计
相关推荐
温室灌溉控制系统的设计依据。 温室是一个相对密闭的空间系统,天然雨水得不到充分利用, 所以温室灌溉对于温室作物的生长显得尤为重要。 温室的环境因素之间有很强的耦合性,若采用地面灌溉,则水分易蒸发,加大室内空气的湿度。 因此在灌溉的时候要通风换气来保持合适的空气湿度,但同时会降低温室的温度。 而在严寒地区的冬季室内外温度差异较大,必须对温室加温来保证作物生长的适宜温度,这势必会加大能耗。
024 个节点 ,这样便于形成大型的管理与控制信息系统。 过程控制处理的是实时信息 ,为了适应这方面的需要 ,近年来也出现了一些如动态数据交换(DDE)和对象链接嵌入 (OLE)的实用程序 ,而在数据信息的应用上 ,则可以用SQL(结构化查询语言 )在工厂实时数据库与各关系式数据库之间建立起所需的联系。 向开放式系统发展 PLC 系统是较早在过程领域发展起来的分布式网络系统 ,经过几十年的发展
系列已有内部计数 译码驱动模块,所以只要外部加上 LED 七段显示管和电源就可以显示楼层了。 电梯门的控制要求 : 要求当电梯平层的时候,电梯门自动打开,经过 05 秒钟后电梯门自动关上。 如果遇到有人在门中间的情况,电梯会因为光电开关的作 用而自动开门。 PLC 电梯控制系统的优点 ( 1) 在电梯控制中采用 PLC,用软件实现对电梯运行的自动控制,可靠性大大提高。 ( 2)
,考虑到电路的简单和成本等因素,选用 ATMEL 公司的 ATmega64单片机作为处理器,它内含 64K 字节的系统可编程 Flash,其编程和擦除完全用电实现;其外部晶振为 20M,也就是做为时钟频率;并且价格低廉,运行速度快。 用 ATmega64,加上相应的时钟和复位电路就组成了最小系统,采用外接键盘操作控制输出三角波、正弦波、方波等波形,同时也可以用键盘方便的调整频率的变化
ic Timer)、实时时钟( RTC)和 USB 控制器等若干外围模块的不同组合。 其中,看门狗可 以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器; 16 位定时器( Timer_A 和 Timer_B)具有捕获 /比较功能,大量的捕获 /比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步
特 殊寄存器 AUXR(地址 8EH)上。 ALE/PROG:地址锁存控制信号( ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。 在 flash 编程时,此引脚( PROG)也用作编程输入脉冲。 在一般情况下, ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或 时钟使用。 然而,特别强调,在每次访问外部数据存储器时, ALE 脉冲将会跳引脚号 第二功能