文档库 最新最全的文档下载
当前位置:文档库 › 学习“汇编”必须做的七个试验--实验三 查询式键盘、显示实验

学习“汇编”必须做的七个试验--实验三 查询式键盘、显示实验

学习“汇编”必须做的七个试验--实验三  查询式键盘、显示实验
学习“汇编”必须做的七个试验--实验三  查询式键盘、显示实验

实验三查询式键盘、显示实验

一、实验目的

1.掌握键盘和显示器的接口方法和编程方法

2.掌握键盘和八段码显示器的工作原理

二、实验说明

本实验提供了8个按钮的小键盘,可接到单片机的并行口,如果有键按下,则相应输出为低,否则输出为高。单片机通过识别,判断按下什么键,然后通过数码管显示相应按键。有键按下后,要有一定的延时(10MS),防止由于键盘抖动而引起误操作。

为使CPU能正确地读出端口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。单片机中常用软件法,软件法其实很简单,就是在单片机获得端口为低的信息后,不是立即认定按键已被按下,而是延时10毫秒或更长一些时间后再次检测端口,如果仍为低,说明按键的确按下了,这实际上是避开了按键按下时的抖动时间。而在检测到按键释放后(端口为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。不过一般情况下,我们通常不对按键释放的后沿进行处理,实践证明,也能满足一定的要求。以上是消除键抖动的原则。

三、电路原理图

四、实验步骤及内容

1.在proteus中按原理图画好电路图,途中电阻选200-500欧姆,数码管选用共阳极数码管。

2.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着建立源程序,进行编译,直到编译无误,然后生成一个.hex文件。

5.进行软件设置,选择软件仿真,单步调试等,结合程序的运行情况,观察相应寄存器和RAM中单元的数据。

6. 在proteus软件的单片机中添加进Keil uVision2仿真软件生成的.hex文件,然后点击RUN按钮运行程序。在键盘上按下某个键,观察数显是否与按键值一致,键值从上至下为0~7。

五、参考源程序

/***************************************************************

*程序名:查询式键盘、数码管显示实验

*作者:熊春如

*日期:2009年4月26日

****************************************************************/

;符号名定义

KEYCODE EQU 70H ;键盘值存放单元

;复位矢量和中断矢量入口地址定义

ORG 0000H

JMP main

ORG 0030H

;主程序

MAIN:

ORL P1,#0FFH ;将立即数0FFH与P1口锁存器相或,使P1口各锁存器 ;为1,以便作输入引脚使用

MOV A,P1 ;读P1口引脚到累加器A

CJNE A, #0FFH, K00 ;有键按下

JMP MAIN ;无键按下,继续查询

K00:

CALL DELAY ;延时消抖

MOV A,P1 ;再读P1口引脚到累加器A

CJNE A, #0FFH, KEY ;确实有键按下,转去判断那个按键按下

JMP MAIN ;无键按下,继续查询

;判断那个按键被按下

KEY:

KEY0: JB P1.0,KEY1 ;P1.0有键按下,否则查询P1.1

MOV KEYCODE,#0 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

KEY1: JB P1.1,KEY2 ;P1.1有键按下,否则查询P1.2

MOV KEYCODE,#1 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

KEY2: JB P1.2,KEY3 ;P1.2有键按下,否则查询P1.3

MOV KEYCODE,#2 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

KEY3: JB P1.3,KEY4 ;P1.3有键按下,否则查询P1.4

MOV KEYCODE,#3 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

KEY4: JB P1.4,KEY5 ;P1.4有键按下,否则查询P1.5

MOV KEYCODE,#4 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

KEY5: JB P1.5,KEY6 ;P1.5有键按下,否则查询P1.6

MOV KEYCODE,#5 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

KEY6: JB P1.6,KEY7 ;P1.6有键按下,否则查询P1.7

MOV KEYCODE,#6 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

KEY7: JB P1.7,MAIN ;P1.7有键按下,否则重新开始查询

MOV KEYCODE,#7 ;把键盘值送入70H

JMP KEYCONVERT ;转去键码转换程序

;键码转换

KEYCONVERT:

MOV A,KEYCODE ;键盘值(即偏移量)送入A

MOV DPTR,#SEGTAB ;共阳极笔段码的表头地址送入数据指针DPTR

MOVC A,@A+DPTR ;把A+DPTR指定单元的内容复制到A

MOV P2,A ;将A中(键盘值)查的结果(相应段码)送P2口显示

JMP MAIN

;延时子程序

DELAY:

MOV R4, #10 ;10MS延时子程序

D1: MOV R5, #250 ;1MS,12M晶振

D0: NOP

NOP

DJNZ R5, D0

DJNZ R4, D1

RET

;共阳极笔段码0-9

SEGTAB:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

;程序结束

END

六、参考源程序

1、画出该程序设计的流程图。

2、简述单片机按键的消抖原理。

3、总结该程序查询式识别键盘的方法。

《汽车构造》实验报告解析

《汽车构造》姓名: 班级: 学号:

目录 目录 (1) 实验一汽车总体构造认识 (2) 实验二曲柄连杆机构、配气机构认识 (4) 实验三汽车传动系认识 (9)

实验一汽车总体构造认识 一、实验目的 汽车构造课程实验教学的主要目的是为了配合课堂教学,使学生建立起对汽车总体及各总成的感性认识,从而加深和巩固课堂所学知识。 1、掌握解汽车基本组成及各组成功用; 2、了解发动机总体结构和作用; 3、了解底盘的总体结构和作用; 4、了解车身的总体结构和作用。 二、实验内容 通过认真观察,分析各种汽车的整体结构及组成。掌握汽车的四大组成部分,各主要总成的名称和安装位置,发动机的基本构成。 三、实验步骤 学生在实验指导人员讲解下,对于不同型号的汽车和发动机进行动态的现场学习。 1.观察各种汽车的整体结构及组成; 2.观察、了解各主要汽车总成的名称、安装位置和功用; 3.根据实物了解发动机的基本构成。 四.分析讨论题 1、汽车由哪些部分组成?各个组成部分的功用是什么?请就你分析的汽车来说 明。 汽车主要由四部分构成:发动机、底盘、车身、电子及电器设备 1)、发动机:汽车的核心,动力的提供者 2)、底盘:作为汽车的基体,发动机、车身、电器设备都直接或间接的安装在

