摘 要 微机原理与接口技术是计算机与通信工程专业的重要课程之一,与课程配套的教学实验对学生的学习也是至关重要的。传统的微机接口实验都以LED作为显示接口,存在显示信息量少、不能显示中文字符和图形等缺点。开发具有液晶显示接口的微机接口实验系统,对更好地掌握高档微机接口技术具有较大的意义。 本文首先对原32位微机实验系统进行了研究和分析,在原微机实验系统上增加了液晶显示模块。设计了液晶显示模块和32位微机实验系统的接口电路,编制了液晶显示模块的驱动程序。通过安装、调试,成功地实现了32位微机实验系统的液晶显示功能。 关键词:点阵图形液晶显示器;微机接口技术;驱动程序
Abstract The principle of the computer and interface technology is one of the specialized important courses of computer and communication engineering, studying to students of experiment of teaching related to course is essential too. Traditional computer interface experiment shows interface as LED, it shows amount of shortcominging such as information to be little and cannot show Chinese character and figure. Developing has computer interface experimental system that liquid crystal shows the interface, have greater meanings in mastering the interface technology of the top-grade computer better. This text has carried on research and analysed to the original 32 bits experimental systems of computer at first , have increased the liquid crystal and shown the module in the experimental system of the original computer. Show module and 32 bits of interface circuit of experimental system of computer after designing the liquid crystal, have worked out the driver that the liquid crystal shows the module. Through installing and debugging, have succeeded shown the function in realizing 32 bits of liquid crystal of experimental system of computer. Key words: Lattice figure liquid crystal display; Interface technology of the computer; Driver
第1章 绪论 1.1背景 人们所接受的信息中有70%来自于人的视觉,无论用何种方式获取的信息最终需要有某种显示方式来表示。在各种显示技术中,以液晶显示器LCD(Liquid Crystal Display)为代表的平板显示器发展最快、应用最广。LCD是典型的光电器件,它以材料科学为基础,综合利用了精密机械、光电及计算机技术,并正在微机械、微光学、纤维光学等前沿领域研究基础上,向高集成化、智能化方向发展。 液晶显示模块( LCM即Liquid Crystal Display Module)是将液晶显示器件(LCD)、连接件、控制、驱动电路和PCB电路板、背光源、结构件装配在一起的组件。由于点阵型液晶显示器件的引线众多,用户使用极不方便,所以制造商将点阵型液晶显示器件和驱动器做在一块板上成套出售,这种产品称为液晶显示模块或模组[1]。 液晶显示技术的普及应用和发展,给仪器、设备的小型化及智能化带来了光辉的前景,特别是点阵图形式液晶显示模块,它具有体积小、重量轻、低电压、低功耗之优点,因而在显示内容和显示功能等方面表现出了独特的性能。由于液晶显示器已成为日常工作和生活中各种显示仪器、仪表和袖珍电子产品的重要组成部分,因此对于点阵图形液晶显示器件(模块)的开发、设计、应用和研究具有重要意义。 当前大多数高校中的微机原理的教学还一直停留在16位微机的内容上,使得我们非常缺乏大量能够掌握32位微机系统应用开发的人才,以至于32位微机系统应用开发的力量非常薄弱,与国外发展的水平产生了很大的差距,这已成为限制我国科技和经济快速发展的一个重要因素。所以从我国建设和发展的层面上来说,迅速开展32位微机原理的教学具有非常的紧迫性。 对于各学校来说,由于开展32位微机教学,使得教学内容可以贴近当前实际,提高了教学层次,同时促进了教师及学生科研和开发水平的提高,一方面能够解决当前微机应用开发中存在的关键技术问题,满足社会中对计算机技术开发的需求,另一方面,也对学生的良好就业提供了重要支持。因而对用人单位来说,也解决了他们找不到掌握32位微机系统应用开发人才的困扰。由此看来,对社会、对学校、对学生这几方面来说,开发32位微机原理实验系统都是非常重要和急迫的。本设计开发将在江大江电科教仪器公司开发的JD-PIT实验及开发系统上添加液晶显示模块。 1.2研究目的 随着现代计算机技术的快速发展,以Intel80x86(32位)高级微处理器为核心、以Windows操作系统为主流应用环境的微机系统日益普及,其应用性的开发也随之不断增加,因此这就需要尽早尽快在高校中普及开展32位微机的教学,培养出适应我国经济建设飞速发展需求的高质量计算机研发人才队伍。 微型计算机由过去的以8086/8088CPU为核心的16位微机系统发展到当今的以奔腾处理器为核心的32位微机系统。16位微机系统是一个以DOS操作系统为使用环境、进行单任务处理的简单系统,其功能相对有限;而32位微机系统是以Windows操作系统为主流使用环境、进行多任务处理的复杂系统,其主要功能是支持多媒体和网络应用。如今,绝大多数微机系统应用开发都与其多媒体和网络功能相关。 本课题来源于有厂家要求的实验室自拟项目。厂家负责提供合格的STN型点阵图形液晶屏,我方负责根据此液晶屏来设计点阵图形液晶显示模块。 1.3主要研究内容 服务于设计一个点阵图形液晶显示模块来代替实验板上的LED显示模块这一要求,课题的主要研究内容就是要研究原LED模块的工作原理、键盘扫描原理、液晶显示器件指令集及驱动的基本原理与方法,液晶显示驱动器原理及液晶显示模块的电路构成,液晶显示模的块连接方式。 具体内容包括液晶显示模块的结构设计、电路设计、用于液晶显示控制的控制板的原理图设计、液晶显示驱动程序的软件编程。
第2章 JD-PIT 32位微机实验系统研究分析 JD-PIT实验及开发系统是江大江电科教仪器公司为满足各大专院校进行"32位微机原理及高级接口技术"课程的开放式实验教学而精心设计的,其功能强大,包括了学习32位微机原理的软件调试实验平台和学习高级接口技术的硬件实验开发平台。本章将就该系统的功能和特点两方面进行简要的介绍。 2.1 JD-PIT实验系统的构成及特点 2.11系统构成 系统为32位微机原理和微机接口技术应用分别提供了实验于台。32位微机原理部分实验平台由一组支持在80386、奔腾及其以上PC 微机上的编程及调试工具组成。用户可以通过该调试工具按开放式实验原则来进行 32位微机保护模式下的 80X86实验程序的编制、运行及调试。微机接口应用部分,系统提供了硬件实验平台,并将实验分为基本接口和高级接口应用两部分。对于基本接口应用学习,JD-PIT系统经PCI总线扩展卡及转接逻辑为用户提供了一个仿真ISA接口,用户可以基于该接口学习常用接口芯片的编程及应用;对高级按口部分的学习,实验系统提供了全开放的简化PCI总线接口-ADD-ON总线接口及CPLD实验单元,使用户可以直接对PCI总线完成特定应用需要的接口设计,系统同时还提供了大量基于Windows 9x的VxD开发实验,和PCI总线应用扩展实例,用户可以参考这些实例快速掌握接回应用的实现方法。 目 录 第1章 绪论 4 1.1背景 4 1.2研究目的 4 1.3主要研究内容 5 第2章 JD-PIT 32位微机实验系统研究分析 6 2.1 JD-PIT实验系统的构成及特点 6 2.11系统构成 6 2.12系统功能及特点 7 2.2 JD-PIT实验系统的硬件环境 8 2.21 JD-PIT实验箱电路结构 8 2.22扩展接口实验单元 9 2.3 系统使用的ISA部分仿真信号 10 第3章 液晶显示模块电路设计 12 3.1 液晶的发展趋势及原理介绍 12 3.2液晶显示器件简介 14 3.3 液晶显示单元电路设计 21 3.31 LED显示单元分析 21 3.32 液晶显示单元电路设计要求及思路 22 3.33 液晶显示单元原理图及PCB设计 22 第4章 32位微机液晶显示模块驱动程序设计 24 4.1基本输入输出子程序 24 4.2键盘测试程序的设计与实现 26 第5章 结论与展望 40 参考文献 41 致谢 42 附录 43 附录1:ST7920A用户指令集 43 附录2:字符表 45 附录3:键盘测试程序源程序清单 46
附录 附录1:ST7920A用户指令集 1、指令表1:(RE=0:基本指令集) 指令 指令码 说明 执行时间(540KHZ)
RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
清除显示 0 0 0 0 0 0 0 0 0 1 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H" 4.6ms 地址归位 0 0 0 0 0 0 0 0 1 X 设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容 4.6ms 进入点 设定 0 0 0 0 0 0 0 1 I/D S 指定在资料的读取与写入时,设定游标移动方向及指定显示的移位 72us 显示状态 开/关 0 0 0 0 0 0 1 D C B D=1:整体显示ON C=1:游标ON B=1:游标位置ON 72us 游标或显示移位控制 0 0 0 0 0 1 S/C R/L X X 设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容 72us 功能设定 0 0 0 0 1 DL X 0 RE X X DL=1 (必须设为1) RE=1: 扩充指令集动作 RE=0: 基本指令集动作 72us 设定CGRAM地址 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM地址到地址计数器(AC) 72us 设定DDRAM 地址 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 设定DDRAM地址到地址计数器(AC) 72us 读取忙碌标志(BF)和地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值 0us 写资料到RAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0 写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM) 72us 读出RAM的值 1 1 D7 D6 D5 D4 D3 D2 D1 D0 从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM) 72us
指令表-2:(RE=1:扩充指令集) 指令 指令码 说明 执行时间(540KHZ)
RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
待命模式 0 0 0 0 0 0 0 0 0 1 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H" 72us 卷动地址或IRAM地址选择 0 0 0 0 0 0 0 0 1 SR SR=1:允许输入垂直卷动地址 SR=0:允许输入IRAM地址 72us 反白选择 0 0 0 0 0 0 0 1 R1 R0 选择4行中的任一行作反白显示,并可决定反白与否 72us 睡眠模式 0 0 0 0 0 0 1 SL X X SL=1:脱离睡眠模式 SL=0:进入睡眠模式 72us 扩充功能设定 0 0 0 0 1 1 X 1 RE G 0 RE=1: 扩充指令集动作 RE=0: 基本指令集动作 G=1 :绘图显示ON G=0 :绘图显示OFF 72us 设定IRAM地址或卷动地址 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 SR=1:AC5-AC0为垂直卷动地址 SR=0:AC3-AC0为ICON IRAM地址 72us 设定绘图RAM地址 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM地址到地址计数器(AC) 72us 附录2:字符表
附录3:部分键盘测试程序源程序清单 ;键盘测试程序 DA8255A EQU 0E060H ;8255A口 DA8255B EQU 0E061H ;8255B口 DA8255C EQU 0E062H ;8255C口 DA8255 EQU 0E063H ;8255控制口 DATA SEGMENT KEY SCAN DB ? KEY CODE DB ? FLAG DB ? LINE1 DW ? DTABLE0 DB 'P','R','E','S','S',' ','A','N','Y',' ','K','E','Y',' ' DTABLE1 DB 50H,4FH,57H,45H,52H,20H,4FH,4EH DB 54H,45H,53H,54H,20H,46H,49H,4EH,49H,53H,48H,45H,44H,20H DTABLE2 DB 0D2H,0BAH,0BEH,0A7H,0C6H,0F4H,0B6H,0AFH DB 0B2H,0E2H,0CAH,0D4H,0CDH,0EAH,0B3H,0C9H DTABLE3 DB 0D0H,0CDH,0BAH,0C5H,':','G','X','M','1','2','2','3','2','E' DB 0BFH,0D8H,0D6H,0C6H,0C6H,0F7H,':','S','T','7','9','2','0','A' DTABLE4 DB 01H,80H,01H,80H,0FH,0F0H,01H,80H,03H DB 0C0H,02H,40H,03H,0C0H,01H,80H,1FH,0F8H DB 10H,08H,13H,0C8H,12H,48H,12H,48H,13H DB 0C8H,1FH,0F9H,00H,00H DTABLE5 DB 0B1H,0BEH,0C4H,0A3H,0BFH,0E9H,0C4H,0DAH,0D6H,0C3H,0B6H,0FEH,0BCH,0B6H,' ';本模块内置二级 DB 0D7H,0D6H,0BFH,0E2H,0D2H,0D4H,0BCH,0B0H,0B9H,0A6H,0C4H,0DCH,0B7H,0E1H,' ';字库以及功能丰 DB 0B8H,0BBH,0B5H,0C4H,0D3H,0C3H,0BBH,0A7H,0D6H,0B8H,0C1H,0EEH,0CAH,0B9H,' ';富的用户指令使 DB 0D3H,0C3H,0B8H,0FCH,0B7H,0BDH,0B1H,0E3H,0B8H,0FCH,0C1H,0E9H,0BBH,0EEH,'.';用更方便更灵活. DB 0BBH,0B6H,0D3H,0ADH,0C0H,0B4H,0BAH,0AFH,0C0H,0B4H,0B5H,0E7H,0B4H,0B9H,' ';欢迎来函来电垂 DB 0D1H,0AFH,0BBH,0F2H,0D5H,0DFH,0BFH,0C9H,0CDH,0A8H,0B9H,0FDH,0B5H,0E7H,' ';询或者可通过电 DB 0D7H,0D3H,0D3H,0CAH,0BCH,0FEH,0B4H,0ABH,0D5H,0E6H,0D3H,0EBH,0CEH,0D2H,' ';子邮件传真与我 DB 0C3H,0C7H,0C1H,0AAH,0CFH,0B5H,'!',' ',' ',' ',' ',' ',' ',' ',' ' ;们联系! DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL, 88H ;初始化8255 ;A口输出->数据总线 ;PC7-PC4输入<-键盘反馈 ;B口输出->键盘扫描 ;PC3-PC0输出->控制信号 MOV DX,DA8255 OUT DX, AL ;液晶模块初始化 MOV DX,DA8255A MOV AL, 00110000B ;8位2行 OUT DX, AL CALL WRINS
|