键盘扫描显示实验原理及分析报告
扫描仪实验报告

扫描仪实验报告篇一:扫描仪图文实验报告图像扫描仪和数字照相机的操作和设置一、实验名称:图像扫描仪和数字照相机的操作和设置二、实验目的和要求:本实验适用于印刷工程、包装工程专业的《图像处理及制版原理》、《图文复制技术》及其他专业的类似课程。
在课堂教学的基础上,通过本实验的教学活动,学生应进一步认识扫描仪和数字照相机的基本构成和工作原理,熟悉扫描仪和数字照相机的基本操作技能,掌握扫描软件的设置方法,认识不同的图像设置对所获得图像的作用和影响。
根据教学安排和需要,可以将图像和数字照相机的实验内容分开实施,或有所取舍。
三、实验基本内容:1. 扫描仪的操作和扫描软件的设置;2. 数字照相机的操作,照相机设置。
四、实验设备:1. 桌面型平面扫描仪及扫描软件:Microtek公司ScanMaker 6700、ScanMaker I700等;扫描软件:ScanWizard。
Microtek SanMaker 6700Microtek I 7002. 专业平面扫描仪:Screen公司彩仙(Cézanne)及其扫描软件ColorGenius。
1Screen Cézanne3. 紧凑型数字照相机:Panasonic公司的LUMIX FX 8、Canon公司的IXUS 400等。
Panasonic Lumix FX 8Canon Ixus 400五、实验原理:(一) 扫描仪和数字照相机的工作原理:1. 平面型扫描仪:图像原稿放置在扫描平台上,扫描仪的线状光源逐行照射原稿,扫描仪的光学/电子单元从原稿获取图像信息。
从原稿上反射或透射的图像光线经光学系统成像在光电转换器件(CCD)上。
由于光电转换器件上具备红/绿/蓝三种滤色片,从原稿来的光线先被分解成红/绿/蓝光,再经光电转换器件转换成红/绿/蓝模拟电信号。
随后,模/数转换器将模拟电信号转换成红/绿/蓝模拟电信号。
经过扫描软件和相关硬件的图像处理,得到数字图像数据。
实验五 键盘扫描实验 实验报告

