键盘输入显示系统设计课程设计.doc

上传人:精*** 文档编号:856744 上传时间:2023-09-17 格式:DOC 页数:32 大小:299KB
下载 相关 举报
键盘输入显示系统设计课程设计.doc_第1页
第1页 / 共32页
键盘输入显示系统设计课程设计.doc_第2页
第2页 / 共32页
键盘输入显示系统设计课程设计.doc_第3页
第3页 / 共32页
键盘输入显示系统设计课程设计.doc_第4页
第4页 / 共32页
键盘输入显示系统设计课程设计.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、键盘输入显示系统设计初始条件:1. 选用8086最小模式;2. 内存芯片使用2片6116(2K8),1片2716(2K8)EPROM;3. 8255、8259、74LS138、LCD字符型液晶显示器及其驱动器;4. 8255、8259的片选信号线分别接74LS138的Y1、Y2引脚;5. 采用44键盘进行菜单功能选择;6. 其他必须的配套元件。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 查阅参考资料,自学相关元件的内部结构、工作方式或初始化编程过程;2. 完成微机基本系统及其扩展接口电路设计,绘制微机系统硬件原理图;3. 绘制汇编源程序流程图,编制扩

2、展接口电路工作的汇编源程序,包括初始化和监控工作程序;4. 通过微机或DSG-88实验装置进行汇编源程序的调试;5. 撰写设计说明书,设计说明书字数不少于5000字,具体要求见附录。时间安排:序号内容所用时间(天)1查阅资料,学习相关芯片知识22系统及扩展电路硬件设计33初始化程序和应用程序设计34相关硬件电路和程序调试35课程设计答辩1合计12 指导教师签名: 2008年 11 月 23日系主任(或责任教师)签名: 年 月 日摘要键盘输入显示系统是我们日常生活中最常见的系统,我们知道,从外观上看普通的微型计算机系统是由主机箱、显示器、键盘、鼠标构成。所以对键盘输入显示系统进行设计是非常必有和

3、有用的。当然本次课程设计的主要目的是达到在设计好的键盘输入显示系统中,在键盘上输入一个字符,然后在显示器上相应显示出对应的字符。我的设计思想是:1、要实现键盘输入显示系统,首先要连接好硬件,如硬件图所示,其中各芯片接CPU,键盘的行线、列线分别接8255C口上半部、下半部,而且四根行线通过一个与非门接8259的IR0,LCD字符型液晶显示器接8255的B口,然后是编写程序。2、 编写主程序,先关中断,填写中断向量表,然后是对8259初始化,再开中断,执行其他程序。3、 编写子程序,其中有中断向量子程序、按键识别子程序、LCD显示子程序。4、 键盘输入显示:按键时,四根行线信号通过一个与非门产生

4、一个高信号给8259IR0,8259查找中断向量表,产生中断子程序,并且在中断子程序中CALL子程按键识别序和LCD显示子程序。5、 键盘输入显示系统设计得以实现。 关键词:8086系统,44键盘,LCD液晶显示器,可编程芯片目 录1.概 述11.1目的和意义 11.2国内外研究概况 11.3完成研究的方法和步骤 12.总体设计22.1总体分布 22.2芯片选有 32.3译码方式及地址范围计算 53.接口电路设计73.1意义和要求 73.2电路设计 73.3初始化程序 74.字符点阵型液晶显示器模块接口研究 94.1字符型液晶显示器模块LCD简介 94.2R T2004 字符型L CM 与51

5、 单片机接路 114.3程序设计125.系统程序设计 185.1端口地址表185.2流程图及说明186.结论197.参考文献 19 附录20 致谢2728武汉*大学微机原理与接口技术课程设计键盘输入显示系统设计1.概述1.1目的和意义微机原理与接口技术课程设计就是在学生系统学习教材的基础上,通过掌握的8086系统结构、指令系统与程序设计,各类芯片和存储器等知识,解决一些与微型计算机系统软件和硬件有关并且涉及日常应用的问题,而键盘输入显示系统是我们日常生活中最常用的系统之一,对其进行研究是十分有必要的,可以很好的锻炼同学们理论联系实际的能力。通过对一些简单实用问题的解决过程来巩固所学的知识,同时

