您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页最新单片机课程设计设计LCD显示屏

最新单片机课程设计设计LCD显示屏

来源:华佗养生网


单片机课程设计设计

LCD显示屏

精品好文档,推荐学习交流

《单片机原理及应用》

课程设计报告

题 目: LCD显示设计 院 (系): 机电与自动化学院 专业班级: 电气自动化技术1101班 学生姓名: 包 文 峰 学 号: 2 0 1 1 2 8 2 2 0 2 3 指导教师: 雷 丹

2013年12月 16日至2013年 12 月 27日

华中科技大学武昌分校制

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

《单片机原理及应用》课程设计任务书

一、设计题目 LCD显示设计 二、设计主要内容 (1)了解122×32A点阵式LCD液晶显示的结构、工作原理、 编程方法;SED1250的特性、内部结构、各个管脚的功能,以及获取字模的方法;编写一个完整的程序,能在LCD上显示汉子。 (2)显示汉字“华中科技大学武昌分校及姓名”,并实现显示内容的翻屏功能。 (3)按规范撰写设计说明书,含硬件设计及软件设计。 三、原始资料 (1) LCD显示的原理 液晶是一呈液体状的化学物质,象磁场中的金属一样,当受到外界电场影响时,其分子会产生精确的有序排列。如果对分子的排列加以适当的控制,液晶分子将会允许光线穿越。无论是笔记本电脑还是桌面系统,采用的LCD显示屏都是由不同部分组成的分层结构。位于最后面的一层是由荧光物质组成的可以发射光线的背光层。背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层。液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。 (2) LCD显示电路 采用122×32A点阵式LCD液晶显示模块,内置SED1520液晶显示控制器,电路如图1所示。 仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

图1 LCD显示电路 (3) LCD与单片机的连接(如图2) 图2 LCD与单片机的连接图 仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

四、要求的设计成果 1、根据控制要求,分析LCD显示系统的硬件结构; 2、分析LCD引脚功能及地址分配; 3、在单片机实验箱上按要求显示汉子并进行实时演示。 4、提交字数不低于2000字的设计说明书一份。 五、进程安排 时 间 第一周周一 至 第一周周二上午 第一周周二下午 至 第二周周三 第二周周四 至 第二周周五 课程设计内容 学时 分配 1.5天 下达设计任务;查阅资料,理解参考程序 进单片机实验室,理解硬件、编写程序,修改完善,达到设计要求 作品演示、撰写设计说明书、 提交说明书并进行答辩 (单片机实验室) 合计 6.5天 2天 10天 六、主要参考资料 [1] 李广弟.单片机基础.北京:北京航空航天大学,2009. [2] 李群芳.微型计算机与接口技术.北京:电子工业出版社,2012. [3] 单片机综合仿真实验系统Keil C实验指导书.深圳:深圳市雷迈特科技有限公司,2012. [4] 沈庆阳.8051单片机实践与应用.机电一体化系统设计.北京:化学工业出版社,2009. [5] 朱定华.单片微机原理与应用.北京:清华大学出版社,2006. 指导教师(签名): 仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

2013年12月10日 仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

目 录

1.课程设计题目及要求…………………………………………………………1 1.1课程设计题目…………………………………………………………………1 1.2课程设计要求…………………………………………………………………1 2.课程设计主要内容……………………………………………………………2 2.1 LCD显示原理………………………………………………………………2 2.2 LCD显示电路………………………………………………………………2 2.3 LCD引脚说明……………………………………………………………3 2.4 SED1520的基本原理………………………………………………………4 2.5 SED1520的指令系统………………………………………………………5 2.6 LCD与单片机的连接………………………………………………………6 2.7 汉字字模的获取………………………………………………………7 3.软件设计……………………………………………………………………9 3.1程序流程…………………………………………………………………9 3.2课程设计具体程序…………………………………………………10 4.课程设计总结………………………………………………………………30 参考文献…………………………………………………………………………31

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

1. 课程设计题目及要求

1.1课程设计题目

LCD显示设计

1.2课程设计要求

了解122×32A点阵式LCD液晶显示的结构、工作原理、 编程方法;SED1250的特性、内部结构、各个管脚的功能,以及获取字模的方法;编写一个完整的程序,按要求在LCD上显示内容。

具体显示效果为:

(1)显示汉字:华中科技大学武昌分校 自己的姓名。 (2)实现显示内容的翻屏功能。 拓展:实现显示内容的滚动功能。

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

2. 课程设计主要内容

2.1 LCD显示原理

液晶是一呈液体状的化学物质,象磁场中的金属一样,当受到外界电场影响时,其分子会产生精确的有序排列。如果对分子的排列加以适当的控制,液晶分子将会允许光线穿越。无论是笔记本电脑还是桌面系统,采用的LCD显示屏都是由不同部分组成的分层结构。位于最后面的一层是由荧光物质组成的可以发射光线的背光层。背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层。液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。

2.2 LCD显示电路

采用122×32A点阵式LCD液晶显示模块,内置SED1520液晶显示控制器。LCD显示电路如图2-1所示。

