实现特定功能的键盘及LED显示接口课程设计

合集下载

1-单片机键盘与显示电路设计

1-单片机键盘与显示电路设计

独立式按键 单片机控制系统中,往往只需要几个 功能键,此时,可采用独立式按键结构。 1.独立式按键结构 独立式按键是直接用I/O口线构成的单 个按键电路,其特点是每个按键单独占 用一根I/O口线,每个按键的工作不会影 响其它I/O口线的状态。独立式按键的典 型应用如图9-3所示。
V CC
P 1.0 P 1.1 P 1.2 P 1.3 P 1.4 P 1.5 P 1.6 P 1.7
P1口某位结构

P1口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器 、一个数据输出的驱动电路。 P1口的功能和驱动能力

P1口只可以作为通用的I/O口使用;
P1可以驱动4个标准的TTL负载电路; 注意在P1口作为通用的I/O口使用时,在从I/O端口读入数据时,应 该首先向相应的I/O口内部锁存器写“1”。 举例:从P1口的低四位输入数据 MOV MOV P1,#00001111b ;;先给P1口底四位写1 A,P1 ;;再读P1口的底四位
依此规律循环,即可使各位数码管显 示将要显示的字符。虽然这些字符是在不 同的时刻分别显示,但由于人眼存在视觉 暂留效应,只要每位显示间隔足够短就可 以给人以同时显示的感觉。 采用动态显示方式比较节省I/O口,硬 件电路也较静态显示方式简单,但其亮度 不如静态显示方式,而且在显示位数较多 时,CPU要依次扫描,占用CPU较多的时 间。
矩阵式按键 单片机系统中,若使用按键较多时,通 常采用矩阵式(也称行列式)键盘 1.矩阵式键盘的结构及原理 矩阵式键盘由行线和列线组成,按键位 于行、列线的交叉点上,其结构如下图9-4 所示。
+5 V 0 4 8 12 0 1 5 9 13 1 2 6 10 14 2 3 7 11 15 3 0 1 2 3

单片机原理及接口技术单片机的开关检测键盘输入与显示的接口设计

单片机原理及接口技术单片机的开关检测键盘输入与显示的接口设计

单片机原理及接口技术单片机的开关检测键盘输入与显示的接口设计单片机是一种集成了中央处理器、存储器和输入/输出接口的微型电子计算机,其核心是一个集成电路芯片。

它简单、灵活,用于控制电子设备和执行各种任务。

单片机有很多种,其中C51单片机是一种非常常用的型号。

在C51编程中,开关检测、键盘输入和显示是非常常见的接口设计。

接下来,将分别介绍它们的原理和实现方法。

1.开关检测:开关检测是指通过单片机检测开关的状态,以实现对开关的控制。

常见的开关检测方法有两种,一种是使用外部电阻和开关,通过检测电流或电压来判断开关状态;另一种是使用内部电阻和开关,通过检测电阻的值来判断开关状态。

具体实现方法如下:a.外部电阻和开关:检测开关状态的方法是连接一个电阻到开关,并将另一端连接到单片机的输入引脚。

当开关打开时,电阻与单片机输入引脚之间形成一条路径,使得输入引脚接收到高电平信号;当开关关闭时,电阻与单片机输入引脚之间断开,使得输入引脚接收到低电平信号。

b.内部电阻和开关:单片机的引脚通常具有内部上拉或下拉电阻。

当引脚配置为输入模式时,可以选择使能内部上拉或下拉电阻。

通过连接一个开关到引脚,并将另一端连接到电源或地,从而完成开关状态的检测。

当开关打开时,引脚被拉高,输入引脚接收到高电平信号;当开关关闭时,引脚被拉低,输入引脚接收到低电平信号。

2.键盘输入:键盘输入是指通过单片机接收和处理来自键盘的输入信息。

键盘通常是一种矩阵按键结构,可以通过多行多列的方式进行编码。

键盘输入的实现需要通过接口电路将键盘连接到单片机,并在程序中编写相应的扫描算法。

具体实现方法如下:a.键盘连接方式:键盘的行和列线分别连接到单片机的输出和输入引脚上。

行线和列线可以使用独立的引脚,也可以使用矩阵开关编码的方式进行连接。

b.扫描算法:扫描算法是通过逐行扫描和逐列检测的方式来实现键盘输入的。

具体步骤如下:1)将所有行引脚置为高电平,所有列引脚配置为输入模式。

4.3键盘和LED显示实例

4.3键盘和LED显示实例