6、提高应用接口技术来解决实际问题的能力,完成理论与实际的有机结合,从而提高学生的综合素质。1.2国内外研究概况由于键盘输入显示系统设计在我们的日常生活中的应用非常的广泛,所以该系统在国内外的研究是相当成熟的,特别是对显示器模块的研究。显示器是人与机器沟通的重要界面,近年来液晶显示器LCD以其自身所具有的特点,逐渐取代了CRT的主导地位。液晶显示器与传统的显示器相比具有显示信息多、质量高、没有电磁辐射、可视面积大、应有范围广、画面效果好、数字式接口、体积小、功耗低等特点,收到用户的普遍欢迎。显示器模块是一种将液晶显示器件、连接件、集成电路、背光源、结构件装配在一起的组件。1.3完成研究的方法和步骤

7、查阅资料,学习相关芯片知识;设计系统及拓展电路硬件;设计初始化程序和应用程序;设计相关硬件电路和调试程序。2总体设计2.1总体布局锁存器、缓冲器CPU8086地址译码器IO接口电路存储器可编程接口芯片44键盘图1 定时器系统设计功能框图LED显示器2.1.1功能框图2.1.2线路图 IR08259CSPC口8255PA口 CSY2 Y1 74LS13844键盘LCD液晶显示器 2.2芯片选用2.2.1、内存芯片6116RAMRandom-Access Memory(随机存取存储器):在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储

8、器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器或者内存储器和外存储器,主存储器简称内存。内存在电脑中起着举足轻重的作用。内存一般采用半导体存储单元。因为RAM是内存其中最重要的存储器,所以通常我们直接称之为内存。内存就是存储程序以及数据的地方。RAM就是既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。我们通常购买或升级的内存条就是用作电脑的内存,内存条(SIMM)就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。目前市场上常见的内存条有 128M条、256M条、512M条

9、等。2.2.2、EPROM 2716 紫外光擦除可编程只读存储器(EPROM)芯片常用浮栅型M门S管作存储单元。新出厂的“干净”EPROM每位均为1状态。对EPROLI的编程是用电信号控制将有关位由原来的1改写为o的过程;对EPROM的擦除过程则是用紫外光照射,即用高能光子将浮栅上的电子驱逐出去,使其返回基片,相应位由原来的0变为1状态。由于紫外光通过EPROM的石英窗口对整个芯片的所有单元都发生作用,所以一次摈除便使整个芯片恢复为全1状态,部分擦除是不行的。 对EPROM的擦除和写入都有专用设备,写入之前应确保芯片是“干净”的即为全1状态。EPROM写入器(或称编程器)一般可对多种型号的KP

10、ROM芯片进行写入。通过读写芯片的识别码来确认该使用什么样的编程脉冲和编程电压。写入器由软件和硬件两部分组成,常与计算机配套工作。硬件包括一块插入主机内的写人卡和一个可以引出机箱外的芯片插座。在写入软件的控制下,将数据写入到EPROM芯片中。EPROM擦除器由紫外线灯和定时器组成。将需要擦除的芯片放在紫外线灯下照射15分钟左右便可撩除干净。2.2.3、8259中断控制器Intel 8259是一种可编程中断控制器,Intel8080/8085和Intel8086/8088微处理器的可屏蔽中断而设计的,也可以用于Intel80286。一片8259可以管理8级中断,通过多片级联可扩展至64级;每一级

11、都可单独被屏蔽或允许。8259在中断响应周期,可提供相应的中断向量号;8259设计有多种工作方式,可以通过编程来选择,以适应不同的应用场合。它的主要功能有:1具有8级优先权控制,通过级连可扩展至64级优选权控制。2每一级中断都可以屏蔽或允许。3在中断响应周期,8259可提供相应的中断向量,从而能迅速地转至中断服务程序。8259是可编程的中断控制器。当有一条或若干条中断请求输入线(IRQ1IRQ7)变高,如果没有中断程序在运行, 则执行此中优先级最高的中断,如果有中断程序在运行,那么则将正在运行的程序的中断优先级与中断申请信号的优先级比较,如申请信号的优先级低,则挂起正在运行的程序,转而执行优先