图2-1 LCD显示电路

LCD显示屏示意图(122X32)如图2-2所示。

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

图2-2 LCD显示屏

2.3 LCD引脚说明

序号 1 2 3 4 5 6 7 8 9 10 11 符号 GND Vcc V0 A0 R/W E1 E2 NC DB0 DB1 DB2 电平 0v 5v 可调 H/L H/L H,H→L H,H→L — H/L H/L H/L 功能 逻辑电源地 逻辑电源正 液晶显示驱动电源 H:数据 L:指令 H:读 L:写

主工作方式IC的使用信号 从工作方式IC的使用信号 未用

数据总线(最低位)0 数据总线1 数据总线2

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

12 13 14 15 16

DB3 DB4 DB5 DB6 DB7 H/L H/L H/L H/L H/L 数据总线3 数据总线4 数据总线5 数据总线6

数据总线(最高位)7

2.4 SED1520的基本原理

SED为内置液晶显示器控制器,集行、列驱动器和控制器与一体,广泛应用于小型液晶显示模块中,内置2560位显示RAM区(32行80列),RAM中的1位数据控制液晶屏上一个像素的亮暗,“1”为亮,“0”为暗。

(1)1-61列为左半屏;62-122为

半屏。

(2)每半屏页数分配一致。 (3)每页含8行80列(80个字

节)。

(前61列有效)

(4)每半屏为32行,共4页。 (5)每个汉字占16行,即用2页才

写完。

(6)液晶屏上最多能显示两行汉字

(静

态时最多显示16字)。

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

2.5 SED1520的指令系统

SED1520的13条指令

控制信号 指令名称 A0 R/W 复位 显示开关设置 地址排序设置 体闲状态设置 0 0 0 0 0 0 0 0 控制代码 D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 0 0 0 1 0 1 0 1 0 1 1 1 0/1 1 0 1 0 0 0 0 0(正向)/1(逆向) 1 0 1 0 0 1 0 0(驱动)/1(不驱动) 1 0 1 0 1 0 0 0(1/16)/1(1/32) 1 1 0 L4 L3 L2 L1 L0(0-31) 1 0 1 1 1 0 P1 P0(0-3) 0 C6 C5 C4 C3 C2 C1 C0(0-79) 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0 BUSY ADC ON/OFF RESET 0 0 0 0 占空比设置 显示起始行设置 页面地址设置 列地址设置 启动改写方式 结束改写方式 读取状态字 0 0 0 0 0 0 0 0 0 0 0 0 0 1 仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

写显示数据 读显示数据 1 0 1 1 数 据 数 据

2.6 LCD与单片机的连接

单片机与LCD模块之间有四种基本操作: 写命令:R/W接低电平即A7为0 读状态:R/W 接高电平即A7为1 写显示数据:A0 接高电平

读显示数据:A0 接低电平 写指令代码地址 读状态地址 写显示数据地址 读显示数据地址

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

E1 FA00H FA80H FA40H FACOH E2 F800H F880H F840H F8C0H

精品好文档,推荐学习交流

2.7 汉字字模的获取

在编写程序之前,我们必须要知道所显示汉字的字模,要得到我们所需要的汉字字模,我们可以通过有关的软件进行查询,得到其数据表。如“包”字:

再如“文”字:

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

再如“峰”字:

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

3软件设计

3.1程序流程

显示主程序 显示子程序

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

初始化程序 清屏幕子程序

3.2课程设计具体程序

实现翻屏功能

PD1 EQU 60 ; ;模块参数

COLUMN EQU 30H

PAGE1 EQU 31H ;;页地址寄存器 CODE1 EQU 32H ;;字符代码寄存器 COUNT EQU 33H ;;计数器 COM EQU 20H ;;指令寄存器 DAT EQU 21H

;;数据寄存器

CWADD1 EQU 0fa00H ;;写指令代码地址(E1) CRADD1 EQU 0fa80H ;;读状态字地址(E1) DWADD1 EQU 0fa40H ;;写显示数据地址(E1) DRADD1 EQU 0fac0H ;;读显示数据地址(E1) CWADD2 EQU 0f800H ;;写指令代码地址(E2) CRADD2 EQU 0f880H ;;读状态字地址(E2) DWADD2 EQU 0f840H ;;写显示数据地址(E2) DRADD2 EQU 0f8c0H ;;读显示数据地址(E2)

ORG 0000H

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

AG1: MOV SP,#60H LCALL INT LCALL CLEAR MOV PD1,#3DH

;;调用初始化子程序 ;;调用清屏子程序 ;;

MOV PAGE1,#02H ;;页地址寄存器置初值 MOV COLUMN,#0H ;;列地址寄存器置初值 MOV CODE1,#00H ;;字符代码寄存器置初值 LCALL CCW_PR MOV PAGE1,#02H MOV COLUMN,#0fH MOV CODE1,#01H LCALL CCW_PR MOV PAGE1,#02H MOV COLUMN,#1eH MOV CODE1,#02H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#2dH MOV CODE1,#03H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#61 MOV CODE1,#04H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#76 MOV CODE1,#05H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#91 MOV CODE1,#06H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#106 MOV CODE1,#07H LCALL CCW_PR

