单片机课程设计,LCD显示屏,武昌分校,雷丹.docx

上传人:牧羊曲112 文档编号:2033427 上传时间:2023-01-02 格式:DOCX 页数:37 大小:332.21KB
返回 下载 相关 举报
单片机课程设计,LCD显示屏,武昌分校,雷丹.docx_第1页
第1页 / 共37页
单片机课程设计,LCD显示屏,武昌分校,雷丹.docx_第2页
第2页 / 共37页
单片机课程设计,LCD显示屏,武昌分校,雷丹.docx_第3页
第3页 / 共37页
单片机课程设计,LCD显示屏,武昌分校,雷丹.docx_第4页
第4页 / 共37页
单片机课程设计,LCD显示屏,武昌分校,雷丹.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《单片机课程设计,LCD显示屏,武昌分校,雷丹.docx》由会员分享,可在线阅读,更多相关《单片机课程设计,LCD显示屏,武昌分校,雷丹.docx(37页珍藏版)》请在三一办公上搜索。

1、单片机原理及应用课程设计报告 题 目: LCD显示设计 院 (系): 机电与自动化学院 专业班级: 电气自动化技术1101班 学生姓名: 包 文 峰 学 号: 2 0 1 1 2 8 2 2 0 2 3 指导教师: 雷 丹 2013年12月 16日至2013年 12 月 27日华中科技大学武昌分校制单片机原理及应用课程设计任务书一、设计题目LCD显示设计二、设计主要内容(1)了解12232A点阵式LCD液晶显示的结构、工作原理、 编程方法;SED1250的特性、内部结构、各个管脚的功能,以及获取字模的方法;编写一个完整的程序,能在LCD上显示汉子。(2)显示汉字“华中科技大学武昌分校及姓名”,

2、并实现显示内容的翻屏功能。(3)按规范撰写设计说明书,含硬件设计及软件设计。三、原始资料(1) LCD显示的原理 液晶是一呈液体状的化学物质,象磁场中的金属一样,当受到外界电场影响时,其分子会产生精确的有序排列。如果对分子的排列加以适当的控制,液晶分子将会允许光线穿越。无论是笔记本电脑还是桌面系统,采用的LCD显示屏都是由不同部分组成的分层结构。位于最后面的一层是由荧光物质组成的可以发射光线的背光层。背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层。液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当LCD中的电极产生电场时,液晶分

3、子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。 (2) LCD显示电路采用12232A点阵式LCD液晶显示模块,内置SED1520液晶显示控制器,电路如图1所示。图1 LCD显示电路(3) LCD与单片机的连接(如图2)图2 LCD与单片机的连接图四、要求的设计成果1、根据控制要求,分析LCD显示系统的硬件结构;2、分析LCD引脚功能及地址分配;3、在单片机实验箱上按要求显示汉子并进行实时演示。 4、提交字数不低于2000字的设计说明书一份。五、进程安排时 间课程设计内容学时分配第一周周一至第一周周二上午下达设计任务;查阅资料,理解参考程序1

4、.5天第一周周二下午至第二周周三进单片机实验室,理解硬件、编写程序,修改完善,达到设计要求6.5天第二周周四至第二周周五作品演示、撰写设计说明书、提交说明书并进行答辩(单片机实验室)2天合计10天六、主要参考资料1 李广弟单片机基础北京:北京航空航天大学,20092 李群芳微型计算机与接口技术北京:电子工业出版社,20123 单片机综合仿真实验系统Keil C实验指导书深圳:深圳市雷迈特科技有限公司,20124 沈庆阳8051单片机实践与应用机电一体化系统设计北京:化学工业出版社,20095 朱定华单片微机原理与应用北京:清华大学出版社,2006指导教师(签名): 2013年12月10日 目

5、录1.课程设计题目及要求1 1.1课程设计题目1 1.2课程设计要求12.课程设计主要内容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 汉字字模的获取73.软件设计9 3.1程序流程9 3.2课程设计具体程序104.课程设计总结30参考文献31 1. 课程设计题目及要求1.1课程设计题目LCD显示设计1.2课程设计要求 了解12232A点阵式LCD液晶显示的结构、工作原理、 编程方法;SED1250的特性、内部结构、各个管脚的功能,以及获取字模的方

6、法;编写一个完整的程序,按要求在LCD上显示内容。具体显示效果为: (1)显示汉字:华中科技大学武昌分校 自己的姓名。 (2)实现显示内容的翻屏功能。拓展:实现显示内容的滚动功能。 2. 课程设计主要内容2.1 LCD显示原理 液晶是一呈液体状的化学物质,象磁场中的金属一样,当受到外界电场影响时,其分子会产生精确的有序排列。如果对分子的排列加以适当的控制,液晶分子将会允许光线穿越。无论是笔记本电脑还是桌面系统,采用的LCD显示屏都是由不同部分组成的分层结构。位于最后面的一层是由荧光物质组成的可以发射光线的背光层。背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层。液晶层