12、级高的中断程序;反之则不做响应。2.2.4、8255并行接口电路Intel8255是一种可编程的并行电路芯片。8255内部分成与外设连接部分和与处理器接口部分。8055A具有24条可编程的输入输出引脚,分为3个端口:端口A、端口B、端口C。每个端口都是8位,都可以编程设定为输入和输出引脚,共有3种工作方式。3个端口对应的引脚分别为PA0PA7、PB0PB7、PC0PC7。8255的3个数据端口分成两组进行控制:A组控制端口A和端口C的上半部分(PC7PC4);B组控制端口B和端口C 的下半部分(PC3PC0).通常端口A和端口B作为输入输出数据端口,而C口作为控制和状态端口,数据总线缓冲器是8

13、255A与系统数据总线的接口。读写控制逻辑与CPU的地址线及有关的控制信号线相连,由他们控制把CPU的控制输出数送到相应的端口。这部分引脚分别是数据线D0D7,读信号RD,写信号WR,地址信号A1A0和片选CS。8255的工作方式: 1.方式0基本的输入输出 方式 当8255的端口工作在方式0,CPU只要用输入或输出命令就可以与外界进行数据交换。显然,方式0的端口用于无条件的传送方式的接口电路十分方便,不需要配合端口状态。 2.方式1可编程的单拍脉冲。 3.方式2双向选通传送方式。2.3译码方式及地址范围计算2.3.1 译码方式选用74LS138译码器,常用逻辑门(或门、与非门等)组合片选。2

14、.3.2 地址范围计算CPU地址总线A19A18A17A16A15A14A13A12A11-A1A0RAM00000000A10-A0片选ROM00000001A10-A0这样的地址安排再配合以74LS138译码器则可以保证两片RAM的地址范围为00000-00FFFH。对于2732EPROM来说,也可以根据74LS138译码器的输出口来选中,它的地址范围是FF000H-FFFFFH.地址的计算是根据硬件的连线和片选来确定的。其中应用了以下知识点。1对于74LS138来说,只有G1=1,G2A=0,G2B=0时,译码器才开始工作。它有三个选择输出端。,当它们的信号组合某个有效时,这个输出线就有

15、效,及输出为低电平。2.作为片选时用,当它为时选中偶片,当它为时,则,此时选中奇片。3.结合芯片的大小和其地址线的连接,就不难分析出上述结果。3.接口电路设计3.1意义和要求初始条件:1.选用8086最小模式;2.内存芯片选用两片6264(8K*8),一片2732(4K*8)EPROM;3.8255,8259,74LS138,LCD字符型液晶显示器及其驱动器;4.8255,8259,的片选信号线分别接74LS138的Y1、Y2引脚;5.按给定的地址范围0000000FFFH接入RAM芯片;6.在键盘上按下一个键,在显示器上显示相应字符;7.其他必须的配套元件;3.2电路设计见附录3.3初始化程

16、序 MOV AL,00010011B ;设置8259初始化 MOV DX,0200H ;上升沿触发及单片工作 OUT DX,AL MOV AL, 70H ;中断向量基值为70H MOV DX,0202HOUT DX,AL MOV AL,00000001B OUT DX,AL MOV AL,11111110 ;仅允许IR0中断 对于8259,在该系统中只需要开键盘这一个中断就可以满足要求,所以我选择上升沿触发及单片工作,中断向量基值为70H,仅允许IR0中断。 对于8255,它的初始化是在中断子程序中完成的,要完成几次初始化,在附录其初始化,这里就不再初始化了。4字符点阵型液晶显示器模块接口研究