;;显示“昌\"

;;显示“武\"

;;显示“学”

;;显示“大”

;;显示“技” ;;显示“科”

;;显示“中”

;;显示“华”

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

MOV PD1,#3DH ;;

MOV PAGE1,#00H ;;页地址寄存器置初值 MOV COLUMN,#0H ;;列地址寄存器置初值 MOV CODE1,#08H ;;字符代码寄存器置初值 LCALL CCW_PR MOV PAGE1,#00H MOV COLUMN,#0fH MOV CODE1,#09H LCALL CCW_PR MOV PAGE1,#0H MOV COLUMN,#1eH MOV CODE1,#0aH LCALL CCW_PR MOV PAGE1,#0H MOV COLUMN,#2dH MOV CODE1,#0bH LCALL CCW_PR MOV PAGE1,#0H MOV COLUMN,#61 MOV CODE1,#0cH LCALL CCW_PR

MOV COLUMN,#76 MOV CODE1,#0dH LCALL CCW_PR

LCALL AG2 ;;延时显示

LCALL CLEAR ;;清屏 LCALL AG2

;;显示“峰”

;;显示“文”

MOV PAGE1,#0H

;;显示“包” ;;显示“---”

;;显示“校”

;;显示“分”

LCALL AG2

LCALL AG2 ;;清屏延时 LJMP AG1 ;;调用显示程序 SJMP $

CCW_PR: MOV DPTR,#CCATB ;;确定字符字模块首地址 MOV A,CODE1 MOV B,#20H

;;取代码

;;字模块宽度为32个字节

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

MUL AB X32

MOV DPL,A MOV A,B

;;代码X32

ADD A,DPL ;;字符字模块首地址=字模库首地址+代码

ADDC A,DPH MOV DPH,A PUSH COLUMN PUSH COLUMN

;;列地址入栈 ;;列地址入栈

MOV CODE1,#00H ;;代码寄存器借用为间址寄存器 CCW_1: MOV COUNT,#10H ;;计数器设定为16 MOV A,PAGE1 ANL A,#03H ORL A,#0B8H MOV COM,A LCALL PR0 LCALL PR3 POP COLUMN MOV A,COLUMN CLR C SUBB A,#PD1 JC CCW_2 MOV COLUMN,A MOV A,PAGE1 SETB ACC.3 MOV PAGE1,A MOV A,PAGE1 JNB ACC.3,CCW_3 LCALL PR3 LJMP CCW_4 CCW_3: LCALL PR0 CCW_4: MOV A,CODE1 MOV DAT,A MOV A,PAGE1

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;;读页地址寄存器 ;;“或” 页地址设置代码 ;;写页地址设置指令

;;取列地址值 ;;读列地址寄存器 ;;列地址-模块参数

;;<0为左半屏显示区域(E1) ;;≥0为右半屏显示区域(E2) ;;设置区域标志位 ;;“0”为E1,“1”为E2

;;判区域标志以确定设置哪个控制器 ;;区域E2 ;;区域E1 ;;取间址寄存器值 ;;写数据

CCW_2: MOV COM,COLUMN ;;设置列地址值

MOVC A,@A+DPTR ;;取汉字字模数据

精品好文档,推荐学习交流

JNB ACC.3,CCW_5 LCALL PR4 LJMP CCW_6 CCW_5: LCALL PR1 CCW_6: INC CODE1 INC COLUMN MOV A,COLUMN CCW_7: JC CCW_8 MOV A,PAGE1 SETB ACC.3 MOV PAGE1,A MOV COM,#00H LCALL PR3

CCW_8: DJNZ COUNT,CCW_4 ;;当页循环 MOV A,PAGE1 INC A CLR ACC.3 MOV PAGE1,A

MOV CODE1,#10H ;;间接寄存器设置为16 LJMP CCW_1 CCW_9: RET ccAtB:

db 00h, 40h, 20h, 10h,0FCh, 03h, 40h, 20h

db 00h,0F8h, 08h, 08h, 08h, 08h, 08h,0FFh db db

08h, 08h, 08h, 08h, 08h,0FCh, 08h, 00h ;;显示 00h, 03h, 01h, 01h, 01h, 01h, 01h,0FFh

db db db

10h,0FFh, 08h, 04h, 06h,0C0h, 00h, 00h ;;显示 04h, 04h, 04h, 04h, 05h, 04h, 04h,0FFh 04h, 04h, 05h, 05h, 05h, 05h, 04h, 00h

“华”

;;大循环

;;读页地址寄存器

;;否则页地址加“1”

JB ACC.7,CCW_9 ;;判完成标志D7位,“1”则完成退出 SETB ACC.7

;;设置区域E2列地址为“0”

;;区域E1 ;;间址寄存器加1 ;;列地址寄存器加1

;;判列地址是否超出区域范围 ;;未超出则继续

