教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

测控实验报告 键盘显示实验

来源:网络收集 时间:2025-04-29
导读: 测控实验报告 键盘显示实验 实验一 键盘显示实验 1 实验目的 (1)掌握MCS51 系统中扩展8279 键盘显示接口的方法; (2)掌握8279 的工作原理和编程方法; (3)掌握中断处理程序的编程方法。 2 硬件原理图 2.1 数码管显示原理介绍 实验箱上有6个共阴极数码

测控实验报告 键盘显示实验

实验一 键盘显示实验

1 实验目的

(1)掌握MCS51 系统中扩展8279 键盘显示接口的方法; (2)掌握8279 的工作原理和编程方法; (3)掌握中断处理程序的编程方法。 2 硬件原理图

2.1 数码管显示原理介绍

实验箱上有6个共阴极数码管,图1是其外部特性图,图2是其内部原理图,由图2 可知,每个数码管由8个发光二极管组成,其中a~DP称为数码管的段控信号,K是8个发光二极管的公共端,称为位控信号。所以为了让数码管显示一个数字,必须将位控信号接低电平,段控信号接高电平。例如:如要显示数字“1”,b端和c 端应该接高电平,其余各端接低电平。

2.2 键盘扫描原理介绍

键盘扫描原理如图3 所示,“K1”和“K2”是按键,按键的两端都接有10k的上拉电阻。当行扫描端为低电平,同时“K1” 键被按下时,“K1”的列读取端就会出现低电平,由处理器对行扫描信号和列读取信号进行综合判断后,得出“K1”键被按下的结论。

测控实验报告 键盘显示实验

2.3 键盘显示实验电路

图4 是实验所用的键盘显示芯片8279 在电路中的连接示意图,8279 芯片的CLK 端接单片机的ALE 端,单片机的晶振频率为11.0592MHz,所以ALE 的频率为1.8432MHz,8279 内部时钟需要100KHz,所以实验时8279 时钟分频系数一般应为18。

8279 的地址线A0 接单片机P0 口经过地址锁存后产生的地址信号A0,数据线接单片机的P0 口;8279 的读写线分别与单片机的读写线相连;8279 的中断输出请求线经过一个反相器后连接到单片机的外部中断0 上。实验中需要用导线将IRQ 端连接到实验箱电路的INT01 上,否则无法实现8279 的中断控制。

8279 的A0~A3 端以及B0~B3 端经过74ls07 后,连接到数码管的段控端(a~DP);8279 的

测控实验报告 键盘显示实验

SRL0~SRL2 经过74ls138(三八译码器)后形成数码管的位控信号以及键盘的行扫描信号;8279 的RL0~RL7 为键盘的列读取信号。 3实验要求

(1)用两个学时完成显示部分程序。 要求在六个数码管上显示自己学号的后六位; 要求分别用汇编和C 语言实现。 (2)用两个学时完成键盘部分程序。 要求结合显示部分程序,当按下某个键时,在数码管上显示键值,如按 下键“1”时,数码管上显示1,需要显示的键值范围为“1~F”,键“B” 用小写字符“b”显示,键“D”用小写字符“d”显示,其余字母用大 些表示; 可以选用汇编或C 语言实现。

4软件流程图

(1)显示学号后6位实验

测控实验报告 键盘显示实验

(2)键盘部分程序

测控实验报告 键盘显示实验

5、实验步骤 (1)连接硬件

(2)建立工程、添加文件、编译 (3)下载文件 6、程序(见附表) 7、实验心得

了解了8279的工作原理和编程方法,学会了中断处理程序的编程方法,对程序开发调试软件和下载软件的使用操作有了进一步的熟悉,学会了MCS51系统中扩展8279键盘显示接口的方法,同时也复习了C语言和汇编语言编程的方法。

测控实验报告 键盘显示实验

附:程序

一、显示部分程序 1、汇编语言:

DATA_8279 EQU 1B30H ;数据口地址 COMM_8279 EQU 1B31H ;命令口地址

ORG 0000H ;复位

LJMP MAIN ;回到主程序