17、.4.1字符型液晶显示器模块LCD简介4.1.1字符型L CM 硬件组成(如图1 所示) (1) 液晶板:其上排列着若干字符显示位,每个显示位可显示一个字符1 (2) L CD 驱动器HD44100 : 是用低功耗CMOS 技术制造的大规模L CD 驱动IC , 它既可当行驱动用,也可当列驱动用。 (3) L CD 控制器HD44780 : 是用低功耗CMOS 技术制造的大规模点阵L CD 控制器,和微处理器相连, 它能使点阵L CD 显示大小写英文字母,数字和符号。 图 1 字符型模块的工作电路组成 4.1.2、 RT2004字符型LCM的引脚功能,见下表1 表1 RT2004字符型LCM的

18、引脚功能4.1.3、字符型L CM 的指令表(1) CGRAM 与DDRAM CGRAM 是自编字库,可存储8 个自编字符1 DDRAM 是存贮显示数据的1 它的地址和显示位置的关系是一一对应的1 其对应关系如表2 所示: 表2 显示位与DD RAM 地址的对应关系表(2) 指令格式: RS , R/ W , DB7 , DB6 , DB5 , DB4 , DB3 , DB2 , DB1 , DB0 共11 种指令:清除,返回,输入方式设置,显示开关,控制,移位,功能设置,C GRAM 地址设置,DDRAM 地址设置,读忙标志,写数据到CG/ DDRAM , 读数据由C G/ DDRAM1 具

19、体如表3 所示: 表3 字符型LCM 指令表4.2、R T2004 字符型L CM 与51 单片机接口硬件电路(如图2 所示)图2 LCM 与51 接口图实验中采用P H IL IPS 公司P87C52 3 2 型号单片机、GAL16V8 译码器、373 锁存器,产生的接口地址如表4 所示:表4 LCM 接口地址表4.3程序设计4.3.1检测忙标志位BF BF : MOV DP TR , # RD_COM MOVX A , DP TR ANL A , # 80 H JNZ BF RET 4.3.2指令初始化模块INIT_LCD : MOV A,#38H ; 初始化显示模块:8 位数据线,5 3

20、 7 字体LCALL WRITE_COM LCALL DELA Y MOV A,#01H ; 清屏LCALL WRITE_COM MOV A,#06H ;AC 自动加1(光标移动方向:增加) LCALL WRITE_COM MOV A,#0CH ; 开显示LCALL WRITE_COM RET 4.3.3写指令子程序WRITE_COM : PUSH DPH ; 保存DPTR PUSH DPL MOV DPTR,#WR_COM ; 设置写指令地址MOVX DPTR,A ; 输出指令ACALL DELA Y ; 延时POP DPL ; 恢复DP TR POP DPH RET 4.3.4写数据子程序

21、WRITE_DA T : PUSH DPH; 保存DPTR PUSH DPL MOV DPTR,#WR_DAT ; 设置写数据地址MOVX DPTR,A ; 输出数据ACALL DELA Y ; 延时POP DPL ; 恢复DP TR POP DPH RNT4.3.5设置自定义字符WRITE_CGRAM : PUSH ACC ; 保护现场PUSH DPL PUSH DPH PUSH PSW MOV A,#40H ; 设置CGRAM 开始地址为00 H ACALL WRITE_COM MOV R7,#24 ; 输出3 个自定义字符(3 8 = 24) MOV DPTR , # CGRAM_ TA

22、BLE WRITE_CGRAM1 : CLR A MOVC A,A+DPTR ; 读取表数据ACALL WRITE_DAT ; 把数据写到CGRAM 中INC DPTR DJNZ R7 ,WRITE_CGRAM1 ACALL DELA Y ; 延时POP PSW ; 现场恢复POP DPH POP DPL POP ACC RET 4.3.6延时子程序DELA Y: MOV R5,#100 DELA Y1 : MOV R4,#100 DJNZ R4 , DJNZ R5 ,DELAY1 RET 4.3.7 显示主程序MAIN : MOV SP,#60H ; 设置SP ACALL DELA Y ;