底盘上,是使汽车运动并按驾驶员操纵而正常行驶的部件。 3)、车身:车身是驾驶员工作及容纳乘客和货物的场所。 4)、电器与电子设备:是使汽车行驶安全及驾驶员操纵方便以及其他方面所必要的。 2、观察各汽车的总布置形式。 1)、前置前驱:优点是动力流失小,传输快,容易驾驶,制造成本地,缺点是操控性跟不上,极限低,比如奥迪A8L 3.0。 2)、前置后驱:优点是平稳,操控直接,驾驶极限高,缺点是动力流失比较大,因为要经过传动轴把发动机的动力传到后轮需要时间,所以对发动机的动力要求大,比如宝马的7系。 3)、前置四驱:优点是动力响应快,极限状态下车的稳定性好,弯道平稳,缺点是油耗大,操控不直接,比如奥迪的A8L 6.0 W12。 4)、中置后驱:动力响应快,驾驶感受很直接,缺点是车辆难控制,对驾驶技术要求高,比如保时捷的波尔斯特。 5)、后置后驱:优点是动力响应极好,弯道提速快,终极操控,缺点是最难驾驶,一般的技术很难驾驭,比如保时捷911系列。 3、发动机的总体结构和工作过程分析(以汽油机为例)。 汽油机由两大机构和五大系统机构组成,即由曲柄连杆机构,配气机构、燃料供给系、润滑系、冷却系、点火系和起动系组成。 四冲程汽油机工作原理汽油机是将空气与汽油以一定的比例混合成良好的混合气,在吸气冲程被吸入汽缸,混合气经压缩点火燃烧而产生热能,高温高压的气体作用于活塞顶部,推动活塞作往复直线运动,通过连杆、曲轴飞轮机构对外输出机械能。四冲程汽油机在进气冲程、压缩冲程、做功冲程和排气冲程内完成一个工作循环。 1)吸气冲程活塞在曲轴的带动下由上止点移至下止点。此时进气门开启,排 气门关闭,曲轴转动180°。在活塞移动过程中,汽缸容积逐渐增大,汽缸内形成一定的真空度,空气和汽油的混合气通过进气门被吸入汽缸,并在汽

键盘与LED显示实验

实验三键盘及LED显示实验 一、实验内容 利用8255可编程并行接口控制键盘及显示器,当有按键按下时向单片机发送外部中断请求(INT0,INT1),单片机扫描键盘,并把按键输入的键码一位LED显示器显示出来。 二、实验目的及要求 (一)实验目的 通过该综合性实验,使学生掌握8255扩展键盘和显示器的接口方法及C51语言的编程方法,进一步掌握键盘扫描和LED显示器的工作原理;培养学生一定的动手能力。 (二)实验要求 1.学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。 2.该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个性及创造力,独立操作完成实验内容,并写出实验报告。 三、实验条件及要求 计算机,C51语言编辑、调试仿真软件及实验箱50台套。 四、实验相关知识点 1.C51编程、调试。 2.扩展8255芯片的原理及应用。 3.键盘扫描原理及应用。 4.LED显示器原理及应用。