7、中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。2.2 LCD显示电路采用12232A点阵式LCD液晶显示模块,内置SED1520液晶显示控制器。LCD显示电路如图2-1所示。图2-1 LCD显示电路LCD显示屏示意图(122X32)如图2-2所示。图2-2 LCD显示屏2.3 LCD引脚说明序号符号电平功能1GND0v逻辑电源地2Vcc5v逻辑电源正3V0可调液晶显示驱动电源4A0H/LH:数据 L:指令5R/WH/LH:读 L:

8、写6E1H,HL主工作方式IC的使用信号7E2H,HL从工作方式IC的使用信号8NC未用9DB0H/L数据总线(最低位)010DB1H/L数据总线111DB2H/L数据总线212DB3H/L数据总线313DB4H/L数据总线414DB5H/L数据总线515DB6H/L数据总线616DB7H/L数据总线(最高位)72.4 SED1520的基本原理SED为内置液晶显示器控制器,集行、列驱动器和控制器与一体,广泛应用于小型液晶显示模块中,内置2560位显示RAM区(32行80列),RAM中的1位数据控制液晶屏上一个像素的亮暗,“1”为亮,“0”为暗。 (1)1-61列为左半屏;62-122为右 半屏

9、。 (2)每半屏页数分配一致。 (3)每页含8行80列(80个字节)。 (前61列有效) (4)每半屏为32行,共4页。 (5)每个汉字占16行,即用2页才能 写完。 (6)液晶屏上最多能显示两行汉字(静 态时最多显示16字)。2.5 SED1520的指令系统SED1520的13条指令指令名称控制信号控制代码A0 R/WD7 D6 D5 D4 D3 D2 D1 D0复位0 01 1 1 0 0 0 1 0显示开关设置0 01 0 1 0 1 1 1 0/1地址排序设置0 01 0 1 0 0 0 0 0(正向)/1(逆向)体闲状态设置0 01 0 1 0 0 1 0 0(驱动)/1(不驱动)占

10、空比设置0 01 0 1 0 1 0 0 0(1/16)/1(1/32)显示起始行设置0 01 1 0 L4 L3 L2 L1 L0(0-31)页面地址设置0 01 0 1 1 1 0 P1 P0(0-3)列地址设置0 00 C6 C5 C4 C3 C2 C1 C0(0-79)启动改写方式0 01 1 1 0 0 0 0 0结束改写方式0 01 1 1 0 1 1 1 0读取状态字0 1BUSY ADC ON/OFF RESET 0 0 0 0写显示数据1 0数 据读显示数据1 1数 据2.6 LCD与单片机的连接单片机与LCD模块之间有四种基本操作: 写命令:R/W接低电平即A7为0 读状态

11、:R/W 接高电平即A7为1 写显示数据:A0 接高电平读显示数据:A0 接低电平E1E2写指令代码地址FA00HF800H读状态地址FA80HF880H写显示数据地址FA40HF840H读显示数据地址FACOHF8C0H 2.7 汉字字模的获取 在编写程序之前,我们必须要知道所显示汉字的字模,要得到我们所需要的汉字字模,我们可以通过有关的软件进行查询,得到其数据表。如“包”字: 再如“文”字: 再如“峰”字: 3软件设计3.1程序流程 显示主程序 显示子程序 初始化程序 清屏幕子程序3.2课程设计具体程序实现翻屏功能 PD1 EQU 60; ;模块参数 COLUMN EQU 30H PAGE

12、1 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;

13、;写显示数据地址(E2) DRADD2 EQU 0f8c0H;;读显示数据地址(E2) ORG 0000HAG1: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,

14、#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

15、CCW_PR;;显示“武 MOV PAGE1,#2H MOV COLUMN,#106 MOV CODE1,#07H LCALL CCW_PR;;显示“昌 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,#

16、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 PAGE1,#0H MOV COLUMN,#76 MOV CODE1,#0dH LCALL CCW_PR ;;显示“峰” LCALL AG2 ;;延时显示 LCALL CLEAR ;;清屏 LCALL AG2 LCALL AG2 LCALL AG2 ;;清屏延时 LJMP AG1

17、;;调用显示程序 SJMP $CCW_PR: MOV DPTR,#CCATB ;;确定字符字模块首地址 MOV A,CODE1 ;;取代码 MOV B,#20H ;;字模块宽度为32个字节 MUL AB ;;代码X32 ADD A,DPL ;;字符字模块首地址=字模库首地址+代码X32 MOV DPL,A MOV A,B ADDC A,DPH MOV DPH,A PUSH COLUMN ;;列地址入栈 PUSH COLUMN ;;列地址入栈 MOV CODE1,#00H ;;代码寄存器借用为间址寄存器CCW_1: MOV COUNT,#10H ;;计数器设定为16 MOV A,PAGE1 ;;