;;超出则判是否在区域E2 ;;在区域E1则修改成区域E2

;;区域E2

CJNE A,#PD1,CCW_7

JB ACC.3,CCW_8 ;;在区域E2则退出

“中”

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

db 01h, 01h, 01h, 01h, 01h, 03h, 00h, 00h

db 24h, 24h, 24h,0A4h,0FEh,0A3h, 22h, 00h db 24h, 48h, 00h,0FFh, 00h, 80h, 00h, 00h ;;显示“科”

db 10h, 08h, 06h, 01h,0FFh, 00h, 01h, 02h db

02h, 02h, 02h,0FFh, 01h, 01h, 01h, 00h

db 10h, 10h, 10h,0FFh, 10h, 10h, 88h, 88h db 88h,0FFh, 88h, 88h, 8Ch, 08h, 00h, 00h ;“技”

db 04h, 44h, 82h, 7Fh, 01h, 80h, 81h, 46h db

28h, 10h, 28h, 26h, 41h,0C0h, 40h, 00h

db 20h, 20h, 20h, 20h, 20h, 20h,0A0h, 7Fh db 0A0h, 20h, 20h, 20h, 20h, 30h, 20h, 00h ;“大”

db 00h, 40h, 40h, 20h, 10h, 0Ch, 03h, 00h db

01h, 06h, 08h, 10h, 20h, 60h, 20h, 00h

db 40h, 30h, 11h, 96h, 90h, 90h, 91h, 96h db 90h, 90h, 98h, 14h, 13h, 50h, 30h, 00h ;“学”

db 04h, 04h, 04h, 04h, 04h, 44h, 84h, 7Eh db

06h, 05h, 04h, 04h, 04h, 06h, 04h, 00h

db 20h, 20h, 24h, 24h, 24h,0E4h, 26h, 24h db 20h,0FFh, 20h, 22h, 2Ch, 20h, 20h, 00h ;“武”

db 20h, 60h, 3Fh, 20h, 20h, 1Fh, 11h, 11h db

10h, 03h, 1Ch, 20h, 40h, 80h,0E0h, 00h

db 00h, 00h, 00h, 7Fh, 49h, 49h, 49h, 49h db 49h, 49h, 49h, 7Fh, 80h, 00h, 00h, 00h ;“昌”

db

00h, 00h,0FFh, 49h, 49h, 49h, 49h, 49h

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;显示;显示;显示;显示;显示精品好文档,推荐学习交流

db 49h, 49h, 49h, 49h,0FFh, 01h, 00h, 00h

db 00h, 80h, 40h, 20h, 98h, 86h, 80h, 80h db 83h, 8Ch, 90h, 20h,0C0h, 80h, 80h, 00h ;;显示“分”

db 01h, 00h, 80h, 40h, 20h, 1Fh, 00h, 40h db

80h, 40h, 3Fh, 00h, 00h, 01h, 00h, 00h

db 10h, 10h,0D0h,0FFh, 90h, 10h, 88h, 48h db

0A8h, 09h, 0Ah, 08h,0A8h, 4Ch,0C8h, 00h ;“校”

db 04h, 03h, 00h,0FFh, 80h, 81h, 40h, 40h db

21h, 16h, 08h, 16h, 61h,0C0h, 40h, 00h

db 80h, 80h, 80h, 80h, 80h db 80h, 80h, 80h, 80h, 80h ;” db 80h, 80h, 80h, 80h, 80h db 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h, 00h db

00h, 00h, 00h, 00h, 00h

db 00h, 00h db 00h, 40h, 20h,0D0h, 48h, 4Fh, 48h, 48h

db

0E8h, 48h, 08h,0FCh, 08h, 00h, 00h, 00h ;“包”

db 00h, 00h, 00h, 3Fh, 42h, 42h, 42h, 42h db

47h, 40h, 48h, 4Fh, 40h, 70h, 00h, 00h

db 08h, 08h, 08h, 18h, 68h, 88h, 09h, 0Eh

db

08h, 08h,0C8h, 38h, 08h, 0Ch, 08h, 00h ;“文”

db 80h, 80h, 40h, 40h, 20h, 11h, 0Ah, 04h db 0Ah, 11h, 10h, 20h, 40h,0C0h, 40h, 00h

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;显示

;显示“---;显示

;显示

精品好文档,推荐学习交流

db 00h,0F0h, 00h,0FFh, 00h,0F0h, 90h, 88h db

4Fh, 54h,0A4h, 54h, 4Ch,0C4h, 40h, 00h ;;显示

“峰”

db 00h, 1Fh, 10h, 0Fh, 08h, 1Fh, 00h, 14h

AG2: MOV R0,#0 ;;延时程序1S AG3: MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 AG4: JBC TF1,AG5 SJMP AG4 AG5: INC R0

CJNE R0,#0AH,AG3