5.外部中断的应用。 五、实验说明 本实验仪提供了8位8段LED 显示器,学生可选用任一位LED 显示器,只要按地址输出相应的数据,就可以显示所需数码。 显示字形 1 2 3 4 5 6 7 8 9 A b C d E F 段 码 0xfc 0x60 0xda 0xf2 0x66 0xb6 0xbe 0xe0 0xfe 0xf6 0xee 0x3e 0x9c 0x7a 0x9e 0x8e 六、实验原理图 01e 1d 2dp 3 c 4g 56 b 78 9 a b c g d dp f 10a b f c g d e dp a 11GND3a b f c g d e dp 12 GND4 a b f c g d e dp GND1GND2DS29 LG4041AH 234 567 89A B C D E F e 1d 2dp 3 c 4g 56 b 78 9 a b c g d dp f 10a b f c g d e dp a 11GND3a b f c g d e dp 12 GND4 a b f c g d e dp GND1 GND2DS30 LG4041AH 1 2 3 4 5 6 7 8 JP4112345678 JP4712345678JP42 SEGA SEGB SEGC SEGD SEGE SEGG SEGF SEGH SEGA SEGB SEGC SEGD SEGE SEGG SEGF SEGH A C B 12345678 JP92D 5.1K R162 5.1K R163VCC VCC D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 U36 8255 D0D1D2D3D4D5D6D7WR RD RST A0A1PC5PC6PC7 PC2PC3PC4PC0PC1CS 12345678JP56 12345678JP53 12345678 JP52 PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7 (8255 PB7)(8255 PB6)(8255 PB5)(8255 PB4)(8255 PB3)(8255 PB2)(8255 PB1)(8255 PB0) (8255 PC7)(8255 PC6)(8255 PC5)(8255 PC4)(8255 PC3)(8255 PC2)(8255 PC1)(8255 PC0) (8255 PA0) (8255 PA1) (8255 PA2) (8255 PA3) (8255 PA4) (8255 PA5) (8255 PA6) (PA7) I N T 0(P 3.2) I N T 0(P 3.3) 七、连线说明

实验报告七-键盘扫描及显示实验

信息工程学院实验报告 课程名称:微机原理与接口技术 实验项目名称:键盘扫描及显示实验 实验时间: 班级: 姓名: 学号: 一、实 验 目 的 1. 掌握 8254 的工作方式及应用编程。 2. 掌握 8254 典型应用电路的接法。 二、实 验 设 备 了解键盘扫描及数码显示的基本原理,熟悉 8255 的编程。 三、实 验 原 理 将 8255 单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管显示。键盘采用 4×4 键盘,每个数码管显示值可为 0~F 共 16 个数。实验具体内容如下:将键盘进行编号,记作 0~F ,当按下其中一个按键时,将该按键对应的编号在一个数码管上显示出来,当再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近 6 次按下的按键编号。 键盘及数码管显示单元电路图如图 7-1 和 7-2 所示。8255 键盘及显示实验参考接线图如图 7-3 所示。 图 7-1 键盘及数码管显示单元 4×4 键盘矩阵电路图 成 绩: 指导老师(签名):

图 7-2 键盘及数码管显示单元 6 组数码管电路图 图 7-3 8255 键盘扫描及数码管显示实验线路图 四、实验内容与步骤 1. 实验接线图如图 7-3 所示,按图连接实验线路图。

图 7-4 8255 键盘扫描及数码管显示实验实物连接图 2.运行 Tdpit 集成操作软件,根据实验内容,编写实验程序,编译、链接。 图 7-5 8255 键盘扫描及数码管显示实验程序编辑界面 3. 运行程序,按下按键,观察数码管的显示,验证程序功能。 五、实验结果及分析: 1. 运行程序,按下按键,观察数码管的显示。

汇编实验报告(详细版)

计算机组成与汇编语言(实验报告) 内容: 实验一、六、七、八 院系专业:计算机学院计算机科学与技术 姓名:xxxxxxxxx 学号: 2011004xxxxx 完成时间:2012年12月1日

计算机组成与汇编语言实验报告 姓名xxxx 学号2011004xxxxx 计分 专业软件工程班级xxxx 实验日期2012年 12 月 1日实验名称实验一数制转换 实验目的 ●熟悉各种进制数据之间的相互转换方法。 ●掌握二-十进制数据的相互转换程序设计。 实验内容 1.将编写好的程序1输入、编译、连接并运行。 程序1清单 #include #include #include void main() { int i,l,s0=0,s=0; char a[17]; while(l!=16) { printf("请输入一个16位的二进制数:\n"); gets(a); l=strlen(a); for(i=0;i<16;i++) { if(a[i]!='0'&&a[i]!='1') {