23、延时ACALL INIT_LCD ; 初始化液晶模块ACALL WRITE_CGRAM ; 设置CGRAM MOV A,#84H ; 从第一行第5 位开始ACALL WRITE_COM MOV R6,#0CH; 显示TONGHUA. wuli MOVDPTR,# TABLE1 ; 读取TONGHUA. wuli 数据表地DISP1 : CLR A MOVC A,A+DPTR ACALL WRITE_DAT INC DPTR DJNZ R6 ,DISP1 MOV A,#0C2H ; 第二行第二位开始显示ACALL WRITE_COM MOV R6,#10H ; 显示2004 年9 月12 日MO

24、VDPTR,# TABLE2 ; 读取2004 年9 月12 日数据表地址DISP2 CLR A MOVC A,A+DPTR ACALL WRITE_DAT INC DPTR DJNZ R6 ,DISP24.3.8显示程序流程图(如图3 所示)5.系统程序设计 5.1端口地址表端口地址表8255PAPBPC控制口0100H0102H0104H0106H8259A0=0A0=10200H0202H5.2流程图及说明开始芯片初始化等待中断 是否有中断? N Y Y 执行中断子程序 结 束 主程序流程图要实现键盘输入显示系统,首先要连接好硬件,如硬件图所示,其中各芯片接CPU,键盘的行线、列线分别接

25、8255C口上半部、下半部,而且四根行线通过一个与非门接8259的IR0,LCD字符型液晶显示器接8255的B口,然后是编写程序。编写主程序,先关中断,填写中断向量表,然后是对8259初始化,再开中断,执行其他程序。编写子程序,其中有中断向量子程序、按键识别子程序、LCD显示子程序。键盘输入显示:按键时,四根行线信号通过一个非门产生一个高信号给8259IR0,8259查找中断向量表,产生中断子程序,并且在中断子程序中CALL子程按键识别序和LCD显示子程序。键盘输入显示系统设计得以实现。6.结论 通过上述的研究,我们可知:当在键盘上按下一个键时,这时有一个高信号给8259的IR0中断,此时将在

26、中断向量表里寻找对应的中断响应子程序的地址,而中断子程序的内容是将键盘上的字符显示在显示器上,剩余的工作是编写中断向量表和中断响应子程序。7.参考文献【1】周佩玲等微机原理与接口技术电子工业出版社2007年6月【2】韩雁等微机原理与接口技术电子工业出版社2005年12月【3】陈海霞等字符型液晶显示器模块的接口方法研究通用师范学报 第26卷第2期【4】李波成等微型计算机原理及接口技术西安电子科技大学出版社【5】高占国等微机原理与接口技术重庆大学出版社,2006年8月【6】凌志浩微机原理与接口技术科学出版社附录1.主程序的编写 1.1主程序流程图开始 填写中断入口地址表初始化8259 获取中断向量

27、,调用中断子程序INTPROC 在显示器上显示键盘值 结 束 1.2、主程序的编写 CODE SEGMENT ASSUME D DATA SEGMENT SHIFT DB 01H DATA ENDSDS:DATA,CS:CODE START: CLI ;关中断 CLD ;填写中断入口地址 MOV AX, 0 MOV ES, AX MOV DI, 4*70H MOV AX, OFFSET INTPROC STOSW MOV AX, SEG INTPROC STOSW MOV AL,00010011B ;设置8259初始化 MOV DX,0200H ;上升沿触发及单片工作 OUT DX,AL MO

28、V AL, 70H ;中断向量基值为70H MOV DX,0202H OUT DX,AL MOV AL,00000001B OUT DX,AL MOV AL,11111110 ;仅允许IR0中断 OUT 42H,AL STI ;开中断 ;执行其他程序 CODE ENDS END START 2、 中断子程序 中断服务子程序的编写如下 TNTPROC: PUSH AX ;中断服务子程序 PUSHF ;保护现场 CALL KEY ;调用键盘识别子程序 CALL XIANSHI ;调用显示子程序 POPF ;恢复现场 POP AX INETINTPROC ENDP3、 按键识别子程序3.1、按键识别子程序流程图开始 设定行为输出,列为输入行输出为0,输入列信息列信息全等于1 ? Y

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922