INT: MOV COM,#0E2H LCALL PR0 LCALL PR3 MOV COM,#0A4H LCALL PR0 LCALL PR3 MOV COM,#0A9H LCALL PR0 LCALL PR3 MOV COM,#0A0H LCALL PR0 LCALL PR3 MOV COM,#0C0H LCALL PR0 LCALL PR3 MOV COM,#0AFH LCALL PR0

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

db 15h, 15h,0FFh, 15h, 15h, 14h, 00h, 00h

RET

;;初始化子程序,复位

;;关闭休闲状态

;;设置1/32占空比

;;正向排序设置

;;设置显示起始行为第一行

;;开显示设置

精品好文档,推荐学习交流

LCALL PR3 RET CLEAR: MOV R4,#00H CLEAR1: MOV A,R4 ORL A,#0B8H MOV COM,A LCALL PR0 LCALL PR3 MOV COM,#00H LCALL PR0 LCALL PR3 MOV R3,#50H CLEAD2: MOV DAT,#00H LCALL PR1 LCALL PR4

DJNZ R3,CLEAD2 ;;页内字节清零循环 INC R4 RET PR0: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 PR01: MOVX A,@DPTR JB ACC.7,PR01 MOV DPTR,#CWADD1 MOV A,COM MOVX @DPTR,A POP DPH POP DPL RET PR1: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 PR11: MOVX A,@DPTR JB ACC.7,PR11 MOV DPTR,#DWADD1

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;;清屏子程序,页面地址暂存器设置 ;;取页地址值

;;“或” 页面地址设置代码 ;;页面地址设置

;;列地址设置为“0”

;;一页清80个字节 ;;显示数据为“0”

;;页地址暂存器加1

CJNE R4,#04H,CLEAR1

;;RAM区清零循环

;;写指令代码子程序(E1)

;;写显示数据子程序(E1)

精品好文档,推荐学习交流

MOV A,DAT MOVX @DPTR,A POP DPH POP DPL RET PR2: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 PR21: MOVX A,@DPTR JB ACC.7,PR21 MOV DPTR,#DRADD1 MOVX A,@DPTR MOV DAT,A POP DPH POP DPL RET PR3: PUSH DPL PUSH DPH MOV DPTR,#CRADD2 PR31: MOVX A,@DPTR JB ACC.7,PR31 MOV DPTR,#CWADD2 MOV A,COM MOVX @DPTR,A POP DPH POP DPL RET PR4: PUSH DPL PUSH DPH MOV DPTR,#CRADD2 PR41: MOVX A,@DPTR JB ACC.7,PR41 MOV DPTR,#DWADD2 MOV A,DAT MOVX @DPTR,A POP DPH

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;;读显示数据子程序(E1)

;;写指令代码子程序(E2)

;;写显示数据子程序(E2)

精品好文档,推荐学习交流

POP DPL RET PR5: PUSH DPL PUSH DPH MOV DPTR,#CRADD2 PR51: MOVX A,@DPTR JB ACC.7,PR21 MOV DPTR,#DRADD2 MOVX A,@DPTR MOV DAT,A POP DPH POP DPL RET

end

拓展:实现上下滚屏功能

PD1 EQU 60 ;;模块参数

COLUMN EQU 30H

PAGE1 EQU 31H ;;页地址寄存器 CODE1 EQU 32H ;;字符代码寄存器 COUNT EQU 33H ;;计数器 COM EQU 20H DAT EQU 21H

;;指令寄存器 ;;数据寄存器

;;写指令代码地址(E1) ;;写显示数据地址(E1) ;;读显示数据地址(E1) ;;写指令代码地址(E2) ;;读状态字地址(E2) ;;写显示数据地址(E2) ;;读显示数据地址(E2) ;;读显示数据子程序(E2)

CWADD1 EQU 0fa00H DWADD1 EQU 0fa40H DRADD1 EQU 0fac0H CWADD2 EQU 0f800H CRADD2 EQU 0f880H DWADD2 EQU 0f840H DRADD2 EQU 0f8c0H ORG 0000H AG1: MOV SP,#60H LCALL INT LCALL CLEAR MOV PD1,#3DH

CRADD1 EQU 0fa80H ;;读状态字地址(E1)

;;调用初始化子程序

;;调用清屏子程序

;;页地址寄存器置初值

MOV PAGE1,#02H

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

MOV COLUMN,#0H MOV CODE1,#00H LCALL CCW_PR MOV PAGE1,#02H MOV COLUMN,#0fH MOV CODE1,#01H LCALL CCW_PR MOV PAGE1,#02H MOV COLUMN,#1eH MOV CODE1,#02H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#2dH MOV CODE1,#03H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#61 MOV CODE1,#04H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#76 MOV CODE1,#05H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#91 MOV CODE1,#06H LCALL CCW_PR MOV PAGE1,#2H MOV COLUMN,#106 MOV CODE1,#07H LCALL CCW_PR MOV PD1,#3DH

;;列地址寄存器置初值 ;;字符代码寄存器置初值 ;;显示“华”

;;显示“中”

;;显示“科”

;;显示“技”

;;显示“大”

;;显示“学”

;;显示“武\"