18、读页地址寄存器 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 ;;0为左半屏显示区域(E1) MOV COLUMN,A ;;0为右半屏显示区域(E2) MOV A,PAGE1 SETB ACC.3 ;;设置区域标志位 MOV PAGE1,A ;;“0”为E1,“1”为E2CCW_2: MOV COM,COLUMN ;;设置列地址

19、值 MOV A,PAGE1 ;;判区域标志以确定设置哪个控制器 JNB ACC.3,CCW_3 LCALL PR3 ;;区域E2 LJMP CCW_4CCW_3: LCALL PR0 ;;区域E1CCW_4: MOV A,CODE1 ;;取间址寄存器值 MOVC A,A+DPTR ;;取汉字字模数据 MOV DAT,A ;;写数据 MOV A,PAGE1 JNB ACC.3,CCW_5 LCALL PR4 ;;区域E2 LJMP CCW_6CCW_5: LCALL PR1 ;;区域E1CCW_6: INC CODE1 ;;间址寄存器加1 INC COLUMN ;;列地址寄存器加1 MOV A,

20、COLUMN ;;判列地址是否超出区域范围 CJNE A,#PD1,CCW_7CCW_7: JC CCW_8 ;;未超出则继续 MOV A,PAGE1 ;;超出则判是否在区域E2 JB ACC.3,CCW_8 ;;在区域E2则退出 SETB ACC.3 ;;在区域E1则修改成区域E2 MOV PAGE1,A MOV COM,#00H ;;设置区域E2列地址为“0” LCALL PR3CCW_8: DJNZ COUNT,CCW_4 ;;当页循环 MOV A,PAGE1 ;;读页地址寄存器 JB ACC.7,CCW_9 ;;判完成标志D7位,“1”则完成退出 INC A ;;否则页地址加“1” S

21、ETB ACC.7 CLR ACC.3 MOV PAGE1,A MOV CODE1,#10H ;;间接寄存器设置为16 LJMP CCW_1 ;;大循环CCW_9: RETccAtB: db 00h, 40h, 20h, 10h,0FCh, 03h, 40h, 20hdb 10h,0FFh, 08h, 04h, 06h,0C0h, 00h, 00h ;;显示“华”db 04h, 04h, 04h, 04h, 05h, 04h, 04h,0FFhdb 04h, 04h, 05h, 05h, 05h, 05h, 04h, 00hdb 00h,0F8h, 08h, 08h, 08h, 08h, 08

22、h,0FFh db 08h, 08h, 08h, 08h, 08h,0FCh, 08h, 00h ;;显示“中” db 00h, 03h, 01h, 01h, 01h, 01h, 01h,0FFhdb 01h, 01h, 01h, 01h, 01h, 03h, 00h, 00hdb 24h, 24h, 24h,0A4h,0FEh,0A3h, 22h, 00hdb 24h, 48h, 00h,0FFh, 00h, 80h, 00h, 00h ;;显示“科”db 10h, 08h, 06h, 01h,0FFh, 00h, 01h, 02hdb 02h, 02h, 02h,0FFh, 01h, 01

23、h, 01h, 00hdb 10h, 10h, 10h,0FFh, 10h, 10h, 88h, 88hdb 88h,0FFh, 88h, 88h, 8Ch, 08h, 00h, 00h ;;显示“技”db 04h, 44h, 82h, 7Fh, 01h, 80h, 81h, 46hdb 28h, 10h, 28h, 26h, 41h,0C0h, 40h, 00hdb 20h, 20h, 20h, 20h, 20h, 20h,0A0h, 7Fhdb 0A0h, 20h, 20h, 20h, 20h, 30h, 20h, 00h ;;显示“大”db 00h, 40h, 40h, 20h, 10h

24、, 0Ch, 03h, 00hdb 01h, 06h, 08h, 10h, 20h, 60h, 20h, 00hdb 40h, 30h, 11h, 96h, 90h, 90h, 91h, 96hdb 90h, 90h, 98h, 14h, 13h, 50h, 30h, 00h ;;显示“学”db 04h, 04h, 04h, 04h, 04h, 44h, 84h, 7Ehdb 06h, 05h, 04h, 04h, 04h, 06h, 04h, 00hdb 20h, 20h, 24h, 24h, 24h,0E4h, 26h, 24hdb 20h,0FFh, 20h, 22h, 2Ch, 20h

