基于51单片机的电子万年历毕业论文设计 联系客服

发布时间 : 星期四 文章基于51单片机的电子万年历毕业论文设计更新完毕开始阅读0246eb17fad6195f312ba6b9

4 系统软件设计

系统软件设计中,我们使用了Keil μVision2。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势,所以我们选择该软件来开发我们的万年历程序。

4.1 万年历软件系统的流程图

图4-1 系统软件流程图

当接通电源开始工作后,单片机中的程序开始运行,将对DS18B20进行初始化,以便和单片机芯片达成通信协议。完成初始化后,由于本系统只有一个测温元件,单片机会向其发出跳过RAM指令,接下来便可向其发送操作指令,启动测温程序,测温过程完成后,

1

发出温度转换指令,从而便可将温度转化成数字模式进行显示读取;同时DS1302将读取时分秒星期以及年月日寄存器然后通过液晶显示实时时间、星期及日期;键盘电路中按键可对实时日历时钟进行调整。

图-C 时间调整程序流程图

2

4.2 KS0108的软件设计

液晶控制器KS0108 一共有七条指令,从作用上可分为两类,显示状态设置指令和数据读/写操作指令。详见指令系统可查看图形液晶显示器产品有关手册。显示起始行设置中L5~L0 为显示起始行的地址,取值在0-3FH(1-64 行)范围内。页面地址设置中P2-P0 为选择的页面地址,取值范围为0-7H,代表1-8 页。列地址设置中C5-C0 为Y地址计数器的内容,取值在0-3FH(1-64 行)范围内。

显示器上128 点×64 点,每8点为一字节数据,都对应着显示数据RAM(在KS0108 芯片内),一点对应一个bit,计算机写入或读出显示存储器的数据代表显示屏上某一点列上的垂直8 点行的数据。D0 代表最上一行的点数据,D1为第二行的点数据,……D7为第八行的点数据。该bit=1 时该点则显示黑点出来,该bit=0 时该点则消失。另外LCD 指令中有-条display ON/OFF 指令,display ON 时显示RAM 数据对应显示的画面;display OFF 则画面消失,RAM 中显示数据仍存在。

点阵字模文件的建立:

由于MGLS12864 液晶显示器没有内部字符发生器,所以在屏幕上显示的任何字符、汉字等须自己建立点阵字模库,然后均按图形方式进行显示。由于KS0108 显示存储器的特性,不能将计算机内的汉字库和其它字模库提出直接使用,需要将其旋转90 度后再写入。点阵字模库建立包括以下几个方面:

1.建立8×16 点阵常用字符、数字、符号字模库。采用字模软件提取字模。

2.建立所用到的16×16 点阵字模库。采用字模软件直接提取了“冬腊月初”这几个字。

3

3.大字体数字显示的取模,采用了宽x高=16x32 点阵方式,这样时间很清晰,如下图。

4