;;显示“昌\" ;;

;;列地址寄存器置初值 ;;显示“分”

MOV PAGE1,#00H ;;页地址寄存器置初值 MOV COLUMN,#0H LCALL CCW_PR

MOV CODE1,#08H ;;字符代码寄存器置初值

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

MOV PAGE1,#00H MOV COLUMN,#0fH MOV CODE1,#09H LCALL CCW_PR MOV PAGE1,#0H MOV COLUMN,#1eH MOV CODE1,#0aH LCALL CCW_PR MOV PAGE1,#0H MOV COLUMN,#2dH MOV CODE1,#0bH LCALL CCW_PR MOV PAGE1,#0H MOV COLUMN,#61 MOV CODE1,#0cH LCALL CCW_PR

MOV COLUMN,#76 MOV CODE1,#0dH LCALL CCW_PR

SJMP $

CCW_PR: MOV DPTR,#CCATB MOV A,CODE1 MOV B,#20H MUL AB X32

MOV DPL,A MOV A,B ADDC A,DPH MOV DPH,A PUSH COLUMN PUSH COLUMN

;;列地址入栈 ;;列地址入栈

ADD A,DPL

;;确定字符字模块首地址 ;;取代码 ;;代码X32

LCALL AG6

;;调用翻屏

;;显示“峰”

;;显示“文”

MOV PAGE1,#0H

;;显示“包” ;;显示“---”

;;显示“校”

;;字模块宽度为32个字节

;;字符字模块首地址=字模库首地址+代码

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

MOV CODE1,#00H CCW_1: MOV COUNT,#10H MOV A,PAGE1 ANL A,#03H ORL A,#0B8H MOV COM,A LCALL PR0 LCALL PR3 POP COLUMN MOV A,COLUMN CLR C SUBB A,#PD1 JC CCW_2 MOV COLUMN,A MOV A,PAGE1 SETB ACC.3 MOV PAGE1,A MOV A,PAGE1 JNB ACC.3,CCW_3 LCALL PR3 LJMP CCW_4 CCW_3: LCALL PR0 CCW_4: MOV A,CODE1 MOV DAT,A MOV A,PAGE1 JNB ACC.3,CCW_5 LCALL PR4 LJMP CCW_6 CCW_5: LCALL PR1 CCW_6: INC CODE1 INC COLUMN MOV A,COLUMN CCW_7: JC CCW_8

;;代码寄存器借用为间址寄存器 ;;计数器设定为16 ;;读页地址寄存器 ;;“或” 页地址设置代码

;;写页地址设置指令

;;取列地址值

;;读列地址寄存器 ;;列地址-模块参数

;;≥0为右半屏显示区域(E2)

;;<0为左半屏显示区域(E1)

;;设置区域标志位

;;“0”为E1,“1”为E2

;;判区域标志以确定设置哪个控制器

CCW_2: MOV COM,COLUMN ;;设置列地址值

;;区域E2 ;;区域E1

;;取间址寄存器值 ;;取汉字字模数据

MOVC A,@A+DPTR

;;写数据

;;区域E2 ;;区域E1 ;;间址寄存器加1 ;;列地址寄存器加1

;;判列地址是否超出区域范围

CJNE A,#PD1,CCW_7

;;未超出则继续

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

MOV A,PAGE1 SETB ACC.3 MOV PAGE1,A MOV COM,#00H LCALL PR3

;;超出则判是否在区域E2 ;;在区域E2则退出

JB ACC.3,CCW_8

;;在区域E1则修改成区域E2

;;设置区域E2列地址为“0”

CCW_8: DJNZ COUNT,CCW_4 ;;当页循环 MOV A,PAGE1 INC A CLR ACC.3 MOV PAGE1,A MOV CODE1,#10H LJMP CCW_1 CCW_9: RET ccAtB:

db 00h, 40h, 20h, 10h,0FCh, 03h, 40h, 20h

db 10h, 10h, 10h,0FFh, 10h, 10h, 88h, 88h db 24h, 24h, 24h,0A4h,0FEh,0A3h, 22h, 00h db db db

24h, 48h, 00h,0FFh, 00h, 80h, 00h, 00h ;;显示 10h, 08h, 06h, 01h,0FFh, 00h, 01h, 02h 02h, 02h, 02h,0FFh, 01h, 01h, 01h, 00h

db 00h,0F8h, 08h, 08h, 08h, 08h, 08h,0FFh db db db

08h, 08h, 08h, 08h, 08h,0FCh, 08h, 00h ;;显示 00h, 03h, 01h, 01h, 01h, 01h, 01h,0FFh 01h, 01h, 01h, 01h, 01h, 03h, 00h, 00h

db db db

10h,0FFh, 08h, 04h, 06h,0C0h, 00h, 00h ;;显示 04h, 04h, 04h, 04h, 05h, 04h, 04h,0FFh 04h, 04h, 05h, 05h, 05h, 05h, 04h, 00h

“华”

;;间接寄存器设置为16 ;;大循环

;;读页地址寄存器