;ORG 0003H ;LJMP INT_0

;ORG 0030H

MAIN:MOV SP,#60H ;设置堆栈地址 CLR EA ;清零中断

MOV DPTR,#1B31H

MOV A,#0D1H ;清除堆栈,显示RAM MOVX @DPTR,A

LP: MOVX A,@DPTR

JB ACC.7,LP ;检查清除是否完成

MOV A,#00H

MOVX @DPTR,A ;设置编码扫描

MOV A,#32H

MOVX @DPTR,A ;设置扫描频率

;SETB INT_0 SETB EA SETB EX0

;SJMP $

INT_0:PUSH PSW

PUSH ACC ;现场保护

MOV DPTR,#1B31H MOV A,#90H

MOVX @DPTR,A ;写显示RAM指令到8279

测控实验报告 键盘显示实验

DISPL:MOV DPTR,#TABLE MOV A,#00

MOVC A,@A+DPTR MOV DPTR,#1B30H MOVX @DPTR,A

;显示第一位

MOV DPTR,#TABLE MOV A,#01

MOVC A,@A+DPTR MOV DPTR,#1B30H MOVX @DPTR,A

;显示第二位

MOV DPTR,#TABLE MOV A,#02

MOVC A,@A+DPTR MOV DPTR,#1B30H MOVX @DPTR,A

;显示第三位

MOV DPTR,#TABLE MOV A,#03

MOVC A,@A+DPTR MOV DPTR,#1B30H MOVX @DPTR,A

;显示第四位

MOV DPTR,#TABLE MOV A,#04

MOVC A,@A+DPTR MOV DPTR,#1B30H MOVX @DPTR,A

;显示第五位

MOV DPTR,#TABLE MOV A,#05

MOVC A,@A+DPTR MOV DPTR,#1B30H MOVX @DPTR,A

;SJMP $ ;显示第六位

测控实验报告 键盘显示实验

TABLE:DB 4FH,3FH,5BH,3FH,4FH,3FH ;逆序显示数字表 END

2、C语言

#include<reg52.h> #include<absacc.h>

#define DAT XBYTE[0x1B30] /*数据口地址*/ #define COM XBYTE[0x1B31] /*命令/状态口地址*/ #define uchar unsigned char /*变量类型定义*/

uchar code table[]={0x4F,0x3F,0x5B,0x3F,0x4F,0x3f}; //七段码0--f

/***************初始化函数***************************/ void Init8279(void) { }

/***********8279 数据显示函数**************************/ void Display(void) { }

void main()

int i;

for(i=0;i<6;i++) {

COM=0x80+i; DAT=table[i]; }

uchar reg1;

COM=0xd1; //总清除命令,全部清零 do{reg1=COM;}

while(reg1&0x80); //等待清除结束

COM=0; //设置8279 工作方式,8 位字符左端输入

//编码键盘扫描,两键封锁

COM=0x32; //时钟频率18 分频

测控实验报告 键盘显示实验

{ }

Init8279(); Display(); while(1);

二、键盘部分程序 #include<reg52.h> #include<absacc.h>

#define DAT XBYTE[0x1B30] /*数据口地址*/

#define COM XBYTE[0x1B31] /*命令/状态口地址*/ #define uchar unsigned char /*变量类型定义*/

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //七段码0--7 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //七段码8--f void Init8279(void); //初始化8279 void Display(uchar a); //数据显示函数

/***************************************** 8279 初始化函数

*****************************************/ void Init8279(void) {

uchar reg1;

COM=0xd1; //总清除命令 do{reg1=COM;}

while(reg1&0x80); //等待清除结束

COM=0; //设置8279 工作方式,8 位字符左端输入 //编码键盘扫描,两键封锁

COM=0x32; //时钟频率18 分频 }

/**************************************** 8279 数据显示函数

****************************************/ void Display(uchar a) { int i;

uchar rowdata; //行数寄存器 uchar linedata; //列 …… 此处隐藏:3166字,全部文档内容请下载后查看。喜欢就下载吧 ……

测控实验报告 键盘显示实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1585004.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)