printf("输入的二进制数不正确!!"); break; } } } if(a[15]=='1') s++; for(i=1;i<16;i++) { if(a[15-i]=='1') s+=(1<

说明:如果不是16位二进制则会提示错误。 2.将编写好的程序2输入、编译、连接并运行。 程序2清单 #include #include void main() { int t0,t1,t2,t3,i,j; int a[16]; printf("请输入一个十进制数:"); scanf("%d",&t0); t1=t0; for(i=0;i<16;i++) { t2=t1/2; if(t2>1) a[i]=t1%2; else if(t1==1) { a[0]=1; for(i=1;i<16;i++) a[i]=0; } else if(t1==2) { a[i]=0; a[i+1]=1; for(j=i+2;j<16;j++)

汽车电器实验报告分析解析

(一)蓄电池、发电机、起动机结构及工作原理的实验 实验指导书和实验报告 实验学时:2学时 一、实验目的与要求: 汽车电源系统、起动系统实验是车辆、交运专业课程教学实验,本实验指导书是根 据《汽车电器》教学计划制定的,为 帮助学生更好的理解、巩固和掌握汽车电源、起动系统的组成及工作原理等有关内容。以巩固和加强课堂所学知识,培养实践技能和动手能力,提高分析问题和解决问题的能力和技术创新能力。 通过本实验应达到以下基本要求: 1.深入了解汽车电源系统、起动的结构特点 2.掌握基本的结构原理 二、实验工具、材料及工件: (专用蓄电池)、发电机、起动机示教板、汽车万能实验台。 、写出蓄电池、发电机、起动机作用及原理概述

二、实验数据与处理 发电机空载特性、输出特性、外特性画出特性曲线

(二)汽车点火系统组成及工作原理实验 实验学时:1学时 一、实验目的与要求: 汽车点火系统实验是车辆、交运专业课程教学实验,本实验指导书是根据《汽车电器》 教学计划制定的,为帮助学生更好的理解、巩固和掌握汽车点火系统的组成及工作原理等有关内容。以巩固和加强课堂所学知识,培养实践技能和动手能力,提高分析问题和解决问题 的能力和技术创新能力。 通过本实验应达到以下基本要求: 1.深入了解汽车汽车点火系统的结构特点 2.掌握基本的结构原理 二、实验内容: 1.了解对点火系统的要求 2.了解点火系统分类 根据不同的分类方式,可以将各种点火系统的特点及目前使用情况加以概括。 2.1按点火系统的电源不同分 2.1.1磁电机点火系统 2.1.2蓄电池点火系统 2.2按点火系统储存的点火能量的方式不同分 2.2.1电感储能式 2.2.2 电容储能式 2.2.3按点火系统结构和发展过程分 触点式点火系统:目前在一些载货汽车上还有少量使用。 晶体管辅助点火系统:现基本上已不使用。 无触点电子点火系统:感应式、光电式、振荡式、霍尔效应式等不同的形式,其中振荡式目前使用很少。 微机控制电子点火系统:随着汽油喷射式发动机的普及,由微机控制的电子点火系统也 越来越多。 3.了解各种形式的点火系统 3.1传统触点式点火系统的工作原理

根据C51单片机的键盘及LCD显示

基于C51单片机的键盘及LCD显示 一、实验目的 1.掌握矩阵式键盘的数字键和功能键的编程方法。 2.掌握LCD的接口技术和编程方法。 3.掌握仪器监控程序设计和调试方法。 二、预习与参考 1. 结合ST7920 控制器系列中文图形液晶模块有关资料手册,详细了解ST7920接口设计技术。 2. 参考资料 1)实验板说明书 2)ST7920 控制器系列中文图形液晶模块资料手册 三、设计指标 利用实验板上提供的键盘电路,LCD显示电路,设计一人机界面,能实现以下功能: 1.LCD上显示“重庆科技学院” 2.按键至少包括0-9的数字键 3.LCD显示按键值 4.电子钟显示:时,分,秒(选作) 四、实验要求 1.以单片机为核心,设计4*4非编码键盘及LCD的硬件电路,画出电路原理图。 2.设计4*4非编码键盘及LCD的控制软件,画出流程图,编写控制程序。

五、实验仪器设备和材料清单 单片机实验板、连接导线、ST7920图形液晶模块、PC机; Keil c51软件 六、实验设计及实施的指导 1.实验课前布置实验任务,提出实验要求,预习相关资料,完成硬件草图设计和软件流程图备查。 2.经指导教师检查,预习达到要求者进入实验室实验。 3.按照设计的电路连线,构建键盘及显示系统,经检查无误方可进入下一步。 4.在指导教师指导下调试LCD显示程序。 5.在指导教师指导下调试按键程序。 6.综合调试直到满足设计要求。 七、实验成绩评定方法 实验成绩包括预习、实验完成质量、实验报告质量4部分组成,各部分所占比例分别为30%、30%、40%。 八、实验报告要求 1.实验报告格式: 一.实验名称 二.实验目的 三.实验内容 四.设计思想 五.硬件设计 六.程序代码

汇编实验报告

南华大学 实验名称:汇编语言程序设计实验 学院:计算机学院 专业班级:本2010 电气信息类03班 学号:20104030342 姓名:谢志兴 指导教师:刘芳菊 日期:2012 年 6 月10 日

实验一DEBUG的熟悉 一、实验目的 (1)学习使用DEBUG的命令; (2)使用DEBUG命令在数据段中查看程序运行的结果; (3)利用DEBUG运行简单的程序段。 二、实验内容 1)输入程序观察寄存器变化 使用DEBUG命令,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器的内容变化。注意用T命令执行时,CS: IP寄存器的内容。 MOV AX, 4E20 ADD AX, 1416 MOV BX, 2000 ADD AX, BX MOV BX, AX ADD AX, BX MOV AX, 001A MOV BX, 0026 ADD AL, BL ADD AH, BL ADD BH, AL MOV AH, 0 ADD AL, BL ADD AL, 9C 2)输入下面的程序,这是一个两个数相与的程序。结果存放在MSG2单元中,偏移地址为?值为多少? DSEG SEGMENT MSG1 DW 7856H, 2038H MSG2 DW? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG

START: MOV AX, DSEG MOV DS, AX MOV AX, MSG1 AND AX, MSG1+2 MOV MSG2, AX MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START 程序的跟踪执行操作 在DOS下直接输入文件主名就可以执行文件了,有的程序会显示结果,可能执行后什么结果都没有,是因为程序中没有显示命令。那么如何查看程序的运行结果呢? 程序执行过程的跟踪操作步骤如下: (1)在DOS下输入:DEBUG 文件名.EXE (2)在DEBUG提示符下输入U命令 如果程序中有数据段,可以看到反汇编后第一句可执行语句为: A地址:B地址MOV AX, K地址如:1261:0000 MOV AX, 1260 其中:K地址就是数据段的段寄存器内容,A地址为代码段段寄存器地址,B地址为程序第一条指令的偏移地址。 (3)可以用T命令单步执行指令,执行到MOV AH, 4CH时结束,也可以用G命令执行整个程序,输入:G=B地址(如:G=0000) (4)用D命令查看程序执行后数据段的变化 输入:D K地址:0 (如:D1260:0)

汽车检测实验报告

学生实验报告 (理工类) 课程名称:汽车检测诊断技术专业班级: 学生学号:学生姓名: 所属院部:指导教师: 20 12 ——20 13 学年第一学期 金陵科技学院教务处制

实验项目名称:汽油机排放污染物检测实验学时: 2 实验地点:汽车维修实验室 实验日期: 2012.11.5 一、实验目的和要求 1、认识汽车排放污染物的危害性。 2、掌握检测汽油机排放污染物的检测方法。 二、实验仪器和设备 1、雪佛兰乐风汽车一辆,马自达2汽车一辆。 2、NHA-500型废气分析仪一台,FGA4100型废气分析仪一台。 3、常用工具一套。 三、实验原理 为控制在用汽车排气污染物的排放,改善环境空气质量,国家质量技术监督局于2000年12月28日发布了GB18285-2000《在用汽车排气污染物限值及测试方法》。该标准规定对“装配点燃式发动机的车辆”进行怠速试验、双怠速试验和加速模拟工况(ASM)试验。国家标准GB18285-2000《在用汽车排气污染物限值及测试方法》中规定,怠速试验按国家标准GB/T3845-1993《汽油车排气污染物的测量怠速法》的规定进行。双怠速试验按国家标准GB/T3845-1993《汽油车排气污染物的测量怠速法》附录C的规定进行。汽油车怠速污染物的检测应在怠速工况下,采用不分光红外线吸收型监测仪,按规定程序检测CO和HC 的浓度值。怠速工况是指发动机运转,离合器处于接合位置,油门踏板与手油门处于松开位置,变速器处于空档位置,采用化油器的供油系统的阻风门处于全开位置。 四、实验过程 双怠速测量程序: 1.在发动机上安装转速计、点火正时仪、冷却水和润滑油侧温计等测试仪器。 2.发动机由怠速工况加速至0.7额定转速,维持60s后降至高怠速(即0.5额定转速)。

单片机实验报告——矩阵键盘数码管显示

单片机实验报告 信息处理实验 实验二矩阵键盘 专业:电气工程及其自动化 指导老师:高哲 组员:明洪开张鸿伟张谦赵智奇 学号:152703117 \152703115\152703118\152703114室温:18 ℃日期:2017 年10 月25日

矩阵键盘 一、实验内容 1、编写程序,做到在键盘上每按一个键(0-F)用数码管将该建对应的名字显示出来。按其它键没有结果。 二、实验目的 1、学习独立式按键的查询识别方法。 2、非编码矩阵键盘的行反转法识别方法。 3、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。 4、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。 5、掌握利用Keil51软件对程序进行编译。 6、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果 能做出分析和解释,能写出符合规格的实验报告。 三、实验原理 1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。 2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。 3、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然

后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。 行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。 由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。 行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。

汇编实验报告

XXXX大学 实验报告 课程名称汇编语言程序设计成 绩 实验学时 评语: 指导教师: 年月日 班级: 学号: 姓名: 地点: 时间:

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验内容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完 成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。 4. 实验中使用的DOS功能调用: INT 21H AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 光标跟在串后面 9 显示字符串DS:DX=串地址, ‘$’为结束字符 4CH 返回DOS系统AL=返回码 例如,实现键盘输入并回显的完整代码: MOV AH 01H INT 21H 三、实验结果 1. 将指定数据区的字符串数据”Let us go !”以ASCII码形式显示在屏幕上,并通过 DOS功能调用完成必要提示信息的显示: 2. 在屏幕上显示自己的学号姓名信息 3.循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。