;;判完成标志D7位,“1”则完成退出 ;;否则页地址加“1”

JB ACC.7,CCW_9 SETB ACC.7

“中”

“科”

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

db db db

88h,0FFh, 88h, 88h, 8Ch, 08h, 00h, 00h ;;显示 04h, 44h, 82h, 7Fh, 01h, 80h, 81h, 46h 28h, 10h, 28h, 26h, 41h,0C0h, 40h, 00h

“技”

db 20h, 20h, 20h, 20h, 20h, 20h,0A0h, 7Fh db 0A0h, 20h, 20h, 20h, 20h, 30h, 20h, 00h ;;显示“大”

db 00h, 40h, 40h, 20h, 10h, 0Ch, 03h, 00h db

01h, 06h, 08h, 10h, 20h, 60h, 20h, 00h

db 40h, 30h, 11h, 96h, 90h, 90h, 91h, 96h db 90h, 90h, 98h, 14h, 13h, 50h, 30h, 00h ;“学”

db 04h, 04h, 04h, 04h, 04h, 44h, 84h, 7Eh db

06h, 05h, 04h, 04h, 04h, 06h, 04h, 00h

db 20h, 20h, 24h, 24h, 24h,0E4h, 26h, 24h db 20h,0FFh, 20h, 22h, 2Ch, 20h, 20h, 00h ;“武”

db 20h, 60h, 3Fh, 20h, 20h, 1Fh, 11h, 11h db

10h, 03h, 1Ch, 20h, 40h, 80h,0E0h, 00h

db 00h, 00h, 00h, 7Fh, 49h, 49h, 49h, 49h db 49h, 49h, 49h, 7Fh, 80h, 00h, 00h, 00h ;“昌”

db 00h, 00h,0FFh, 49h, 49h, 49h, 49h, 49h db

49h, 49h, 49h, 49h,0FFh, 01h, 00h, 00h

db 00h, 80h, 40h, 20h, 98h, 86h, 80h, 80h db 83h, 8Ch, 90h, 20h,0C0h, 80h, 80h, 00h ;“分”

db 01h, 00h, 80h, 40h, 20h, 1Fh, 00h, 40h db

80h, 40h, 3Fh, 00h, 00h, 01h, 00h, 00h

db 10h, 10h,0D0h,0FFh, 90h, 10h, 88h, 48h

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;显示;显示;显示;显示精品好文档,推荐学习交流

db 0A8h, 09h, 0Ah, 08h,0A8h, 4Ch,0C8h, 00h ;;显示

“校”

db db

04h, 03h, 00h,0FFh, 80h, 81h, 40h, 40h 21h, 16h, 08h, 16h, 61h,0C0h, 40h, 00h

db 80h, 80h, 80h, 80h, 80h db 80h, 80h, 80h, 80h, 80h ;;显示“---” db 80h, 80h, 80h, 80h, 80h db 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h, 00h db

00h, 00h, 00h, 00h, 00h

db 00h, 00h

db 00h, 40h, 20h,0D0h, 48h, 4Fh, 48h, 48h

db

0E8h, 48h, 08h,0FCh, 08h, 00h, 00h, 00h ;“包”

db 00h, 00h, 00h, 3Fh, 42h, 42h, 42h, 42h db

47h, 40h, 48h, 4Fh, 40h, 70h, 00h, 00h

db 08h, 08h, 08h, 18h, 68h, 88h, 09h, 0Eh

db

08h, 08h,0C8h, 38h, 08h, 0Ch, 08h, 00h ;“文”

db 80h, 80h, 40h, 40h, 20h, 11h, 0Ah, 04h db

0Ah, 11h, 10h, 20h, 40h,0C0h, 40h, 00h

db 00h,0F0h, 00h,0FFh, 00h,0F0h, 90h, 88h

db

4Fh, 54h,0A4h, 54h, 4Ch,0C4h, 40h, 00h ;“峰”

db 00h, 1Fh, 10h, 0Fh, 08h, 1Fh, 00h, 14h db 15h, 15h,0FFh, 15h, 15h, 14h, 00h, 00h

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;显示

;显示

;显示

精品好文档,推荐学习交流

AG2: MOV R0,#0 ;;延时程序 AG3: MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 AG4: JBC TF1,AG5 SJMP AG4 AG5: INC R0

CJNE R0,#0AH,AG3

AG6: LCALL AG2 LCALL AG2

LCALL AG2

MOV R6,#00 ;;滚屏 AG7: MOV A,#0C0H ORL A,R6

MOV COM,A LCALL PR3 LCALL AG2 INC R6

CJNE R6,#11H,AG7 LCALL AG2 LCALL AG2

LCALL PR0

RET

LCALL AG2 AG9: MOV A,#0C0H ORL A,R6

MOV COM,A LCALL PR3 LCALL AG2 INC R6

CJNE R6,#20H,AG9 LJMP AG6 RET

LCALL PR0

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