键盘扫描实验实验报告一、实验目的1. 掌握线反转法键盘扫描原理。
2. 了解单片机的输入和输出过程,理解单片机的数据采集过程。
二、实验内容单片机外接4x4键盘,通过线反转法判断按下的键,并在数码管上显示按键对应的数字。
第一行从左到右分别是开关K0, K1, K2, K3,第二行从左到右分别是K4, K5, K6, K7以此类推。
当按下Kn时,在数码管上显示数字n。
三、实验原理线翻转法:先对行(R0-R3)置0,对列(R4-R7)置1。
当有键被按下时,会把按键所在的列的电位从1变0,记录下位置;然后再将行列翻转,记录下按下键的所在行,两数进行或运算,就可以得到一个唯一表示按下键的数字。
例如:假定R0-R7分别与单片机的P2.0-P2.7相连。
先把R4-R7置1,R0-R3置0(通过指令MOV P2, #0F0H实现)。
当键K5被按下时,R5电位被拉低为低电平。
此时,P2口表示的数为:1101 0000(0xD0);然后再置R4-R7为0,R0-R3为1,此时,R1电位被拉低为低电平,此时,P2口表示的数为:0000 1101(0x0D)。
将两数相与取反,得到:0010 0010。
四、实验过程1. 连接好单片机及其外围设备电路2. 编写汇编程序ORG LJMP KeyLJMP K7: CJNE R2, #82H, K8ORG 0100H MOV P0, #0F8H Init: CLR P1.3 LJMP KeyMOV P0, #0C0H K8: CJNE R2, #14H, K9 Key: MOV P2, #0F0H MOV P0, #080HMOV A, P2 LJMP KeyMOV R1, A K9: CJNE R2, #24H, K10MOV P2, #0FH MOV P0, #090HMOV A, P2 LJMP KeyORL A, R1 K10: CJNE R2, #44H, K11CPL A MOV P0, #088HMOV R2, A LJMP KeyJNZ KeyPro K11: CJNE R2, #84H, K12LJMP Key MOV P0, #083H KeyPro: CJNE R2, #11H, K1 LJMP KeyMOV P0, #0C0H K12: CJNE R2, #18H, K13LJMP Key MOV P0, #0C6H K1: CJNE R2, #21H, K2 LJMP KeyMOV P0, #0F9H K13: CJNE R2, #28H, K14LJMP Key MOV P0, #0A1H K2: CJNE R2, #41H, K3 LJMP KeyMOV P0, #0A4H K14: CJNE R2, #48H, K15LJMP Key MOV P0, #086H K3: CJNE R2, #81H, K4 LJMP KeyMOV P0, #0B0H K15: CJNE R2, #88H, K16LJMP Key MOV P0, #08EH K4: CJNE R2, #12H, K5 LJMP KeyMOV P0, #099H K16: LJMP KeyLJMP Key ENDK5: CJNE R2, #22H, K6MOV P0, #092HLJMP KeyK6: CJNE R2, #42H, K7MOV P0, #082H五、实验结果1. 当按下开关Kn时,数码管能够显示对应的数字。
键盘扫描程序实验报告

一、实验目的1. 理解键盘扫描的基本原理。
2. 掌握使用C语言进行键盘扫描程序设计。
3. 学习键盘矩阵扫描的编程方法。
4. 提高单片机应用系统的编程能力。
二、实验原理键盘扫描是指通过检测键盘矩阵的行列状态,判断按键是否被按下,并获取按键的值。
常见的键盘扫描方法有独立键盘扫描和矩阵键盘扫描。
独立键盘扫描是将每个按键连接到单片机的独立引脚上,通过读取引脚状态来判断按键是否被按下。
矩阵键盘扫描是将多个按键排列成矩阵形式,通过扫描行列线来判断按键是否被按下。
这种方法可以大大减少引脚数量,降低成本。
本实验采用矩阵键盘扫描方法,使用单片机的并行口进行行列扫描。
三、实验设备1. 单片机开发板(如51单片机开发板)2. 键盘(4x4矩阵键盘)3. 连接线4. 调试软件(如Keil)四、实验步骤1. 连接键盘和单片机:将键盘的行列线分别连接到单片机的并行口引脚上。
2. 编写键盘扫描程序:(1)初始化并行口:将并行口设置为输入模式。
(2)编写行列扫描函数:逐行扫描行列线,判断按键是否被按下。
(3)获取按键值:根据行列状态,确定按键值。
(4)主函数:调用行列扫描函数,读取按键值,并根据按键值执行相应的操作。
3. 调试程序:将程序下载到单片机,观察键盘扫描效果。
五、实验程序```c#include <reg51.h>#define ROW P2#define COL P3void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 123; j++);}void scan_key() {unsigned char key_val = 0xFF;ROW = 0xFF; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值}void main() {while (1) {scan_key();if (key_val != 0xFF) {// 执行按键对应的操作}}}```六、实验结果与分析1. 实验结果:程序下载到单片机后,按键按下时,单片机能够正确读取按键值。
单片机c语言程序设计---矩阵式键盘实验报告

单片机c语言程序设计---矩阵式键盘实验报告课程名称:单片机c语言设计实验类型:设计型实验实验项目名称:矩阵式键盘实验一、实验目的和要求1.掌握矩阵式键盘结构2.掌握矩阵式键盘工作原理3.掌握矩阵式键盘的两种常用编程方法,即扫描法和反转法二、实验内容和原理实验1.矩阵式键盘实验功能:用数码管显示4*4矩阵式键盘的按键值,当K1按下后,数码管显示数字0,当K2按下后,显示为1,以此类推,当按下K16,显示F。
(1)硬件设计电路原理图如下仿真所需元器件(2)proteus仿真通过Keil编译后,利用protues软件进行仿真。
在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
操作方完成矩阵式键盘实验。
具体包括绘制仿真电路图、编写c源程序(反转法和扫描法)、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。
完成思考题。
三、实验方法与实验步骤1.按照硬件设计在protues上按照所给硬件设计绘制电路图。
2.在keil上进行编译后生成“xxx.hex”文件。
3.编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
四、实验结果与分析void Scan_line()//扫描行{Delay(10);//消抖switch ( P1 ){case 0x0e: i=1;break;case 0x0d: i=2;break;case 0x0b: i=3;break;case 0x07: i=4;break;default: i=0;//未按下break;}}void Scan_list()//扫描列{Delay(10);//消抖switch ( P1 ){case 0x70: j=1;break;case 0xb0: j=2;break;case 0xd0: j=3;break;case 0xe0: j=4;break;default: j=0;//未按下break;}}void Show_Key(){if( i != 0 && j != 0 ) P0=table[ ( i - 1 ) * 4 + j - 1 ];else P0=0xff;}五、讨论和心得。
键盘扫描原理

键盘扫描原理
键盘是计算机输入设备中最常用的一种,它通过将人们的按键操作转换成计算机可以识别的信号,从而实现了人机交互。
而键盘的核心部分就是键盘扫描原理,它是如何实现的呢?
首先,我们需要了解键盘的工作原理。
当我们按下键盘上的某一个按键时,就会产生一个按键信号,这个信号会通过键盘的电路传输到计算机主机上。
而键盘扫描原理就是指计算机是如何检测到这个按键信号的。
键盘扫描原理的核心就是矩阵扫描。
键盘上的每一个按键都对应着一个电路,这些电路会以矩阵的形式排列在键盘的背后。
当我们按下某一个按键时,对应的电路就会闭合,从而产生一个按键信号。
计算机会通过扫描这个矩阵来检测到按键信号的产生。
具体来说,计算机会以一定的频率扫描键盘上的每一个按键,检测它们是否产生了按键信号。
这个扫描的频率通常很高,所以我们按下按键时几乎可以立即得到响应。
一旦计算机检测到有按键信号产生,它就会将这个信号转换成相应的键值,从而实现了按键的输入。
除了矩阵扫描,现代键盘还采用了一些其他技术来提高性能和稳定性。
比如采用了多种防抖动技术,防止因按键抖动而产生误操作;采用了多种按键轮询技术,提高了按键的灵敏度和反应速度;还采用了多种按键编码技术,提高了按键的识别准确性和稳定性。
总的来说,键盘扫描原理是键盘工作的核心,它通过矩阵扫描等技术实现了对按键信号的检测和转换,从而实现了人机交互。
随着技术的不断发展,键盘的性能和稳定性会不断提高,为人们的使用体验带来更多的便利和舒适。
键盘 实验报告

键盘实验报告实验报告:键盘引言:键盘是计算机输入设备中最常用的一种设备,用于输入字符、数字、命令等等。
键盘以一定的方式将我们按下的按键转换成计算机可识别的信号,从而实现输入功能。
本实验的目的是了解键盘的工作原理、结构以及使用方法。
实验目的:1. 了解键盘的工作原理;2. 掌握键盘通信协议;3. 掌握键盘的结构和按键布局;4. 学习键盘的使用方法。
实验原理:键盘的工作原理是通过扫描矩阵的方式实现的,常见的键盘为4x4矩阵结构,也有其他规格的矩阵结构。
按键的每一个位置都与键盘电路中的一个电气开关相连接,当按下某个按键时,会导电并向计算机发送信号。
键盘通过PS/2或USB 接口与计算机相连,传输按键的信息。
键盘结构通常包括以下部分:1. 按键:键盘上的每一个按键代表一个字符、数字、命令或功能等。
按键大致分为四个区域:字母区、数字区、符号区和功能区。
2. 电路板:键盘的电路板上连接着按键开关,实现按键的电气连接和信号传输。
3. 导线和线缆:将电路板与接口连接,传递信号。
4. 接口:键盘通过PS/2或USB接口与计算机相连,实现信号的传输。
实验步骤:1. 准备一个计算机和一台键盘,确保键盘的连接正确。
2. 打开计算机,进入操作系统。
3. 在文本编辑器中打开一个文档,用来记录实验结果。
4. 将注意力集中在键盘上,按下键盘上的一个按键,观察文档中的输入情况。
5. 重复步骤4,测试其他按键,记录测试结果。
6. 关闭计算机,结束实验。
实验结果与分析:通过本实验,我们了解到键盘的工作原理是通过扫描矩阵的方式实现的,按键通过电路板中的电气开关与计算机相连,实现键盘输入。
键盘的按键布局通常分为四个区域:字母区、数字区、符号区和功能区。
通过实验测试,我们发现按键输入是可靠的,按下按键时能够正确输入对应的字符或数字。
键盘的使用方法是简单明了的,只需要按下对应的按键即可完成输入。
实验总结:键盘作为计算机最常用的输入设备,广泛应用于各个领域。
PC键盘输入及显示过程
PC键盘输入及显示过程原理摘要:键盘是最常用也是最主要的输入设备,通过键盘可以将英文字母、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等。
而显示器也可以将通过键盘输入的字符、数据等显示出来。
在此报告中我们将讨论计算机识别键盘输入的信息并通过显示器来显示信息的过程。
关键词:键盘;输入;显示从计算机识别键盘输入的原理来说,键盘分为全编码键盘和非编码键盘两类。
全编码键盘是由硬件完成键盘识别功能的,它通过识别键是否按下以及所按下键的位置,由全编码电路产生一个唯一对应的编码信息(如ASCII码)。
由于其线路和编码的唯一性,这种键盘是不存在键位冲突的问题的,但是编码键盘结构复杂,成本非常之高现在基本上已经被淘汰了,现在多用非编码键盘。
一、非编码键盘的输入原理非编码键盘是由软件完成键盘识别功能的,它利用简单的硬件和一套专用键盘编码程序来识别按键的位置,然后由CPU将位置码通过查表程序转换成相应的编码信息。
PC键盘主要由单片机、译码器和键开关矩阵三大部分组成。
由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由键盘内部的单片机通过译码器来实现的。
单片机在周期性扫描行、列的同时,读回扫描信号线结果,判断是否有键按下,并计算按键的位置以获得扫描码。
当有键按下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码;释放时再发一次,叫断开扫描码。
因此可以用硬件或软件的方法对键盘的行、列分别进行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。
现在常用的薄膜接触式键盘就是非编码键盘,它任何一个按键都有上下两层薄膜的触点,在任何一层薄膜上的导线数都少于按键数,每一条导线都同时连通多个按键的触点,上层和下层的任何两条导线都最多只在一个按键上重合。
也就是说,上层的1号导线可能会同时经过1、2、3、4、5……等按键,而下层的1号导线可能同时经过1、Q、A、Z……等按键,且两条导线只在1键上重合。
键盘扫描原理
键盘扫描原理
键盘扫描原理是指通过控制信号将按键状态传输到计算机的一种技术。
它主要分为两个步骤:键盘扫描和数据传输。
在键盘扫描过程中,计算机会发送扫描码(scan code)到键盘。
扫描码是一个8位的二进制数,用于唯一标识每个按键。
键盘内部有一个按键矩阵,当按键按下时,会触发相应的行和列连线,形成一个电路通路。
键盘通过轮询的方式扫描每个按键的状态,并生成扫描码。
一旦键盘生成了扫描码,它就会通过电缆传输给计算机。
数据传输的方式可以是串行还是并行,取决于键盘和计算机之间的连接方式。
对于串行传输,扫描码会被逐位地发送到计算机。
对于并行传输,扫描码会同时发送到计算机的多个引脚上。
计算机接收到扫描码后,会根据预先定义的映射表将其转换为相应的字符或功能。
映射表可以根据键盘类型和语言环境的不同而有所不同。
计算机将转换后的按键信息存储在一个缓冲区中,供操作系统或应用程序读取和处理。
总结来说,键盘扫描原理通过扫描码和数据传输将按键状态传输给计算机。
这种技术广泛应用于各种键盘设备,包括传统的有线键盘和现代的无线键盘。
4乘4键盘实验报告1(1)
4乘4键盘实验报告一、摘要本系统以89C51集成块为核心器件,制作一种4横4列的键盘。
采用16个按钮式键盘,以及一个硬件复位器。
在按下其中一个按钮时,在键盘扫描程序的作用下,通过键盘扫描识别后,在数码管上显示出来;按下硬件复位器,数码管只显示小数点,实现复位。
本次设计代码采用C语言编制,方便简单,易于调试。
关键词:89C51,键盘,按纽,数码管二、硬件设计2.1、89C51简介89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.2、元件分析与工作原理VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
键盘扫描显示实验报告
一、实验目的1. 理解键盘扫描的基本原理,掌握键盘扫描的方法。
2. 掌握数码管显示的基本原理,实现键盘扫描信息的实时显示。
3. 熟悉8255并行接口芯片在键盘扫描和数码管显示中的应用。
二、实验原理1. 键盘扫描原理:键盘扫描是指通过硬件电路对键盘按键进行检测,并将按键信息转换为可识别的数字信号的过程。
本实验采用行列式键盘,通过扫描键盘的行线和列线,判断按键是否被按下。
2. 数码管显示原理:数码管是一种用来显示数字和字符的显示器,由多个发光二极管(LED)组成。
本实验采用七段数码管,通过控制各个段(A、B、C、D、E、F、G)的亮灭,显示相应的数字或字符。
3. 8255并行接口芯片:8255是一款通用的并行接口芯片,具有三个8位并行I/O口(PA、PB、PC),可用于键盘扫描和数码管显示的控制。
三、实验设备1. 实验平台:PC机、8255并行接口芯片、行列式键盘、七段数码管、面包板、导线等。
2. 软件环境:汇编语言编程软件、仿真软件等。
四、实验步骤1. 硬件连接:将8255并行接口芯片、行列式键盘、七段数码管连接到实验平台上,按照电路图进行连线。
2. 编写程序:使用汇编语言编写键盘扫描和数码管显示的程序。
(1)初始化8255并行接口芯片:设置PA口为输出端口,PB口为输出端口,PC口为输入端口。
(2)扫描键盘:通过PC口读取键盘的行线状态,判断是否有按键被按下。
若检测到按键被按下,读取对应的列线状态,确定按键的位置。
(3)数码管显示:根据按键的位置,控制数码管的段(A、B、C、D、E、F、G)的亮灭,显示相应的数字。
3. 仿真调试:使用仿真软件对程序进行调试,确保程序能够正确扫描键盘和显示数字。
五、实验结果与分析1. 实验结果:成功实现了键盘扫描和数码管显示的功能。
当按下键盘上的任意按键时,数码管上会显示对应的数字。
2. 分析:(1)键盘扫描部分:通过读取PC口的行线状态,判断是否有按键被按下。
当检测到按键被按下时,读取PB口的列线状态,确定按键的位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
键盘扫描显示实验原理及分析报告一、实验目的-------------------------------------------------------------1二、实验要求-------------------------------------------------------------1三、实验器材-------------------------------------------------------------1四、实验电路-------------------------------------------------------------2五、实验说明-------------------------------------------------------------2六、实验框图-------------------------------------------------------------2七、实验程序-------------------------------------------------------------3八、键盘及LED显示电路---------------------------------------------14九、心得体会------------------------------------------------------------- 15十、参考文献--------------------------------------------------------------15一、实验目的;1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和LED八段数码管显示器的工作原理。
二、实验要求:在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。
实验程序可分成三个模块。
1、键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。
2、显示模块:将显示单元的内容在显示器上动态显示。
3、主程序:调用键输入模块和显示模块。
三、实验器材:1、超想-3000TC综合实验仪 1 台2、KEIL仿真器 1 台3、计算机 1 台四、实验电路:五、实验说明:本实验仪提供了一个6×4的小键盘,向列扫描码地址(0e101H)逐列输出低电平,然后从行码地址(0e103H)读回,如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高.这样就可以通过输出的列码和读取的行码来判断按下的是什么键。
在判断有键按下后,要有一定的延时,防止键盘抖动。
列扫描码还可以分时用作LED 的位选通信号。
六、实验框图:列码(0e101H)行码(0e103H)七、实验程序:;键盘扫描实验OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164时钟位)DAT164 equ 0e102h ; 段控制口(接164数据位)IN equ 0e103h ; 键盘读入口ORG 0000HLJMP STAR;==================================================================== KEY1: MOV 13H,#06HMOV 12H,#20HKEY2: MOV A,12HCPL AMOV R7,AMOV DPTR,#0E101HMOV A,R7MOVX @DPTR,AMOV A,12HCLR CRRC AMOV 12H,AMOV DPTR,#0E103HMOVX A,@DPTRMOV R7,AMOV A,R7CPL AMOV R7,AMOV A,R7ANL A,#0FHMOV 14H,ADEC 13HMOV R7,13HMOV A,R7JZ KEYDIS MOV A,14HJZ KEY2 KEYDIS: MOV A,14H JZ TESTKEY5 MOV A,13HADD A,ACCADD A,ACCMOV 13H,AMOV A,14HINC 13HSJMP TESTKEY2;;=================================================;键盘扫描TESTKEY: MOV A,14HJNB ACC.2,TESTKEY1 INC 13HINC 13HSJMP TESTKEY2 TESTKEY1: MOV A,14HJNB ACC.3,TESTKEY2 MOV A,#03HADD A,13HMOV 13H,A TESTKEY2: MOV DPTR,#0E101HCLR AMOVX @DPTR,A TESTKEY3: MOV R7,#0AH LCALL MLOOPLCALL MLOOP4MOV A,R7MOV R7,13HMOV A,R7MOV DPTR,#0134HMOVC A,@A+DPTRMOV R7,ARET;==================================================================== TESTKEY4: DB 22H ;";==================================================================== TESTKEY5: MOV R7,#0FFHRET;==================================================================== GETKEY: MOV 10H,#20HMOV 0EH,#00HGETKEY1: MOV A,0EHCLR CSUBB A,#06HJNC GOON2MOV DPTR,#0E101HCLR AMOVX @DPTR,AMOV R7,0EHMOV A,#08HADD A,R7MOV R0,AMOV A,@R0MOV R7,AMOV 11H,R7MOV 0FH,#00HGETKEY2: MOV A,0FHCLR CSUBB A,#08HJNC GOON1MOV A,11HJNB ACC.7,KLOOPMOV DPTR,#0E102HMOV A,#01HMOVX @DPTR,ASJMP KLOOP1;;========================================== KLOOP: MOV DPTR,#0E102HCLR AMOVX @DPTR,AKLOOP1: MOV DPTR,#0E102H MOVX A,@DPTRMOV R7,A MOV A,R7ORL A,#02H MOV R7,AMOV A,R7 MOVX @DPTR,A MOV DPTR,#0E102H MOVX A,@DPTRMOV R7,A MOV A,R7ANL A,#0FDH MOV R7,AMOV A,R7 MOVX @DPTR,AMOV A,11HADD A,ACC MOV 11H,A INC 0FH SJMP GETKEY2 GOON1: MOV DPTR,#0E101HMOVX @DPTR,AMOV R7,#01HLCALL MLOOPMOV A,10HCLR CRRC AMOV 10H,AINC 0EHSJMP GETKEY1GOON2: RET;==================================================================== WAIT: MOV DPTR,#0E100HMOV A,#03HMOVX @DPTR,AMOV 08H,#0FFHMOV 09H,#0FFHMOV 0AH,#0FFHMOV 0BH,#0FFHMOV 0CH,#00HMOV 0DH,#00HWAIT1: LCALL GETKEYMOV A,R7JZ WAIT1LCALL KEY1MOV R6,#00HMOV R6,#00HMOV A,R7ANL A,#0FHMOV R7,AMOV A,#24HADD A,R7MOV DPL,AMOV A,#01HADDC A,R6MOV DPH,ACLR AMOVC A,@A+DPTRMOV R7,AMOV 0DH,R7SJMP WAIT1RET;====================================================================TAB:Q0124: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H ;?.[Ofm}.Q012C: DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H ;•ow|9^yqQ0134: DB 00H, 01H, 04H, 07H, 0FH, 02H, 05H, 08H ;........Q013C: DB 0EH, 03H, 06H, 09H, 0DH, 0CH, 0BH, 0AH ;........Q0144: DB 10H, 11H, 12H, 13H, 14H, 15H, 16H ;.......;==================================================================== MLOOP: MOV 15H,R7MLOOP1: MOV R7,15HDEC 15HMOV A,R7JZ MLOOP3MOV 16H,#64HMLOOP2: MOV A,16HJZ MLOOP1DEC 16HSJMP MLOOP2SJMP MLOOP1MLOOP3: RET;==================================================================== MLOOP4: MOV DPTR,#0E101HCLR AMOVX @DPTR,AMOV DPTR,#0E103HMOVX A,@DPTRMOV R7,AMOV A,R7CPL AMOV R7,AMOV A,R7ANL A,#0FHMOV R7,ARET;==================================================================== ======STAR: MOV R0,#7FHCLR ASTAR1: MOV @R0,ADJNZ R0,STAR1MOV SP,#16HLJMP WAITEND八、键盘及LED显示电路九、心得体会由于时间有限和本身知识水平的限制,本课程设计还存在一些不够完善的地方。