四、实验原理 DATA SEGMENT MES DB 'NUMBER: 03099018 ',0AH,0DH,'NAME: Feng Xiaokang',0AH,0DH,'$' CENT DB 'Let us go !','$' ENTE DB 0AH,0DH,'$' INFO DB 'Origin: ','$' ASCI DB 'ASCII : ','$' MSG1 DB 'If you want to quit please press...q/Q...',0AH,0DH,'$' MSG2 DB 0AH,0DH,'Char: $' RS DB ' ASCII: $' SD DB '' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;存储数据 MOV DS,AX MOV DX,OFFSET MES ;显示数据 MOV AH,09H INT 21H MOV DX,OFFSET MSG1 MOV AH,09H INT 21H MOV DX, OFFSET CENT MOV SI, DX T: MOV AL,[SI] CMP AL,'$' JZ C1 AND AL,0F0H ;取高4位 MOV CL,4 SHR AL,CL CMP AL,0AH ;是否是A以上的数 JB A ADD AL,07H A: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H

汽车实验报告

汽车实验报告工程学院车辆四班何满龙201030480408

离合器自由行程篇 离合器踏板的自由行程:是指离合器膜片弹簧内端与分离轴承之间的间隙在踏板上的反映。如:东风EQ1090E型汽车离合器踏板自由行程设计值为30~40mm;桑塔纳轿车离合器踏板自由行程为15-25mm。 设计离合器自由行程的原因: 1、从动盘在使用一段时间后由于磨损会变薄,从而使得压盘和从动盘在压紧弹簧的作用下向飞轮方向移动,此时就要要求分离杠杆也必须要向相反方向移动。才能保证离合器有足够的压紧力去工作。为了让分离杠杆向后移动一定的距离,需要在分离杠杆与分离轴承之间留有一定的间隙。如果膜片弹簧收到分离轴承的推压,在传送发动机转矩时,将会使得离合器产生打滑现象,这不仅降低了离合器传扭效率,同时我们驾驶汽车也非常危险。所以在离合器脱离时,必须留出一定的间隙,保证摩擦片在正常磨损后离合器仍能完全接合,正常传递扭矩。,即为离合器踏板自由行程; 2、假如踏板没有自由行程,即在放松离合器踏板的时候,离合器仍会保持在结合状态,分离轴承仍与膜片弹簧内端保持接触。这样,将会加速分离轴承的损坏。 离合器自由行程的影响: 1、踏板自由行程过大,则使分离轴承推动膜片弹簧前移的行程缩短,压盘向后移动的距离也随之缩短,不能完全解除压盘对从动盘的压力,从而不能使离合器彻底分离,造成换档困难,并造成加快离合片磨损,在检查中发现有烧焦味; 2、踏板自由行程过小,则离合器压盘处于半分离状态,汽车起动后放松离合器踏板,车辆不能行走.;就是能走了也会加速磨损的。 离合器自由行程的测量:

1、简易测量法是用手向下轻压离合器踏板,直到感觉有新的阻力时为止,这段距离就是自由行程,约为30mm。 2、通过钢直尺测量并且计算,离合器踏板自由行程及检查如图所示。 自由行程的调整方法: 拧动分离拉杆上的调整螺母,通过调整拉杆有效长度,以调整间隙,从而使自由行程恢复到标准值。在调整踏板自由行程之前,必须先将4个分离杠杆内端的后端面调整到处于与飞轮端面平行的同一平面内。否则在离合器分离和结合过程中,压盘位置会歪斜,致使分离不彻底,并且在汽车起步时会发生颤抖现象。调整的方法是拧动支承柱上的调整螺母。如:桑塔纳轿车离合器采用钢索操作机构,在软轴外套上装有调整螺母,用以调整离合器踏板自由行程。 机械传递式离合器踏板自由行程的调整如图: 案例: (1)富康轿车的离合器踏板自由行程为5-15mm,有效行程不少于140mm。检查时,先测出离合器踏板在完全放松时的高度,再测量踩下踏板到分离杠杆被分离

单片机4X4键盘扫描和显示课程设计

二、设计内容 1、本设计利用各种器件设计,并利用原理图将8255单元与键盘及数码管显示单元连接,扫描键盘输入,最后将扫描结果送入数码管显示。键盘采用4*4键盘,每个数码管可以显示0-F共16个数。将键盘编号,记作0-F,当没按下其中一个键时,将该按键对应的编号在一个数码管上显示出来,当在按下一个 键时,便将这个按键的编号在下一个数码管上显示,数码管上 可以显示最近6次按下的按键编号。 设计并实现一4×4键盘的接口,并在两个数码管上显示键盘所在的行与列。 三、问题分析及方案的提出 4×4键盘的每个按键均和单片机的P1口的两条相连。若没有按键按下时,单片机P1口读得的引脚电平为“1”;若某一按键被按下,则该键所对应的端口线变为地电平。单片机定时对P1口进行程序查询,即可发现键盘上是否有按键按下以及哪个按键被按下。 实现4×4键盘的接口需要用到单片机并编写相应的程序来识别键盘的十六个按键中哪个按键被按下。因为此题目还要求将被按下的按键显示出来,因此可以用两个数码管来分别显示被按下的按键的行与列