INT: MOV COM,#0E2H LCALL PR0 LCALL PR3 MOV COM,#0A4H LCALL PR0 LCALL PR3 MOV COM,#0A9H LCALL PR0 LCALL PR3 MOV COM,#0A0H LCALL PR0 LCALL PR3 MOV COM,#0C0H LCALL PR0 LCALL PR3 MOV COM,#0AFH LCALL PR0 LCALL PR3 RET CLEAR: MOV R4,#00H CLEAR1: MOV A,R4 ORL A,#0B8H MOV COM,A LCALL PR0 LCALL PR3 MOV COM,#00H LCALL PR0 LCALL PR3 MOV R3,#50H CLEAD2: MOV DAT,#00H LCALL PR1 LCALL PR4

DJNZ R3,CLEAD2 ;;页内字节清零循环 INC R4

;;页地址暂存器加1

CJNE R4,#04H,CLEAR1

;;RAM区清零循环

;;一页清80个字节 ;;显示数据为“0”

;;列地址设置为“0”

;;清屏子程序,页面地址暂存器设置 ;;取页地址值

;;“或” 页面地址设置代码 ;;页面地址设置

;;开显示设置

;;设置显示起始行为第一行

;;正向排序设置

;;设置1/32占空比

;;关闭休闲状态

;;初始化子程序,复位

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

RET PR0: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 PR01: MOVX A,@DPTR JB ACC.7,PR01 MOV DPTR,#CWADD1 MOV A,COM MOVX @DPTR,A POP DPH POP DPL RET PR1: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 PR11: MOVX A,@DPTR JB ACC.7,PR11 MOV DPTR,#DWADD1 MOV A,DAT MOVX @DPTR,A POP DPH POP DPL RET PR2: PUSH DPL PUSH DPH MOV DPTR,#CRADD1 PR21: MOVX A,@DPTR JB ACC.7,PR21 MOV DPTR,#DRADD1 MOVX A,@DPTR MOV DAT,A POP DPH POP DPL RET PR3: PUSH DPL PUSH DPH

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;;写指令代码子程序(E1)

;;写显示数据子程序(E1)

;;读显示数据子程序(E1)

;;写指令代码子程序(E2)

精品好文档,推荐学习交流

MOV DPTR,#CRADD2 PR31: MOVX A,@DPTR JB ACC.7,PR31 MOV DPTR,#CWADD2 MOV A,COM MOVX @DPTR,A POP DPH POP DPL RET PR4: PUSH DPL PUSH DPH MOV DPTR,#CRADD2 PR41: MOVX A,@DPTR JB ACC.7,PR41 MOV DPTR,#DWADD2 MOV A,DAT MOVX @DPTR,A POP DPH POP DPL RET PR5: PUSH DPL PUSH DPH MOV DPTR,#CRADD2 PR51: MOVX A,@DPTR JB ACC.7,PR21 MOV DPTR,#DRADD2 MOVX A,@DPTR MOV DAT,A POP DPH POP DPL RET

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

;;写显示数据子程序(E2)

;;读显示数据子程序(E2)

END

精品好文档,推荐学习交流

4.课程设计总结

通过两周的课程设计,让我感受最深的就是学习是一种乐趣。在这次课程设计中,我们接触了一种新的工具,试验箱,它多样的功能激发了我们去学习它进而掌握它的乐趣。从拿到任务书开始,我就充分利用网络及图书馆等资源查询资料,了解试验箱的功能。在之前专业课理论知识的基础上,我又从模糊到熟悉逐渐了解了什么是单片机编程。然而面对我的首要任务,我的想法,我的思路是什么?带着一系列问题,顺着这个方向我开始工作,因此我觉得目标和计划是很重要的,要时刻保持大脑的清醒。

在整个设计过程中,我发现了自己理论知识的不足,同时所学的知识掌握的不牢固,通过这次课程设计,不仅拓宽了我的知识面,还巩固和夯实了所学的理论知识,更纠正了一些知识点上的错误认识和理解。其次,有一些问题,当我一个人面对的时候怎么都想不明白,可是跟其他人一起探讨时就迎刃而解了,这说明了团队合作的精神很重要。

回顾这两周的课程设计,我仍感慨良多,从理论到实践,在这段日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和思考的能力。还有团队合作的精神也很重要。在今后的学习和生活中我将继续保持在此次课程设计中展现出来的谨慎、认真、踏实、有耐心、坚持不放弃的优良作风,任何事都要自己亲手去做才会觉得有成就感,没有付出是不会有回报的。

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

参考文献

[1]李广弟.单片机基础.北京:北京航空航天大学,2009.

[2]单片机综合仿真实验系统Keil C实验指导书.深圳:深圳市雷迈特科技有限公司,2012.

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

精品好文档,推荐学习交流

课程设计成绩评定表

项 目 比例 得 分 平时成绩(百分制记分) 成 绩 评 定 30% 业务考核成绩(百分制记分) 70% 总评成绩(百分制记分) 100% 评定等级 指导教师(签名): 优 良 中 及格 不及格 20 年 月 日

仅供学习与交流,如有侵权请联系网站删除 谢谢- 0 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务