二、利用8051的串行口实现键盘/显示器接口
显示子程序:
DIR: SETB P3.3 MOV R7,#08H MOV R0,#7FH DL0: MOV A,@R0 ADD A,#0DH MOVC A,@A+PC MOV SBUF,A DL1: JNB TI,DL1 CLR TI DEC R0 DJNZ R7,DL0 CLR P3.3 RET ;开放显示输出 ;8位显示器计数 ;7FH~78H为显示缓冲器 ;取出要显示的数 ;加上偏移量 ;查表取出字形数据 ;送出显示 ;输出完否? ;完,清中断标志 ;准备再取下一个数 ;关闭显示器输出 ;返回
8155芯片实现键盘/显示器接口程序
LK2: MOV R2,#0FEH MOV R4,#00H LK4: MOV DPTR,#7F01H MOV A,R2 MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR JB ACC.0,LONE MOV A,#00H AJMP LKP ;扫描模式→R2 ;列计数器置初值 ;扫描模式→8155PA口
(一)8279的引脚及内部结构
5. FIFO RAM和显示缓冲器RAM
IRQ为中断请求输出线,高电平有效。当 FIFO RAM缓冲器中存有键盘上闭合键的信息时, IRQ线升高,向CPU请求中断,当CPU将缓冲器 中的输入键信息全部读取时,中断请求线下降为 低电平。
显示子程序清单: DIR: MOV DPTR,#7F00H ;8155初始化 MOV A,#03H MOVX @DPTR,A MOV R0,#79H ;置缓冲器指针初值 MOV R3,#01H ;扫描位初值 LD0: MOV DPTR,#7F02H ;关显示 MOV A,#00H MOVX @DPTR,A MOV DPTR,#7F01H ;扫描模式→8155PA口 MOV A,R3

8x8点阵LED显示键盘输入字母A~F.

8x8点阵LED显示键盘输入字母A~F.

课程设计报告课程设计名称:微机原理与接口技术系别:三系学生姓名:缪广东班级:10计本(1)学号:20100303130成绩:指导教师:巫宗宾开课时间:2012—2013 学年 1 学期一.设计题目LED显示系统设计二.主要内容课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。

通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。

在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。

教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。

学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。

学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。

学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。

第7章 LED数码显示器和键盘接口电路

第7章 LED数码显示器和键盘接口电路

DJNZ R7,DL1
DJNZ R6,DL2
RET
TAB1:db 06H,5BH,4FH,66H,6DH ; “1~5”的字形码
TAB2:db 76H,79H,38H,38H,3FH ; “HELLO”的字形码
7.2用并行口设计LED键盘电路
键盘是计算机系统中不可缺少的输入设备, 当按键少时可接成线性键盘,当按键较多时,这 样的接法占用口线较多。将按键接成矩阵的形式, 可以节省口线,例如两个接口可按8*8的形式接 64个按键。每个按键有它的行值和列值,行值和 列值的组合就是识别这个按键的编码。矩阵的行 线和列线分别通过两并行接口和CPU通信。每个 按键的状态同样需变成数字量“0”和“1”,开 关的一端通过电阻接Vcc(列)、而接地是通过程 序输出数字“0”实现的。
动态接口采用各数码管循环轮流显示的方法,当循环 显示频率较高时,利用人眼的暂留特性 ,看不出闪烁显 示现象,这种显示需要一个接口完成字形码的输出(字形 选择),另一接口完成各数码管的轮流点亮(数位选择)。
7.1用并行口设计LED显示电路
例:如图是接有五个共阴极数码管的动态显示接口电 路,用74LS373接成直通的方式作驱动电路,阴极用非 门74LS04反相门驱动,字形选择由P1口提供,位选择 P3口控制。
零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组
合称之为字形码(段码),如显示”0”,字形码为3fh.
g f ab
com
10 9 8 7 6
a
a
b
c
f
b
g
d
e
e
c
d
f
g
1 2 34 5
com
dp
e d c dp

第10章 AT89S51单片机键盘与显示器接口设计