表示任意一个十六进制数)分别表示键盘的第二行、第三行、第四行;0xXE、0xXD、0xXB、0xX7(X表示任意一个十六进制数)则分别表示键盘的第一列、第二列、第三列和第四列。例如0xD7是键盘的第二行第四列的按键 对于数码管的连接,采用了共阳极的接法,其下拉电阻应保证芯片不会因为电流过大而烧坏。 五、电路设计及功能说明 4×4键盘的十六个按键分成四行四列分别于P1端口的八条I/O 数据线相连;两个七段数码管分别与单片机的P0口和P2口的低七 位I/O数据线相连。数码管采用共阳极的接法,所以需要下拉电阻 来分流。结合软件程序,即可实现4×4键盘的接口及显示的设计。 当按下键盘其中的一个按键时,数码管上会显示出该按键在4×4键 盘上的行值和列值。所以实现了数码管显示按键位置的功能 四、设计思路及原因 对于4×4键盘,共有十六个按键。如果每个按键与单片机的一个引脚相连,就会占用16个引脚,这样会使的单片机的接口不够用(即使够用,也是对单片机端口的极大浪费)。因此我们应该行列式的接法。行列式非编码键盘是一种把所有按键排列成行列矩阵的键盘。在这种键若没有按键按下时,单片机从P1口读得的引脚电平为“1”;若某一按键被按下,则该键所对应的端口线变为地电平。因此0xEX(X表示任意4×4键盘的第一行中的某个按键被按下,相应的0xDX、0xBX、0x7X(X 二、实验内容

键盘扫描实验设计报告

目录 第一章引言 (1) 1.1 键盘及LED扩展电路概述 (1) 1.2 系统的主要功能 (1) 第二章系统的硬件设计 (2) 2.1 系统的硬件构成及功能 (3) 2.2 主控模板硬件设计 (3) 2.3 ARM芯片及引脚说明 (3) 2.4 LED数码显示管 (6) 2.5 键盘设计 (8) 第三章系统的软件设计 (12) 3.1 软件总体功能设计 (12) 3.2各功能模块软件设计 (16) 第四章结束语 (18) 致谢 (18) 参考文献 (18) 附录 (19)

第一章引言 1.1键盘及LED扩展电路概述 键盘及LED扩展电路主要是由74HC164移位寄存器、数码显示管、按键、电阻、电容、导线等构成的。将8个按键用总线分别与两个74HC164移位寄存器、数码显示管联接起来,两个74HC164移位寄存器联接起来。一个用来存段码,一个用来存位码。在没有按键动作时,74HC164 移位寄存器的数据输入端AB(A 和B 作为一个2 个输入端的与门为74HC164 提供数据,在此电路里并联)的输入电平为1,供电路产生移位逻辑时钟脉冲信号的输入端CP也为1 电平。此时按下键就给了CP 端一个低电平,当键松开后CP端即恢复高电平,于是CP端就得到了一个输入翻转兼移位的低电平脉冲信号.当74HC164得到了一个0 数据的同时输出端Q7~Q0 的数据将全部左移一位。通过DATA端持续给其传送数据,当装满寄存器后开始循环,而寄存器与数码显示管是相通的,寄存器把对应位的高、低电平传给数码管,使符合条件(段码、位码)的0-9在数码管上显示出来。 1.2系统的主要功能 该系统使用前后台的程序编写方法,完成三个基本的功能。 1.任意按下键盘,能在数码显示管上将按下的键对应的十六进制数显示出来图1.1.1 3. 键盘扫描的流程图如右:

汇编实验报告

实验一 DOS常用命令及8088/86指令使用 实验目的 通过实验掌握下列知识: 1、DOS命令: CD,DIR,DEL,RENAME,COPY。 2、8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 3、DEBUG命令: A,D,E,F,H,R,T,U。 4、BCD码,ASCII码及用十六进制数表示二进制码的方法。 5、8088寄存器: AX,BX,CX,DX,F,IP。 实验类型:验证 内容及步骤 一、DOS常用命令练习 1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DIR, 查看此目录下所有文件。 2、键入命令CD..进入上级目录,再查看此目录下所有文件。 3、将一张3.5寸软盘插到 A驱动器中,用DIR命令查看盘上文件。 4、用命令 COPY https://www.wendangku.net/doc/3b17717617.html, BUG 复制一个文件。 5、用命令 RENAME BUG BG 将BUG 文件改为BG。 6、用命令 DEL BG 将文件BG删除。 在操作时要注意提示信息,并按提示操作。 二、DEBUG 命令使用 1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的十六进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码? 6、用H命令检查下列各组十六进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758H,347FH 7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 三、8088常用指令练习 1、传送指令 用A命令在内存100H处键入下列内容: -A 0100↙ ****:0100 MOV AX,1234↙ ****:0103 MOV BX,5678↙ ****:0106 XCHG AX,BX↙ ****:0108 MOV AH,35↙ ****:010A MOV AL,48↙

矩阵键盘单片机识别实验与程序

4×4矩阵键盘51单片机识别实验与程序1.实验任务 图4.14.1 2.硬件电路原理图 图4.14.2 3.系统板上硬件连线 (1.把“单片机系统“区域中的P3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上; (2.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。 4.程序设计内容 (1.4×4矩阵键盘识别处理 (2.每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和 “1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。 键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要 消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接 地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键, 通过软件查表,查出该键的功能。 5.程序框图 图4.14.3 C语言源程序 #include unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,

0x39,0x5e,0x79,0x71}; unsignedchartemp; unsignedcharkey; unsignedchari,j; voidmain(void) { while(1) { P3=0xff; P3_4=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp)

按键及显示实验

一、实验原理及电路 1、LCD显示器是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。因此,LCD的驱动控制归于对每个液晶单元通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使用光线通过(也有刚好相反的,即不通电时光线通过,通电时光线不通过)。, 2、由于LCD已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且还自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相应显示缓存的目的。 实验电路图 二、功能说明 设计并实现一4×4键盘的接口,键盘与1602显示单元连接,编写实验程序扫描键盘输入,并将扫描结果送1602显示,键盘采用4×4键盘。将键盘进行编号记作0—F当按下其中一个按键时将该按键对应的编号在一个1602显示出来,当按下下一个按键时便将这个按键的编号1602上显示出来 实验框图

四、实验代码 #include #define uchar unsigned char #define uint unsigned int #define lcd_data P3 sbit lcd_EN=P2^2; sbit lcd_RW=P2^1; sbit lcd_RS=P2^0; uchar key,a; uchar sys_time1[]="good"; uchar sys_time2[]="morning!"; uchar sys_time3[]="play"; uchar sys_time4[]="basketball!"; uchar sys_time5[]="study"; uchar sys_time6[]="hard!"; unsigned char code key_code[]={ 0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xB7,0x77 }; void delayms(uint ms) { uchar t; while(ms--) { for(t=0;t<120;t++); } } void delay_20ms(void) { uchar i,temp; for(i = 20;i > 0;i--) { temp = 248; while(--temp); temp = 248; while(--temp); } } void delay_38us(void) { uchar temp;

汇编实验报告..

合肥工业大学计算机与信息学院 实验报告 课程:汇编语言程序设计专业班级: 学号: 姓名:

实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 1、启动DOS操作系统 2、运行https://www.wendangku.net/doc/3b17717617.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG命令) 3、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙ 186E:0116 ↙ 4、用“U”命令反汇编验证源程序 –U CS:0100↙ 186E:0100 A10002 MOV AX,[0200] 186E:0103 8B1E0202 MOV BX,[0202] 186E:0107 03060402 ADD AX,[0204] 186E:010B 131E0602 ADC BX,[0206] 186E:010F A30802 MOV [0208],AX 186E:0112 891E0A02 MOV [020A],BX 186E:0116 – 注意:

汽车专业实验报告

中国地质大学江城学院 《汽车构造》实验报告 2012年11月12 日 目录 目录.............................................................................. .. (1) 实验一汽车总体构造认识.............................................................................. . (2) 实验二 实验三 .................................................................... 4 汽车 传动系认识.............................................................................. .......... 11 曲柄连杆机构、配气机构认识 实验一汽车总体构造认识 一、实验目的 汽车构造课程实验教学的主要目的是为了配合课堂教学,使学生建立起对汽车总体及各 总成的感性认识,从而加深和巩固课堂所学知识。 1、掌握解汽车基本组成及各组成功用; 2、了解发动机总体结构和作用; 3、了解底盘的总体结构和作用; 4、了解车身的总体结构和作用。 二、实验内容 通过认真观察,分析各种汽车的整体结构及组成。掌握汽车的四大组成部分,各主要总 成的名称和安装位置,发动机的基本构成。 三、实验步骤 学生在实验指导人员讲解下,对于不同型号的汽车和发动机进行动态的现场学习。 1.观察各种汽车的整体结构及组成; 2.观察、了解各主要汽车总成的名称、安装位置和功用; 3.根据实物了解发动机的基本构成。 四.分析讨论题 1、汽车由哪些部分组成?各个组成部分的功用是什么?请就你分析的汽车来说 明。 汽车主要由四部分构成:发动机、底盘、车身、电子及电器设备 1)、发动机:汽车的核心,动力的提供者 2)、底盘:作为汽车的基体,发动机、车身、电器设备都直接或间接的安装在 底盘上,是使汽车运动并按驾驶员操纵而正常行驶的部件。 3)、车身:车身是驾驶员工作及容纳乘客和货物的场所。 4)、电器与电子设备:是使汽车行驶安全及驾驶员操纵方便以及其他方面所必要的。 2、观察各汽车的总布置形式。 1)、前置前驱:优点是动力流失小,传输快,容易驾驶,制造成本地,缺点是操控 性跟不上,极限低,比如奥迪a8l 3.0。

相关文档
相关文档 最新文档