版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 课程设计报告课程名称: 微机原理课程设计 课 题: 液晶显示器与键盘系统 专业班级: 计算机学院14102班 学 号: 201417010231 姓 名: 杨 伏 指导老师: 周慧灿 日 期: 2017年1月5日 教师评语:成绩评定: 指导教师(签名): 目 录1.课题简介12.设计方案13.具体设计2 3.1硬件设计2 3.1.1单片机及外围电路 2 3.1.2键盘接口电路3 3.1.3 LCD接口电路4 3.1.4功能接口电路 6 3.2软件设计6 3.2.1 键盘扫描及管理程序 6 3.2.2液晶显示程序 8 3.2.3功能键程序114.测试12 4.1测试结果125总结11参考文献1
2、41.课题简介 随着电子技术的快速发展自动化智能控制领域中单片机智能控制系统快速取代了由传统的分立元件或数字逻辑电路构成的控制系统。在单片机应用系统中,通常都要有人机对话机能。它包括人对应用系统的状态干预与数据输入以及应用系统向人报告运行状态与运行结果。键盘、液晶显示器(LCD)是完成人机对话功能的常用外部设备。对它们的设计,在一定程度上影响着系统的智能化程度和操作的直观性。本文介绍一种8031单片机与4×4矩阵式键盘、LCD的接口实现方法,通过按键实现不同的功能,并显示在显示器上。2. 设计方案2.1单片机选型AT89S51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统
3、可编程Flash 存储器。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。根据万向开关的的档位,控制小直流电动机执行相应的动作。2.2按键扫描运用P0口第四位进行行扫描,高四位进行列扫描。循环判断,得到按键位置。并在相应按键按下后实现特定功能:按键10按下时,发光二级管点亮,按键11按下时,发光二级管停止亮;按键12按下时,蜂鸣器响,按键13按下时,蜂鸣器停止响。2.3 1602LCD显示将按键扫描值通过LCD显示出来,并在LCD上显
4、示“WELCOM TO BJTU!”及“XX key press”。3. 具体设计3.1硬件设计:该系统硬件设计主要由单片机、LCD液晶显示模块和非编码矩阵式键盘组成。其中,键盘字符输人及LCD显示系统接口电路包括智能键盘接口电路、LCD显示接口电路、键盘指示灯接口电路、时钟电路、复位电路等。3.1.1 单片机及外围电路AT89C51单片机, 时钟电路和复位电路构成单片机最小应用系统, 完成对系统的控制、处理与协调。 图3.1.1 AT89C51单片机引脚图 图3.1.1.2 时钟电路图 图3.1.1.3 复位电路图3.1.2 键盘接口电路系统应用一个4 ×4键盘,4 ×4
5、 的矩阵键盘是由4 条行线和4 条列线组成, 其中单片机P1口的高四位接4 ×4键盘的行线,P3口的低四位接4 ×4键盘的列线。按键设置在行列线交点上, 行列线分别连接到按键开关的两端。行线通过上拉电阻接到+ 5V 上, 平时无按键动作时, 行线处于高电平状态, 而当有按键按下时, 行线状态将由与此相连的列线电平决定。键盘中有无按键按下是由列线送入全扫描字, 单片机读入行线状态来判断的。键盘中的每个键均被赋予了一定的功能。有09共10个数字键,AF共6个功能键。按键的识别采用扫描法,逐列置低电平,其余列置高电平,检查行线电平的变化,判断按下的键所处的行线。键号等于行首键号加
6、列号。 图3.1.2 键盘接口电路图3.1.3 LCD接口电路SMC1602A液晶显示器可以实现英文字母,数字和符号的显示,可以显示两行字符,每行显示16个字符,带有背光源,工作电压+5V。TS1620-1A上有14 个引线端, 其中有八条数据线D0D7 , 三条控制线(即RS2寄存器选择, R/ .W2读写, E2使能) , 三条电源线。采用8位并行数据传输,与单片机接口非常方便,可以与单片机数据总线连接,也可以采用单片机的I/O口线连接进行控制。SMC1602A液晶显示器采用HD44780及其兼容芯片作为点阵式LCD的控制器驱动器,还采用HD44100进行LCD的时分割驱动。HD44780
7、的内容结构主要包括显示数据RAM,字符发生器ROM,字符发生器RAM,指令寄存器IR,数据寄存器DR,地址计数器AC和忙标志BF等逻辑电路。由于单片机为TTL 电路, 因此LCD 与单片机接口时, 两者之间需要加上总线驱动器74LS00。另外, 在接口设计中,要重点考虑接口电路应满足LCD 的工作时序。我们将8031 的P21信号线与LCD 的R/ W 线相连,LCD 使能端E 由8031 的P27 口线与WR、RD线联合控制。当P27 = 1 时, 选中LCD , 而8031 的P26 控制LCD 的寄存器选择信号线RS。当P26 = 1 时,选择数据寄存器;当P26 = 0 时,选择指令寄
8、存器。在VDD 与VSS 之间连接一个10K电位器, 调节它, 可改变显示亮度。 图3.1.3 LCD显示电路图 图3.1.3.2 LCD74LS00接线图3.1.4 功能接口电路按照设计要求,需要一个LED亮灯电路以及一个蜂鸣器电路。这两个电路分别由单片机的P35和P34通过输出高低电平来控制。电路如下图: 图3.1.4 LED灯电路图3.2 软件设计3.2.1 键盘扫描及管理程序通常, 键盘工作方式有三种。即:编程扫描、定时扫描和中断扫描。考虑到本系统采用以键盘控制、管理为中心,信号产生及液晶显示作为功能程序,所以,选用编程扫描作为键盘工作方式。该种键盘工作方式具体为:进入键扫描状态后扫描
9、键盘,当识别到键盘被按下时,转消抖动处理。否则,退出键扫描状态。消颤延时结束后, 再扫描键盘,识别有无键盘被按下,若识别出有键按下,才为真实按下,继而识别出具体按键。在这种扫描方式下,当用户按下某键盘后,扫描程序可散转到对应的功能程序,CPU 即可处理相应事务; 而当键盘无人按下时,CPU 马上退出键盘扫描状态去干其它事情。因此可以节省CPU 大量时间,又能使CPU 与键盘灵活结合,完成需键盘控制的较复杂的任务。 图3.2.1 键盘扫描流程图键盘扫描子程序:KEY: MOV 50H,#0FFH ACALL KS1 CJNE A,#0F0H,LK1 AJMP KRETLK1: ACALL TIM
10、 ACALL KS1 CJNE A,#0F0H,LK2 AJMP KRETLK2: MOV R4,#00H MOV R2,#0FEHLK3: MOV A,R2 MOV P3,A MOV P1,#0FFH MOV A,P1 JB ACC.4,L1 MOV A,#00H AJMP LKL1: JB ACC.5,L2 MOV A,#04H AJMP LKL2: JB ACC.6,L3 MOV A,#08H AJMP LKL3: JB ACC.7,KNEXT MOV A,#0CHLK: ADD A,R4 PUSH ACCLK4: ACALL KS1 CJNE A,#0F0H,LK4 POP ACC M
11、OV 50H,A AJMP KRETKNEXT: INC R4 MOV A,R2 JNB ACC.3,KRET RL A MOV R2,A AJMP LK3KRET: RET3.2.2 液晶显示程序点阵式液晶显示模块是一个智能化的器件, 其所有的显示功能都是由指令实现。它能够显示西文、数字、日语的假名和简单的汉字等。要使这些字符显示在不同位置上就必须对字符进行编码。字符编码就是要写入显示数据存储器(DDRAM) 的数据, 它也就是产生字符存储器的高五位。产生字符存储器可分为随机存储器(CGRAM) 和只读存储器(CGROM)。LCD 的指令格式如下: 图3.2.2 LCD指令图 图3.2.2.
12、2 LCD指令表图LCD 共有11 条指令, 它们是清除、返回、输入方式设置、显示开关控制、移位控制、功能设置、CGRAM 地址设置、DDRAM 地址设置、读忙标志和地址、写数据到CGRAM 或DDRAM、从CGRAM 或DDRAM 读数据。其所有的显示功能都是由11 条指令实现的, 同时由于LCD 是慢速器件, 所以在执行每条指令之前一定要确认LCD 的忙标志为0 , 即非忙状态, 否则此指令将失效。这也是LCD 编程的关键所在。其中, BF 为LCD 的忙、闲标志, BF = 1 为忙, BF = 0 则为闲。 图3.2.2.3 控制指令表 图3.2.2.4 字符显示地址表在本实验中,要判
13、断实质是数字还是字母,两者要实现不同的显示功能。为实现此判断我们用ASCII码值来代替键值。显示流程图如下。 图3.2.2.5 流程图3.2.3功能键程序功能键子程序中首先要判断是那个键,可以通过ASCII码值实现。之后在每个功能键下实现其功能。如A键实现灯亮,则可在A键功能下给相应的控制管脚置高(低)电平。其中E键功能为报警系统,采用T0定时中断输出方波。子程序如下:GN: MOV R1,#50H CJNE R1,#41H,BG CLR P3.5 AJMP LPBG: CJNE R1,#42H,CG SETB P3.5 AJMP LPCG: CJNE R1,#43H,DG CLR P3.4
14、AJMP LPDG: CJNE R1,#44H,EG SETB P3.4 AJMP LPEG: CJNE R1,#45H,FG AJMP ZDEG FG: AJMP MAIN LP: RETZDEG: AJMP ZDEG1ZDEG1: MOV SP,#70H MOV TMOD,#01H MOV TH0,#031H MOV TL0,#0E0H MOV IE,#10000010B SETB TR0 SJMP $T0INT: MOV TH0,#031H MOV TL0,#0E0H CPL P3.4 CPL P3.5 ACALL KEY ACALL ASC MOV R1,#50H CJNE R1,#4
15、6H,RET1 AJMP RET2 RET1: RETI RET2: AJMP FG4.测试4.1测试结果4.1.1上电初始界面: 图4.1 上电初始界面图4.1.2 数字键:(按下数字键9和1) 图4.1.2 图一 图4.1.2 图二4.1.3 功能键:(A键功能) 图4.1.3 功能键图5.总结 本课题的设计在很多方面都有所欠缺,同时本设计也存在着很多的不足之处。 考虑问题不够独特全面,还有待许多需优化的地方。通过这次的课程设计,在软件方面,就从软件程序方面做起,可是开始的并不顺利。对于之前都没有接触过的新程序,感到茫然不知从何下手,对程序的总体思路也缺乏了解。后来查阅了大量资料,才渐渐有
16、了思路知道大体的框架。慢慢的才把程序调试好,理清仿真图的出口与入口。在仿真方面因为程序的思路都理清了,所以只要按要求调用器件连接好电路,功能比较顺利的就实现了,没有出现太大的问题。在硬件方面:做完软件方面的任务,然后就开始动手做硬件。虽然硬件的焊接比较少,可是我还是遇到了问题。原来的板子上的74LS00的借口是焊反了的,我们插得芯片也反的,不仅LCD不显示,还导致74LS00直接烧坏了。后来几经周折,这才可以显示了。再者,蜂鸣器的电路也不是很好,声音断断续续,时而发音时而不发音。 设计很小,可是在这过程中我们学会了很多课本上学不到的知识。也明白书本的知识永远不够,我们自己要学会自学。同时对于学
17、工科的学生还是要多多动手,在调试硬件时很多东西是要靠经验来检查电路的问题,而且动手经验也可以免去很多不必要的错误。虽然还没有达到很完善的境界,但是从根本上锻炼了我的自主学习的能力,另外,在此很感谢指导老师的帮助。也通过本次设计提高了对实际问题的分析能力,为以后的学习做了一个好的开端。参考文献1.胡汉才.单片机原理及其接口技术M.2版北京:清华大学,20042.徐爱钧8051单片机实践教程M1北京:电子工业出版社,2005附 件附件一:硬件电路原理图附件二:源程序清单ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0100HMAIN: MOV SP,#6
18、0H ACALL LCDINILOOP: ACALL KEY MOV R0,#50H CJNE R0,#0FFH,NEXT0 AJMP LOOPNEXT0: CJNE R0,#0AH,NEXT1NEXT1: JNC NEXT2 MOV DPTR,#8000H MOV A,#01H MOVX DPTR,A ACALL BUSY ACALL ASC ACALL LCD2 AJMP LOOPNEXT2: CJNE R0,#10H,NEXT3NEXT3: JNC NEXT4 MOV DPTR,#8000H MOV A,#01H MOVX DPTR,A ACALL BUSY ACALL ASC ACAL
19、L GNNEXT4: AJMP LOOPKEY: MOV 50H,#0FFH ACALL KS1 CJNE A,#0F0H,LK1 AJMP KRETLK1: ACALL TIM ACALL KS1 CJNE A,#0F0H,LK2 AJMP KRETLK2: MOV R4,#00H MOV R2,#0FEHLK3: MOV A,R2 MOV P3,A MOV P1,#0FFH MOV A,P1 JB ACC.4,L1 MOV A,#00H AJMP LKL1: JB ACC.5,L2 MOV A,#04H AJMP LKL2: JB ACC.6,L3 MOV A,#08H AJMP LKL3
20、: JB ACC.7,KNEXT MOV A,#0CHLK: ADD A,R4 PUSH ACCLK4: ACALL KS1 CJNE A,#0F0H,LK4 POP ACC MOV 50H,A AJMP KRETKNEXT: INC R4 MOV A,R2 JNB ACC.3,KRET RL A MOV R2,A AJMP LK3KRET: RETASC: MOV DPTR,#ASCTAB MOV A,50H MOVC A,A+DPTR MOV 50H,A RETASCTAB: DB 30H,31H,32H,33H,34H,35H DB 36H,37H,38H,39H,41H,42H DB
21、43H,44H,45H,46HKS1: CLR P3.0 CLR P3.1 CLR P3.2 CLR P3.3 MOV P1,#0FFH MOV A,P1 ANL A,#0F0H RETTIM: MOV R7,#18HTM: MOV R6,#0FFHTM6: DJNZ R6,TM6 DJNZ R7,TM RETLCDINI: MOV DPTR,#8000H MOV A,#38H MOVX DPTR,A ACALL BUSY MOV DPTR,#8000H MOV A,#01H MOVX DPTR,A ACALL BUSY MOV DPTR,#8000H MOV A,#0CH MOVX DPTR
22、,A ACALL BUSY ACALL LCD1 RETLCD1: MOV DPTR,#8000HMOVA,#40HMOVXDPTR,AACALLBUSYMOVR1,#00HAAA: MOVDPTR,#TABMOVA,R1MOVCA,A+DPTRMOVDPTR,#8100HMOVXDPTR,AACALLBUSYINCR1CJNER1,#38H,AAAMOVDPTR,#8000HMOVA,#80HMOVXDPTR,AACALLBUSYMOVDPTR,#8100HMOVA,#00HMOVXDPTR,AACALLBUSYMOVDPTR,#8100HMOVA,#01HMOVXDPTR,AACALLBUSY MOVDPTR,#8100HMOVA,#02HMOVXDPTR,AACALLBUSY MOVDPTR,#8100HMOVA,#03HMOVXDPTR,AACALLBUSY MOVDPTR,#8100HMOVA,#04HMOVXDPTR,AACALLBUSY MOVDPTR,#8100HMOVA,#05HMOVXDPTR,AACALLBUSY MOVDPTR,#8100HMOVA,#06HMOVXDPTR,AACALLBUSYRETLCD2:MOVDPTR,#8000HMOVA,#0C0HMOVXDPTR,AACALLBUSYMOVDPTR,#8100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河南省平顶山市网格员招聘考试参考试题及答案解析
- 小学英语二年级下册Unit 1 Lesson 3教案:穿衣搭配与情境交际
- 小学四年级数学下册第一单元第05课时《构建模型精准施策-解决“归一”问题》教学设计
- 2026年广西壮族自治区梧州市网格员招聘考试模拟试题及答案解析
- 2026年温州市瓯海区网格员招聘考试参考试题及答案解析
- 2025年河南省驻马店市街道办人员招聘笔试试题及答案解析
- 2025年莆田市涵江区街道办人员招聘笔试试题及答案解析
- 2026年山东省烟台市街道办人员招聘笔试备考题库及答案解析
- 2026年杭州市上城区街道办人员招聘笔试备考题库及答案解析
- 2026年山东省潍坊市网格员招聘考试参考试题及答案解析
- 国为什么说勇于自我革命是党能够引领社会革命的根本原因?参考答案(三)
- 雨课堂学堂在线学堂云《跨文化交际英语(北京理工)》单元测试考核答案
- 中国老年2型糖尿病防治临床指南(2026版)解读课件
- 紫金投资集团招聘笔试题库2026
- 游泳池设施设备安全检查制度
- 2025年安全B证考试题库 水利水电及答案解析
- 【MOOC】《现代控制理论基础》(西北工业大学)章节作业慕课答案
- 2025版肺癌常见症状及护理护理原则
- DB34∕T 4243-2022 智慧医院医用耗材SPD验收规范
- 医疗美容设备售后服务管理体系方案
- 可控飞行撞地培训课件大纲
评论
0/150
提交评论