第10章 AT89S51单片机键盘与显示器接口设计
输入检测线上有稳定的高电平。 当某一按键按下时,对应的检测线就变成了低电平,与 其他按键相连的检测线仍为高电平,只需读入I/O输入线 的状态,判别哪一条I/O输入线为低电平,很容易识别哪
个键被按下。
优点:电路简单,各条检测线独立,识别按下按键的软
件编写简单。适用于键盘按键数目较少的场合,不适用于
键盘按键数目较多的场合,因为将占用较多的I/O口线。
(2)矩阵式键盘
矩阵式键盘
矩阵式(也称行列式)键盘用于按键数目较多的场合,
由行线和列线组成,按键位于行、列的交叉点上。如图
10-9所示,一个44的行、列结构可以构成一个16个按键 键盘。在按键数目较多的场合,要节省较多的I/O口线。
28
图10-9
矩阵式键盘接口
29
矩阵中无按键按下时,行线为高电平;当有按键按下时,
电平。
按键识别
当第1列为低电平,其余各列为高电平时,因为是键3被 按下,第1行的行线仍处于高电平;
31
当第2列为低电平,其余各列为高电平时,第1行的行线仍处
于高电平;
直到让第4列为低电平,其余各列为高电平时,此时第1行的 行线电平变为低电平,据此,可判断第1行第4列交叉点处 的按键,即键3被按下。 综上所述,扫描法的思想是,先把某一列置为低电平,其余 各列置为高电平,检查各行线电平的变化,如果某行线电 平为低电平,则可确定此行此列交叉点处的按键被按下。
动态显示的优点是硬件电路简单,显示器越多,优势越
明显。缺点是显示亮度不如静态显示的亮度高。如果“扫 描”速率较低,会出现闪烁现象。
17
10.2 键盘接口原理
键盘具有向单片机输入数据、命令等功能,是人与单片
机对话的主要手段。下面介绍键盘的工作原理和键盘的工

利用8155实现单片机的键盘、显示接口电路11

利用8155实现单片机的键盘、显示接口电路11

中北大学信息商务学院课程设计说明书
学生姓名:学号:
学院:
专业:电子信息工程
题目:专业综合实践之单片机信息处理部分:利用8155实现单片机的键盘、显示接口电路
职称: 副教授
2013 年 1月 7日
中北大学信息商务学院课程设计任务书
12/13 学年第一学期
学院:信息与通信工程学院
专业:电子信息工程
学生姓名:学号:
课程设计题目:专业综合实践之单片机信息处理部分:
利用8155实现单片机的键盘、显示
接口电路
起迄日期:2013年1月7日~1月18日
课程设计地点:510
指导教师:
系主任:
下达任务书日期: 2013年1月日
设计说明书应包括以下主要内容:
(1)封面:课程设计题目、班级、姓名、指导教师、时间
(2)设计任务书
(3)目录
(4)设计方案简介
(5)设计条件及主要参数表
(6)设计主要参数计算
(7)设计结果
(8)设计评述,设计者对本设计的评述及通过设计的收获体会(9)参考文献。

1与键盘、显示器的接口设计

1与键盘、显示器的接口设计

+5V V
MCS51
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
74LS07
1008 +5V
8155
共阴极 显示器
COM5 COM4 COM3 COM2 COM1 COM0
PC1
12 11 10 9 8 7
+5V
PC0
65
74LS06
43
2
1 4.7k2
PA5
PA4
PA3
X1
输入口,列线接单片机的输出口,X0405 16 2
7 3
则可在单片机的控制下,先使
Y0 Y1 Y2 Y3
44行列式未编码键盘结构图
列线Y0为低电平,其它列线为高电平,读行线状态, 如所有行线均为高电平,则表明Y0这一列没有键闭合;如读 出的行线状态不全为高电平,则为低电平的行线和Y0相交的 键闭合。依次类推可获得与其它列线相交的闭合键。
键按下 闭合稳定 键释放
释放稳定
前沿抖动
后沿抖动
图27 按键时的抖动
消除键抖动可用硬件和软
件两种方法
Vcc ( +5V )
A


B
Vcc(+5V) RS触发器消抖电路
一、独立式未编码键盘接口及处理程序
独立式键盘是各按 键相互独立地接通一条 输入数据线 。
MCS51 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 独立式未编码键盘
+5V
START: MOV MOV
K0: K1:
K7:
MOV JNB JNB JNB JNB JNB JNB JNB JNB JMP LJMP LJMP … LJMP
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北科技大学 《接口技术》课程设计报告

学生姓名: 学 号: 专业班级: 课程名称: 学年学期: 2 0 —2 0 学年第 学期

指导教师: 2 0 年 月 课程设计成绩评定表 学生姓名 学 号 成绩 专业班级 起止时间

设计题目

验 收 内 容

课程设计小组验收结果: 硬件设计:优秀□ 良好□ 中等□ 及格□ 需努力□ 程序设计:优秀□ 良好□ 中等□ 及格□ 需努力□ 实验结果:优秀□ 良好□ 中等□ 及格□ 需努力□

课程设计个人验收结果: 操作能力:优秀□ 良好□ 中等□ 及格□ 需努力□ 软件理解:优秀□ 良好□ 中等□ 及格□ 需努力□ 硬件理解:优秀□ 良好□ 中等□ 及格□ 需努力□

指导教师: 年 月 日 1