25、, 20h, 00h ;;显示“武”db 20h, 60h, 3Fh, 20h, 20h, 1Fh, 11h, 11hdb 10h, 03h, 1Ch, 20h, 40h, 80h,0E0h, 00hdb 00h, 00h, 00h, 7Fh, 49h, 49h, 49h, 49hdb 49h, 49h, 49h, 7Fh, 80h, 00h, 00h, 00h ;;显示“昌”db 00h, 00h,0FFh, 49h, 49h, 49h, 49h, 49hdb 49h, 49h, 49h, 49h,0FFh, 01h, 00h, 00hdb 00h, 80h, 40h, 20h, 98h,

26、86h, 80h, 80hdb 83h, 8Ch, 90h, 20h,0C0h, 80h, 80h, 00h ;;显示“分”db 01h, 00h, 80h, 40h, 20h, 1Fh, 00h, 40hdb 80h, 40h, 3Fh, 00h, 00h, 01h, 00h, 00hdb 10h, 10h,0D0h,0FFh, 90h, 10h, 88h, 48hdb 0A8h, 09h, 0Ah, 08h,0A8h, 4Ch,0C8h, 00h ;;显示“校”db 04h, 03h, 00h,0FFh, 80h, 81h, 40h, 40hdb 21h, 16h, 08h, 16h, 6

27、1h,0C0h, 40h, 00hdb 80h, 80h, 80h, 80h, 80hdb 80h, 80h, 80h, 80h, 80h ;;显示“-”db 80h, 80h, 80h, 80h, 80hdb 00h, 00h, 00h, 00h, 00hdb 00h, 00h, 00h, 00h, 00hdb 00h, 00h, 00h, 00h, 00h db 00h, 00h db 00h, 40h, 20h,0D0h, 48h, 4Fh, 48h, 48hdb 0E8h, 48h, 08h,0FCh, 08h, 00h, 00h, 00h ;;显示“包” db 00h, 00h, 0

28、0h, 3Fh, 42h, 42h, 42h, 42hdb 47h, 40h, 48h, 4Fh, 40h, 70h, 00h, 00hdb 08h, 08h, 08h, 18h, 68h, 88h, 09h, 0Ehdb 08h, 08h,0C8h, 38h, 08h, 0Ch, 08h, 00h ;;显示“文” db 80h, 80h, 40h, 40h, 20h, 11h, 0Ah, 04hdb 0Ah, 11h, 10h, 20h, 40h,0C0h, 40h, 00hdb 00h,0F0h, 00h,0FFh, 00h,0F0h, 90h, 88hdb 4Fh, 54h,0A4h,

29、54h, 4Ch,0C4h, 40h, 00h ;;显示“峰” db 00h, 1Fh, 10h, 0Fh, 08h, 1Fh, 00h, 14hdb 15h, 15h,0FFh, 15h, 15h, 14h, 00h, 00hAG2: MOV R0,#0 ;;延时程序1SAG3: MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB TR1AG4: JBC TF1,AG5 SJMP AG4AG5: INC R0 CJNE R0,#0AH,AG3 RETINT: MOV COM,#0E2H;;初始化子程序,复位 LCALL PR0 LCALL PR3 MO

30、V COM,#0A4H;;关闭休闲状态 LCALL PR0 LCALL PR3 MOV COM,#0A9H;;设置1/32占空比 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 RETCLEAR: MOV R4,#00H;;清屏子程序,页面地址暂存器设置CLEAR1: MOV A,R4;;取页地址值 ORL A,#0B8H;;“或” 页面地址设置

31、代码 MOV COM,A;;页面地址设置 LCALL PR0 LCALL PR3 MOV COM,#00H;;列地址设置为“0” LCALL PR0 LCALL PR3 MOV R3,#50H;;一页清80个字节CLEAD2: MOV DAT,#00H;;显示数据为“0” LCALL PR1 LCALL PR4 DJNZ R3,CLEAD2;;页内字节清零循环 INC R4;;页地址暂存器加1 CJNE R4,#04H,CLEAR1;;RAM区清零循环 RETPR0: PUSH DPL;;写指令代码子程序(E1) PUSH DPH MOV DPTR,#CRADD1PR01: MOVX A,DP

32、TR JB ACC.7,PR01 MOV DPTR,#CWADD1 MOV A,COM MOVX DPTR,A POP DPH POP DPL RETPR1: PUSH DPL;;写显示数据子程序(E1) PUSH DPH MOV DPTR,#CRADD1PR11: MOVX A,DPTR JB ACC.7,PR11 MOV DPTR,#DWADD1 MOV A,DAT MOVX DPTR,A POP DPH POP DPL RETPR2: PUSH DPL;;读显示数据子程序(E1) PUSH DPH MOV DPTR,#CRADD1PR21: MOVX A,DPTR JB ACC.7,PR21 MOV DPTR,#DRADD1 MOVX A,DPTR MOV DAT,A POP DPH POP DPL RETPR3: PUSH DPL ;;写指令代码子程序(E2) PUSH DPH MOV DPTR,#CRADD2PR31: MOVX A,DPTR JB ACC.7,P

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号