当前位置:首页 > 51单片机万年历 DS12887
本科毕业设计说明书(论文)
(2)显示开/关以及光标设置
显示开/关以及光标设置如表3.8所示。
表3.8 初始化设置的显示开/关以及光标设置 指令码
0
0
0
0
1
D
C
B
功能
D=1开显示;D=0关显示
第 25页 共 48页
C=1显示光标;C=0不显示光标 B=1光标闪烁;B=0光标不显示
0
00
0
0
0
1
N
S
N=1当读或写一个字符后地址指针加1,且光标加1
N=0当读或写一个字符后地址指针减1,且光标减1
S=1当写一个字符时,整屏显示右移N=1或左移N=0,已得到光标不移动而屏幕移动的效果 S=0当写一个字符时,整屏显示不移动
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1 1
0 0 1 1
0 1 0 1
0 0 0 0
0 0 0 0
光标左移 光标右移
整屏左移,同时光标跟随移动 整屏右移,同时光标跟随移动
1602字符型LCD的写操作时序: (1)通过RS确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需/不需要移屏、在液晶的什么位置显示等等。写数据时指要显示什么内容。
(2)读/写控制端设置为写模式,即低电平。 (3)将数据或命令送达数据线上。
(4)给E一个高脉冲将数据送入液晶控制器,完成写操作。
本科毕业设计说明书(论文)
读操作时序、写操作时序分别如图3.8、3.9所示。
第 26页 共 48页
图3.8 读操作时序
图3.9 写操作时序
3.4 电源电路
线性电源一般用在小电流或都是压降小的地方。线性电源就像一个电阻和负阻串联一样,线性电源的功耗与负载功耗是正比关系,负载功率越高,电源的功耗也就越高,并且,线性电源两端的压差越大,损耗越高。优点是可调范围大。开关电源是采用开关形式,解决了线性电源的功耗大的缺点,但是可调范围窄。
稳压块的电源选择很重要,输入电压的范围,不能大也不能小。大了,如+35V就会烧管子,因为78XX里面也是晶体管做的,有耐压要求;小了,如7805输入6V输出不了5V,因为里面的电路正常工作需要一定的压降。输出电流主要是不能太大。里面的晶体管也就最大输出1A,负载过大,要求的电流超过了这个最大值肯定不行。另外就是功耗的计算。简单算来,功耗计算=(输入电压-输出电压)×输出电流。功耗也不能超过指标的要求,大了要加散热器的,并且要留余量的。如果非得要简单点的电路不用DC—DC的话,就选个耐压高的三极管做个线性电源的了;其实,使用小
本科毕业设计说明书(论文)
第 27页 共 48页
功率的DC—DC模块挺方便的,封装也有很小的,发热小,输入电压范围宽。
电源电路如图3.10所示。
3.10 电源电路
图 本科毕业设计说明书(论文)
4 软件设计
第 28页 共 48页
在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。
在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制实现想要的结果。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法[12]。
模块程序设计法的主要优点是:单个模块比起一个完整的程序易编写及调试;模块可以共存,一个模块可以被多个任务在不同条件下调用;模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。
本系统软件采用模块化结构,由主程序﹑DS12C887子程序、LCD1602子程序程序构成[12]。
4.1 主程序说明及流程图
在这个设计中,AT89S52主要功能是存储程序、根据程序的内容对各个端口进行判断并做出相应的处理;DS12C887主要的功能是控制年、月、日、时、分、秒的显示效果;LCD1602主要的功能是将所要显示的显示出来。
主程序主要实现了从DS12C887各时间单元中读出数据并送到LCD1602中显示的功能,同时检测有没有按键按下,如果有键被按下,则执行按键处理子程序。首先进行DS12C887时钟芯片和LCD1602的初始化函数,然后进行按键扫描,不断地检测按键是否按下,读取DS12C887时钟芯片的数据,并且送到液晶显示器显示;当数据发生变化时候,重新进行扫描写入。
共分享92篇相关文档