微机原理与接口技术课程设计——液晶显示器与键盘系统
时间:2025-01-12
时间:2025-01-12
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
微机原理与接口技术 综合实践说明书
院 班 级: 设 计
指导教师:设计时间:
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
微机原理与接口技术综合实践任务书
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
工作计划安排: ◆ 分组、选题,1 天 ◆ 方案设计,2 天(软硬件总体结构,元器件的选购) ◆ 硬件搭接,2 天;软件程序设计,5 天;综合调试,2 天 ◆ 课程设计任务书,2 天
同组设计者及分工: 亚哈亚 09221151 山 姆 0922115x 0922115X 硬件电路设计仿真,程序整合调试,编写设计说明书 总体方案设计,编写设计说明书 LCD 硬件仿真,联合调试,搜集资料,编写设计说明 书 YYYYY 0922115X 硬件电路搭接,购买元器件,资料搜集 LCD 显示编程及调试,购买元器件,编写设计说明书
XXXXX
ZZZZZ 0922115X
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
目录
一、
1. 2. 3. 二、
1.
总体设计 ..................................................................................................................... 5 单片机选型 ................................................................................................................. 5 按键扫描 ..................................................................................................................... 5 1602LCD显示 ............................................................................................................ 5 主要元件介绍 ............................................................................................................. 6 AT89S51概述 ............................................................................................................. 6 1.1 AT89S51主要特征 ............................................................................................... 6 1.2 管脚说明 .............................................................................................................. 7 1.3 本设计中的应用 .................................................................................................. 9 2. 1602LCD ................................................................................................................... 10
2.1 1602LCD概述 .................................................................................................... 10 2.2 1602LCD控制指令 ............................................................................................ 12
三、 基于PROTEUS的硬件电路设计 ............................................................................ 14
1. PROTEUS软件相关 ................................................................................................. 14 2. 电路组成 ................................................................................................................... 14
2.1 复位电路 ....................................................................................................... 14 2.2 时钟电路 ....................................................................................................... 15 2.3 1602LCD显示电路 ...................................................................................... 15 2.4 按键扫描电路 ............................................................................................... 16 2.5 蜂鸣器和发光二级管控制电路 ................................................................... 17
四、硬件配置 ........................................................................................................................... 18
1. 按键扫描程序 ........................................................................................................... 18 2. 1602LCD显示程序 .................................................................................................. 20 五、 电路仿真 ................................................................................................................... 22 六、 总结 ........................................................................................................................... 23 七、 附件 ........................................................................................................................... 24
1. 电路原理图 ............................................................................................................... 24 2. 源程序 ....................................................................................................................... 24
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
一、 总体设计
1. 单片机选型
AT89S51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。根据万向开关的的档位,控制小直流电动机执行相应的动作。
2. 按键扫描
运用P0口第四位进行行扫描,高四位进行列扫描。循环判断,得到按键位置。并在相应按键按下后实现特定功能:按键10按下时,发光二级管点亮,按键11按下时,发光二级管停止亮;按键12按下时,蜂鸣器响,按键13按下时,蜂鸣器停止响。
3. 1602LCD显示
将按键扫描值通过LCD显示出来,并在LCD上显示“WELCOM TO BJTU!”及“XX key press”。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
二、 主要元件介绍
1. AT89S51概述
AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
1.1 AT89S51主要特征
(1) 4k Bytes Flash片内程序存储器;
(2) 128 bytes的随机存取数据存储器(RAM); (3) 32个外部双向输入/输出(I/O)口; (4) 2个中断优先级、2层中断嵌套中断; (5) 6个中断源;
(6) 2个16位可编程定时器/计数器; (7) 2个全双工串行通信口; (8) 看门狗(WDT)电路; (9) 片内振荡器和时钟电路; (10) 与MCS-51兼容;
(11) 全静态工作:0Hz-33MHz; (12) 三级程序存储器保密锁定; (13) 可编程串行通道;
(14) 低功耗的闲置和掉电模式。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
1.2 管脚说明
图1 AT89S51引脚图
VCC:供电电压 GND:接地
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能
接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P1.0 T2(定时器/计数器T2的外部计数输入) ,时钟输出;P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制);P1.5 MOSI(在系统编程用);P1.6 MISO(在系统编程用);P1.7 SCK(在系统编程用)。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,
输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个
TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示: 管脚 备选功能
P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
1.3 本设计中的应用
在本设计中,AT89S51是整个系统的核心。I/O口主要用来连接键盘、蜂鸣器、以及控制LCD显示。P0口用来控制按键扫描。其中P1、P2口分别用来连接LCD的数据口和命令口;P2.0,2.1用于连接发光二级管和蜂鸣器。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
2. 1602LCD 2.1 1602LCD概述
1602LCD 分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别.
图2 1602LCD
1602LCD 主要技术参数: 显示容量:16×2 个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm
引脚功能说明:1602LCD 采用标准的14 脚(无背光)或16 脚(带背光)接口,引脚接口说明如表一。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
表一 1602LCD 引脚接口说明
第1 脚:VSS 为地电源。 第2 脚:VDD 接5V 正电源。
第3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对
比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度。
第4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和R/W
共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W 为高电平时可
以读忙信号,当RS 为高电平R/W 为低电平时可以写入数据。
第6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。
第7~14 脚:D0~D7 为8 位双向数据线。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
第15 脚:背光源正极。 第16 脚:背光源负极。
2.2 1602LCD控制指令
1620液晶模块内部的控制器共有11条控制指令,如下表二所示。 表二 1602LCD控制指令
它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移
S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据
1620液晶显示模块可以和单片机直接接口。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
三、 基于PROTEUS的硬件电路设计
1. PROTEUS软件相关
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
2. 电路组成
根据设计要求,硬件电路主要包括复位电路、晶体振荡电路、LCD显示电路、按键扫描电路以及蜂鸣器和发光二级管控制电路。
2.1 复位电路
复位是任何一种微型计算机都必须具备的工作方式。复位操作使单片机处于一种初始化的状态。MCS-51单片机的RST引脚上出现持续24个振荡周期
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
的高电平信号时,单片机进入复位。通常有上电复位与人工按钮复位两种方式。本设计中采用上电复位方式。如下图3所示。
图3 上电复位电路
2.2 时钟电路
通常单片机系统电路的实际有内部时钟和外部时钟两种形式,两种电路都向单片机提供最基本的振荡脉冲信号。本设计中的晶体振荡电路如下图四所示。
图4 晶体振荡电路
2.3 1602LCD显示电路
1602LCD 采用标准的14 脚(无背光)或16 脚(带背光)接口。本设计中采用14脚LCD。VSS和VDD为电源端和接地端,VEE用于调整液晶显示器对比度。D0~D7为8位双向数据线。电路连接图如图五。
使用proteus软件设计基于51单片机的液晶显示与键盘系统电路图,文档内含原理图和仿真程序。
图5 LCD显示电路
2.4 按键扫描电路
设计中采用行列式非编码键盘,由行线、列线和键盘开关矩阵3部分组成。在这种键盘中,每根行线和列线的交叉处都有一个按键,当某个键被按下时,与这个按键相连的行线和列线就会接通,否者行线和列线不接通。如电路图6。
图6 按键扫描电路