目 录 一、设计题目:--------------------------------------------------------------------------------------------- 2 二、设计目的:--------------------------------------------------------------------------------------------- 2 三、设计原理及方案: ----------------------------------------------------------------------------------- 2 1、实验电路图 ---------------------------------------------------------------------------------------- 2 2、实验框图 ------------------------------------------------------------------------------------------- 3 3、各功能实现方案 ---------------------------------------------------------------------------------- 4 4、实验程序 ------------------------------------------------------------------------------------------- 4 四、实验方法 ------------------------------------------------------------------------------------------------ 9 1、实验电路测试 ------------------------------------------------------------------------------------- 9 2、软件测试 ------------------------------------------------------------------------------------------- 9 五、实验结果 ------------------------------------------------------------------------------------------------ 9 六、改进意见及建议 -------------------------------------------------------------------------------------- 9 七、设计体会 ------------------------------------------------------------------------------------------------ 9 2

一、设计题目: 实现特定功能的键盘及LED显示。 二、设计目的:

1、掌握键盘和显示器的接口方法和编程方法。 2、掌握键盘扫描和LED八段码显示器的工作原理。

三、设计原理及方案:

1、实验电路图 3 说明:使用PC机与伟福lab8000实验箱连接起来,安装好相应驱动,做好接线分析,由于lab8000实验箱已经将部分电路接线内置,所以接线仅需要将KEY/LED_CS选通端口与CS0相连即可。

2、实验框图

开始 显示缓冲区初始化 LED显示

读取键值 键值转换为显示数据

有键输入? 是

主程序框图 是 是 否

开始 输出列扫描信号 列扫描信号移位

该列有键输入? 读入行信号

返回 6列扫描完?

初始化地址参数

读键输入子程序框图(接下页) 4

(接上页) 3、各功能实现方案 (1)功能1:按1键显示年 当读取到寄存器AL=02H时,说明按键为1号键。关于显示年份,首先定义一个显示缓冲区,用于存储表示年份的数字。然后依次读取其值,再显示到数码管上。 (2)功能2:按2显示月日 当读取到寄存器AL=0AH时,说明按键为2号键。显示月日方法和显示年份一样,首先定义一个显示缓冲区,用于存储表示月日的数字。然后依次读取其值,再显示与数码管上。 (3)功能3:按3显示GOOD 将G,O,O,D分别以七段代码6FH,3FH,3FH,5EH代替,以显示GOOD字样。然后清空LED数码管的显示,通过延时,让GOOD字样显示与数码管。 (4)功能4:按4键数码管由左到右8字循环显示 当8279扫描寄存器AL=01H时,说明按键为4号键。通过设置循环及延迟及上述相似的方法显示出指定效果。

4、实验程序 OUTBIT equ 08002h ; 位控制口 OUTSEG equ 08004h ; 段控制口 IN_KEY equ 08001h ; 键盘读入口

data segment LEDBuf db 6 dup(?) ; 显示缓冲 Num db 1 dup(?) ; 显示的数据 DelayT db 1 dup(?) LEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h

KeyTable: ; 键码定义 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07h data ends

按照行列计算键值 查表得键码 等待按键释放 返回 5 code segment assume cs:code, ds:data

Delay proc near push ax ; 延时子程序 push cx

mov al, 0 mov cx,ax loop $

pop cx pop ax ret Delay endp

Delay1 proc near push ax ; 延时子程序 push cx

mov al, 0 mov cx,38000 loop $

pop cx pop ax ret Delay1 endp

DisplayLED proc near mov bx, offset LEDBuf mov cl, 6 ; 共6个八段管 mov ah, 00100000b ; 从左边开始显示 DLoop: mov dx, OUTBIT mov al, 0 out dx,al ; 关所有八段管 mov al, [bx] mov dx, OUTSEG out dx,al

mov dx, OUTBIT mov al, ah out dx, al ; 显示一位八段管

push ax 6

mov ah, 1 call Delay pop ax

shr ah, 1 inc bx dec cl jnz DLoop

mov dx, OUTBIT mov al, 0 out dx,al ; 关所有八段管 ret DisplayLED endp

TestKey proc near mov dx, OUTBIT mov al, 0 out dx, al ; 输出线置为0 mov dx, IN_KEY in al, dx ; 读入键状态

not al and al, 0fh ; 高四位不用 ret TestKey endp

GetKey proc near mov ch, 00100000b mov cl, 6 KLoop: mov dx, OUTBIT mov al, ch ; 找出键所在列 not al out dx, al shr ch, 1

mov dx, IN_KEY in al, dx not al and al, 0fh jne Goon_ ; 该列有键入 dec cl jnz KLoop

相关文档
最新文档