版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
YANGTZENORMALUNIVERSITY
£机原理及应用实验
电子信息技术实验教学中心
♦'♦YANGTZENORMALUNIVERSITY
实验1DEBUG调试程序的应用
一、实验目的
掌握DEBUG调试程序的常用命令,熟悉用DEBUG调试程序对
EXE文件的调试过程,并具有一定的分析运行结果的能力。
二、实验内容
。编写一个完整的一位数加法运算程序,并生成EXE文件;
。利用DEBUG调试EXE文件的执行过程,并与源程序进行对比。
YANGTZENORMALUNIVERSITY
三、DEBUG常用命令
1.汇编命令A
格式:
A段寄存器名:偏移地址
A段地址:偏移地址
A偏移地址
A
功能:用该命令可以将汇编语言程序直接写入内存。
YANGTZENORMALUNIVERSITY
2.显示内存命令D
格式:
D段寄存器名:偏移地址
D段地址:偏移地址
D偏移地址
D
功能:显示指定内存范围的内容。
3.修改内存单元内容命令E
格式:
E地址内容表
E地址
功能:修改内存单元内容
YANGTZENORMALUNIVERSITY
4.填充内存命令F
格式:E地址范围内容表
功能:将内容表中的内容重复装入内存的指定范围内。
5,内存移动命令M
格式:M源地址范围目标起始地址
功能:把源地址范围的内容移动到目标起始地址开始的存储单
)Ljo
6.比较命令C
格式:C源地址范围目标起始地址
功能:比较两个内存区域的内容是否相同,相同时不显示任何
信息,不相同时显示不相同的内容
YANGTZENORMALUNIVERSITY
7.搜索指定内容命令S
格式:s地址范围内容表
功能:在指定地址范围内搜索内容表中的内容。
8.查看修改寄存器内容命令R
格式:
R
R寄存器名
功能:查看或修改寄存器内容
关于标志位:
OF:OV/NV有/无;DF:DN/UP减/增;IF:EI/DI允许/禁止;
SF:NG/PL负/正;ZF:ZR/NZ零/非零;AF:AC/NA有/无;PF:
PE/PO偶/奇;CF:CY/NC有/无。
YANGTZENORMALUNIVERSITY
9.单步执行命令T
格式:
T地址
T地址条数
功能:单步执行指令
10.反汇编命令U
格式:
U地址
U地址范围
功能:将指定内存的内容显示成汇编语言形式。
11.命名命令N
格式:N路径和文件名
YANGTZENORMALUNIVERSITY
12.读盘命令L
格式:
L地址驱动器号起始扇区号扇区数
L地址
L
功能:将N命令指定的文件或磁盘扇区内容读到内存。
13.写盘命令W
格式:
W地址驱动器号起始扇区号扇区数
W地址
W
功能:将内存内容写至UN命令指定的文件或磁盘扇区中。
YANGTZENORMALUNIVERSITY
14.输入命令I
格式:I端口地址
功能:将端口的内容传送到累加器AL中。
15.输出命令0
格式:0端口地址
功能:将累加器AL的内容传送到端口中。
16.运行命令G
格式:
G二地址
G
功能:从当前地址或指定地址开始执行指令。
YANGTZENORMALUNIVERSITY
17.十六进制运算命令H
格式:
H数据1数据2
功能:对数据1和数据2进行十六进制加法和减法运算。
18.P命令
格式:
P
功能:在下一条指令执行之前停止
19.退出命令Q
格式:
Q
功能:退出DEBUG调试环境。
♦'♦YANGTZENORMALUNIVERSITY
实验2算术运算程序设计
、实验目的
。掌握汇编语言中的数值接收方法;
。掌握算术运算程序的编写与结果显示方法;
。掌握宏定义与调用方法
、实验内容
从键盘接收运算式,编程实现两位十进制数的算术运算(
加、减、乘、除),若输入的不是数字或运算符,进行错误处
理,按Esc键退出。
YANGTZENORMALUNIVERSITY
三、编程提示
。定义一个显示单字符的宏;
。定义一个能接收两位数的子程序,并将其转换成二进制,若
接收的不是数字,进行错误处理,其算法为:退一格,显示
一个空格,再退一格。若接收的为ESC键退出;
。主程序的编程流程如图2.1所示。
YANGTZENORMALUNIVERSITY
图2.1
YANGTZENORMALUNIVERSITY
实验3字符串处理程序设计
一、实验目的
。掌握串操作程序设计的基本方法;
。掌握串查找与替换的方法;
。掌握字符串接收和显示的方法;
。掌握循环和分支程序设计方法。
二、实验内容
。编程实现字符接收、字符转换、字符显示等操作;
。具体要求:从键盘接收30个字符存入变量X中,将X中的字符
传送到变量Y中,将变量Y中的空格字符转换成字符“0”,
回车换行后显示Y中的内容。
♦'♦YANGTZENORMALUNIVERSITY
三、编程提示
编程流程如图3.1所示。
图3.1
YANGTZENORMALUNIVERSITY
实验4数值处理程序设计
一、实验目的
。掌握数组元素的输入方法;
。掌握一般的排序算法。
二、实验内容
。编程实现数值输入、数组排序、显示等基本操作;
。具体要求:从键盘输入20个有符号两位十进制数,编程对其
从小到大进行排序,并显示排序后的结果,以逗号分隔。
YANGTZENORMALUNIVERSITY
二、参考程序
dispcmacrox
movdl,x
movah,2
int21h
endm
datasegment
xdb20dup(?)
dataends
codesegment
assumecs:code,ds:data
go:movax,data
movds,ax
接收20个有符号数的程序段
movbx,19
YANGTZENORMALUNIVERSITY
10:movex,19
leasi,x
11:lodsb
empal,[si_
jge12
movah,[si]
mov[si],al
mov[si-l],ah
12:loop11
decbx
empbx,0
jne10
movex,20
13:lodsb
empal,0
YANGTZENORMALUNIVERSITY
jge14
pushax
dispc'-'
popax
negal
14:aam
orax,3030h
movbh,al
cmpah,30h
je15
dispcah
15:dispcbh
dispc','
loop13
dispc8
YANGTZENORMALUNIVERSITY
dispc20h
movah,7
int21h
movah,4ch
int21h
codeends
endgo
UNIVERSITY
实验5文件、文件夹操作程序设计
一、实验目的
。掌握在磁盘上建立文件夹的程序设计方法;
。掌握在文件夹下建立文件的程序设计方法;
。掌握对文件的读、写、关闭的程序设计方法
YANGTZENORMALUNIVERSITY
二、实验内容
。编程实现文件、文件夹的建立、写入、字符串接收等基本操
作;
。具体要求:
①清屏,将光标置于5行,0列,从键盘接收最多80个字符的字
符串,将接收字符串中的小写字母全部转换成大写,其余不
变;
②从10行,0列开始显示转换后的字符串;
③在D盘上建立一文件夹USER;
④将转换后的字符串写入文件'D:\USER\STRING.TXT中。
(注:文件操作时要求有相应的提示信息)
YANGTZENORMALUNIVERSITY
二、参考程序
dispsmacrox
movah,9
leadx,x
int21h
endm
datasegment
bufferdb80,?,81dup(O)
pfnamedbJD:\USER\O
fnamedb'D:\USER\STRING.TXT,。
dldbJCreatepaperfileerror5,Odh,Oah,,$J
d2db'Createfileerror',Oah,Odh,,$'
d3dbJWritefileerror',Oah,Odh,'$'
d4dbJClosefileerror5,Oah,Odh,J'
d5db'Operatesucceed',Oah,Odh,'$'
YANGTZENORMALUNIVERSITY
d6dbOah,Odh,'$'
dataends
codesegment
assumecs:code,ds:data
go:movax,data
movds,ax
movah,2
movbh,0
movdx,0
intlOh
moval,20h
movah,9
movex,2000
movbl,12h
intlOh
YANGTZENORMALUNIVERSITY
movah,2
movbh,0
movdh,5
movdl,0
intlOh
movah,Oah
leadx,buffer
int21h
movcl,buffer+1
movch,0
leasi,buffer+2
11:lodsb
cmpal,'a'
jb12
cmpal,'z
YANGTZENORMALUNIVERSITY
ja12
xoral,20h
mov[si-l],al
12:loop11
movbyteptr[si
movah,2
movbh,0
movdh,10
movdl,0
intlOh
dispsbuffer+2
dispsd6
movah,39h
leadx,pfname
int21h
YANGTZENORMALUNIVERSITY
jnc11
dispsdl
jmp16
12:movah,5bh
movex,0
leadx,fname
int21h
pushax
jnc13
dispsd2
jmp16
13:movah,40h
popbx
movcl,buffer+1
movch,0
》祥孝伤
YANGTZENORMALUNIVERSITY
leadx,buffer+2
int21h
jnc14
dispsd3
jmp16
14:movah,3eh
int21h
jnc15
dispsd4
jmp16
15:dispsd5
16:movah,7
int21h
movah,4ch
int21h
YANGTZENORMALUNIVERSITY
codeends
endgo
YANGTZENORMALUNIVERSITY
实验6图形程序设计
一、实验目的
。掌握屏幕显示方式的设置方法;
。掌握写象素点的方法;
。掌握宏的定义和调用方法。
、实验内容
。编程实现几何图形的绘制,不同颜色的填充;
。具体要求:将屏幕设置成640*480,在屏幕上画5个几何图形:
空心正方形、空心长方形、实心正方形、实心长方形、空心直
角等腰三角形。大小、颜色、位置自定。
YANGTZENORMALUNIVERSITY
二、参考程序
sxfkmacroxl,yl,x2,y2,color;画实心矩形(左上顶点坐标,
local11,12右下顶点坐标,颜色)
movah,Och
moval,color
movdx,yl
11:movex,xl
12:intlOh
incex
cmpex,x2
jbe12
incdx
cmpdx,y2
jbe11
endm
YANGTZENORMALUNIVERSITY
kxfkmacroxl,yl,x2,y2,color画空心矩形(左上顶点坐标,
local11,12,13,14右下顶点坐标,颜色)
movah,Och
movdx,yl
movex,xl
moval,color
11:intlOh
incex
empex,x2
jb11
12:intlOh
incdx
empdx,y2
jb12
13:intlOh
YANGTZENORMALUNIVERSITY
decex
empex,xl
ja13
14:intlOh
decdx
empdx,yl
ja14
endm
sjxmacroxl,yl,long,color画等腰直角三角形(左上
local11,12,13顶点坐标,腰长,颜色)
movah,Och
moval,color
movdx,yl
movex,xl
movsi,long
ft
YANGTZENORMALUNIVERSITY
addsi,dx
11:intlOh
incdx
cmpdx,si
jbe11
movdi,long
adddi,ex
12:intlOh
incex
cmpex,di
jbe12
movex,xl
movdx,yl
13:incex
incdx
YANGTZENORMALUNIVERSITY
intlOh
cmpex,di
jb13
endm
codesegment
assumecs:code
go:movax,0012h
intlOh
movah,Obh
movbx,1
intlOh
sjx50,50,125,4
kxfk1,2,241,242,3
sxfk10,250,320,470,(
sxfk339,179,639,479,5
YANGTZENORMALUNIVERSITY
kxfk270,5,630,170,
movah,7
int21h
movah,4ch
int21h
codeends
endgo
YANGTZENORMALUNIVERSITY
实验7中断控制实验
一、实验目的
。了解Windows下中断处理过程;
。比较中断和查询两种数据交换方法的效率差别。
二、实验内容
用查询和中断方式分别实现控制指示灯,实验电路如图。
要求直接用手动产生的单脉冲作为中断请求信号,每按一次单
脉冲产生一次中断,让8个指示灯显示一秒钟的01010101,否则
让指示灯显示10101010。然后在任务栏比较中断和查询方式下
CPU利用率的差别。
但'・YANGTZENORMALUNIVERSITY
。中断方法:将8255的A□设为输出,IRQ直接接到正脉冲,线
路连接如图7.1所示;
。查询方法:将8255的A□设为输出接指示灯,C口设为输入,
将PCO接正脉冲输入,线路连接如图7.2所示。
!IRQ
8255825s
1------1(ACK)
PAO一.LI116一.…•——PC©PA0«L0
PA1一..♦LPA!
PA2一..■L:PA2♦L2
PA3一……・L:PA3
PA4f.......♦L«PA4
PA5......•LIPA5•L5
288h^28Fh288h^28Fh
CSPA6•Li.........----------CSPA8
PA7—.......•L1PA7•L7
图7.1图7.2
♦'♦YANGTZENORMALUNIVERSITY
三、编程提示
中断方法的编程流程如图7.3所示
主程序中断服务程序
图7.3
YANGTZENORMALUNIVERSITY
查询方法的编程流程如图7.4所示
有键按下?图7.4
霞陵严守兄孝笛
YANGTZENORMALUNIVERSITY
实验8定时器/计数器实验
、实验目的
掌握8253的基本工作原理和编程方法。
、实验内容
。定时器应用:按图8.1连接电路,将计数器0、计数器1分别
设置为方式3,计数初值设为1000,用逻辑笔观察0UT1输出
电平的变化(频率1HZ);
。计数器应用:按图8.2连接电路,将计数器0设置为方式0,
计数器初值为N(NC0FH),用手动逐个输入单脉冲,编程
使计数值在屏幕上显示,并同时用逻辑笔观察OUTO电平变化
(当输入N+1个脉冲后OUTO变高电平)。
YANGTZENORMALUNIVERSITY
U5OUT1
8253
RATF1141
CLK1<
280H、OUT0
CS
R6TFA11-
CLK0<9-
图8.1
US8253
CLK0<-5—
+5
GATE©JLl^.……丁
280H、
♦2%CS
OUT0
图8.2
YANGTZENORMALUNIVERSITY
三、编程提示
8253控制寄存器地址283H
开始
计数器0地址280H、
计数器1地址281H
定时器应用时的编程
流程如图&3所示,计数器
应用时的编程流程如图&4
所示。
图8.3图8.4
YANGTZENORMALUNIVERSITY
实验9并行通信实验
、实验目的
掌握并行接口芯片8255的工作原理及使用方法
八实验内容
。方式0的应用:实验电路如图9.1,8255c□接逻辑电平开关
K0-K7,A口接LED显示电路L0〜L7,编程从8255c口输入数
据,再从A口输出;
。方式1的应用:实验电路如图9.2,要求每按一次单脉冲按
钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一
次中断服务:依次输出01H、02H,04H,08H,10H,20H,
40H,80H使L0〜L7依次发光,中断8次结束。
YANGTZENORMALUNIVERSITY
LA..14prApAA4.............10
k1•.15PCIPAI_3_........I18255
(INTRA)
L2•.16propo22・........L2IRQ------♦PC3PAO—・・・L0
kA•.17Pc2pawPAIL1
k4..13pr4PA440........I4PA2—…-«•L2
288h^28Fh
k5・.12prePAR39...........L5■<-------CSPA3-■•L3
11
«PC6PA638........LGPA4••♦L4
147..1。PC7PA737•.........I7PA5L5
(ACK)
PC6PA6—»L6
288HUI8
.・—.6CS8255PA7…・L7
图9.1图9.2
YANGTZENORMALUNIVERSITY
三、编程提示
8255控制端口地址28BH
A□的地址288H
C□的地址28AH
方式0应用时编程流程如图
9.3所示,方式1应用时编程流
程如图9.4所不。
图9.3
Count=12返回DOS
N
中断终来]
主程序中断处理程序
图9.4
YANGTZENORMALUNIVERSITY
实验107段数码管显示控制实验
、实验目的
掌握数码管显示数字的原理。
、实验内容
。静态显示:按图10.1连接好电路,将8255的ADPA0〜PA6分
别与七段数码管的段码驱动输入端a〜g相连,位码驱动输
入端S1接+5V(选中),SO、dp接地(关闭)。编程从键盘
输入一位十进制数字(0〜9),在七段数码管上显示出来;
。动态显示:按图10.2连接好电路,七段数码管段码连接不变,
位码驱动输入端SI,S0接8255C口的PCI,PCO,编程在两个
数码管上显示“56”。
YANGTZENORMALUNIVERSITY
七段数码管字型代码表
显小字形,gQe-许d,2b*-'段码.
0/031PIPIP3fh口a
IP020,0^OPl*10/063
2+1Q0<1.W0"1*'1〃5bh.-一fgb
♦
3+,1'O0~1"A1-'IP4fhUc
“121P0"OQ1cIPOr66h0“e
1PI*102IPOcW6dhJJd
6+1P1*14,1/0,7dh<
1
7P0。0V030川l-1*-'07h2
8c121P1」1cIP1P7fhp
9/1/02IPIP6fh>'
图10.1
YANGTZENORMALUNIVERSITY
七段数码管字型代码表
un
8255
图10.2
YANGTZENORMALUNIVERSITY
三、编程提示
实验台上的七段数码管为共阴型,段码采用同相驱动,输
入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入
端高电平选中。
静态显示时的编程流程如图10.3所示,动态显示时的编程
流程如图10.4所示。
YANGTZENORMALUNIVERSITY
(开始)
将8255设为A口输出
送5的段码至4口
送位码。2H至C口
返回DOS]
图10.3囹1U.4
YANGTZENORMALUNIVERSITY
实验11抢答器设计实验
一、实验目的
。了解微机化竞赛抢答器的基本原理;
。进一步学习使用并行接口。
二、实验内容
图1L1为竞赛抢答器(模拟)的原理图,逻辑开关K0〜K7
代表竞赛抢答按钮0〜7号,当某个逻辑电平开关置“1”时,
相当某组抢答按钮按下。在七段数码管上将其组号(0〜7)显
示出来,并使微机扬声器响一下。
YANGTZENORMALUNIVERSITY
U1774LS244
2
*IH-1A1
1w1
4
1A21?2
61A313
81A41V4
11
X2A12?1
I3
X2A22w2
15
A2A323
17
A2A42Y4
I1C
abcdefgdp
LED1
gnd
K7■6K5K4K3K2K0
图ll.I
♦'♦YANGTZENORMALUNIVERSITY
三、编程提示
设置8255为C□输入、A□输出,读取C□数据,若为0表
示无人抢答,若不为0则有人抢答。根据读取数据可判断抢答组
号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。
YANGTZENORMALUNIVERSITY
图11.2
YANGTZENORMALUNIVERSITY
实验12交通灯控制实验
一、实验目的
通过并行接口8255实现十字路口交通灯的模拟控制,进一步
掌握对并行口的使用。
二、实验内容
如图12.1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、
PC5相连,L2、LKL0作为东西路口的交通灯与PC2、PCI、PCO
相连。编程使六个灯按交通灯变化规律亮灭。
红黄红黄绿
L716L5L2L1L0
••••••
fttT
PC7PC6PCSPC2PCIPC0
CS8255
图12.1
YANGTZENORMALUNIVERSITY
三、编程提示
十字路口交通灯的变化规律要求:
(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右;
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯
继续亮;
(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右;
(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪
烁若干次;
(5)转(1)重复。
编程流程如图12.2所示。
YANGTZENORMALUNIVERSITY
图12.2
YANGTZENORMALUNIVERSITY
实验13串行通信实验
一、实验目的
。了解串行通讯的基本原理;
。掌握串行接口芯片8251的工作原理和编程方法。
二、实验内容
。按图13.1连接好电路,(8251插通用插座)其中8253计数器用
于产生8251的发送和接收时钟.TXD和RXD连在一起;
。编程:从键盘输入一个字符,将其ASCH码加1后发送出去,再
接收回来在屏幕上显示。实现自发自收。
YANGTZENORMALUNIVERSITY
D0D0NTXD
OUT0D1D1J
O
D2D2XRXD
GATE©D3.
D3L
D4D4
CLKQ<D5D5
D6D6TxRDY15
D7D7
--8251RxRDY14
U5CS
2B8H〜2BPH•…♦RD
8253IOR♦.♦UR
IQ(J•••・_••.c
A0・•・•-♦R
氏21IE
RESET*....*
uCTS
r
280h-287h
寸
e
1MHZ上….♦
图13.1
♦'♦YANGTZENORMALUNIVERSITY
三、编程提示
。图示电路8251的控制□地址为2B9H,数据口地址为2B8H;
。8253计数器的计数初值二时钟频率/(波特率X波特率因
子),这里的时钟频率接1MHz,波特率若选1200,波特率因
子若选16,则计数器初值为52H;
。收发采用查询方式;
。编程流程如图13.2所示。
U浮彳通孝伤
YANGTZENORMALUNIVERSITY
《开始~3
图13.2
♦'♦YANGTZENORMALUNIVERSITY
实验14数/模转换实验
一、实验目的
了解数/模转换器的基本原理,掌握DAC0832芯片的使用方
法。
、实验内容
。实验电路原理如图14.1所示,DAC0832采用单缓冲方式,具
有单双极性输入端(图中的Ua、Ub);
。编程产生锯齿波(从Ub输出,用示波器观察);
。编程产生正弦波(从Ub输出,用示波器观察)。
YANGTZENORMALUNIVERSITY
U6
DAC0832
D7D7
D6D6
D5D5
D4D4
D3D3
D2D2
2
D1D1IOUt1
D0D0
Iout212m
cSN
do
uRr
298H砾一9
图14.1
YANGTZENORMALUNIVERSITY
三、编程提示
。8位D/A转换器DAC0832的口地址为290H,输入数据与输出电
压的关系为:
Ua二-(UREF/256)*N
Ua二-(UREF/256)*N-5
(UREF表示参考电压,N表示数数据),这里的参考电压为PC
机的+5V电源。
。产生锯齿波只须将输出到DAC0832的数据由0循环递增;
。产生正弦波可根据正弦函数建一个下弦数字量表,取值范围
为一个周期,表中数据个数在16个以上。
YANGTZENORMALUNIVERSITY
(g®
将喔给CL
可
将CL中的数给DK0832
loipi
图14.2图14.3
♦'♦YANGTZENORMALUNIVERSITY
实验15模/数转换实验
、实验目的
了解模/数转换的基本原理,掌握ADC0809的使用方法。
、实验内容
实验电路原理图如图15.1所示。通过实验台左下角电位器
RW1输出0〜5V直流电压送入ADC0809通道O(INO),编程采集IN0
输入的电压,在屏幕上显示出转换后的数据(用16进制数)。
YANGTZENORMALUNIVERSITY
+5
217
12二
ref(+)226
VCC2二35
244
一
GND253
reft-)2二62
27
1MHZ一1
280
JWL・10>CLOCK
282
IN-2ADD-C1
ADD-B
+5R60
IN-1ADD-A
18kI
R7
EOC二
18k8IOU
ALE
-26STARTcs
IN1IN-0
U298H〜29FH
ENABLE
图15.1
♦'♦YANGTZENORMALUNIVERSITY
三、编程提示
。ADC0809的INO□地址为298H,IN1口地址为299H;
。IN0单极性输入电压与转换后数字的关系为:
N-Ui/(Uref/256)
其中Ui为输入电压,UREF为参考电压,这里的参考电压为P
C机的+5V电源。
。编程流程如图15.2所示
YANGTZENORMALUNIVERSITY
显示子程序
主程序
图15.2
YANGTZENORMALUNIVERSITY
实验168255A并行口键盘扫描实验
一、实验目的
。掌握8255A编程原理。
。了解键盘阵列结构,学会读取按键的方法。
二、实验内容
本实验的实验电路如图16.1所示。它做在一块扩展电路板上
,用一根20芯扁平电缆线将实验板扩展插头J1与实验台上的扩
展插头J7相连,为扩展电路连接电源及外部总线。扩展电路板
上的数码管、键盘阵列既能由8279控制,也可以由外部电路控
制,其实现靠的是若干组短路子组成的控制选择开关KI、K2、
K3、K4、KBO、KB1、KB2。
YANGTZENORMALUNIVERSITY
当KI、K3、K4连接在8279一端时,数码管由8279控制,连
接在LS273一端时由外部总线通过LS273直接控制。当K2、KB1、
KB2、KB3连接在8279一端时,键盘阵列由8279控制,连接在
8255一端时由外接芯片8255控制。因为本实验为8255控制实验,
所以除了连接J1和J7外,还需要将选择开关K2、KB1、KB2、KB3
连接在8255一端,并将KAO-KA7,KBO-KB2连接到8255芯片A口,
CO,还需要连接8255芯片的片选,以使键盘阵列由8255芯片控
制。
8255A的端口A地址为:288H,端DC地址为:28AH,控制口
地址为:28BHo编程使得在键盘阵列上每按一个键后,微机屏
幕上有相应字符显示出来。
YANGTZENORMALUNIVERSITY
288h〜28Fh
♦…■
图16.1
♦'♦YANGTZENORMALUNIVERSITY
三、编程提示
1.识别键盘上的闭合键,通过采用行扫描法或列翻转法:
(1)行扫描法是使键盘上某一列线为低电平,而其余行接高电平,
然后读取列值;如果列值中有某位为低电平,则表明行列交点处的键
被按下;否则扫描下一行,直到扫完全部的行线为止。
(2)行反转法识别闭合键时,要将行线接一个并行口,先让它工
作在输出方式,将列线也接到一个并行口,先让它工作在输入方式;
程序通过输出端口向全部行线上送低电平,然后读取列线的值;如果
此时有某一键被按下,则必定会使某一列线值为零,程序再对两个并
行端口进行方式设置,使行线工作在输入方式,列线工作在输出方式,
并且将刚才读到的列线值从列线所接的并行端口输出,再读取行线上
的值;那么,在闭合键所在的行线上的值必定为零。这样,当一个键
被按下时,必定可以读到一对唯一的行值和列值。在我们提供的程序
中就采用行反转法来识别键盘按键。
YANGTZENORMALUNIVERSITY
2.在程序设计时,将各个键对应的代码(列值,行值)放在
一个表中,程序通过查表来确定具体按下的为哪一个键。
3.编程流程
主程序流程如图16.2所示。
设置数据段,显示提示信息
调艇盘扫描子薛-
--——是
是否R健——
否|、吟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仁爱版初中英语单词表
- 高一化学教案:第二单元食品中的有机化合物
- 2024高中地理第1章区域地理环境与人类活动第3节第2课时南方与北方西部大开发学案湘教版必修3
- 2024高中语文第2单元孟子蚜第4课乐民之乐忧民之忧练习含解析新人教版选修先秦诸子蚜
- 2024高中语文第六单元文无定格贵在鲜活春夜宴从弟桃花园序训练含解析新人教版选修中国古代诗歌散文欣赏
- 2024高考化学一轮复习第四章非金属及其化合物第三讲硫及其化合物规范演练含解析新人教版
- 2024高考历史一轮复习方案专题四世界政治制度的演变与发展第12讲解放人类的阳光大道教学案+练习人民版
- 2024高考地理一轮复习第二部分人文地理-重在运用第四章工业地域的形成与发展第23讲工业地域的形成与工业区学案新人教版
- 小学2024-2025年第二学期小学科学教学计划
- 钢结构厂房施工准备
- 2025寒假散学典礼(休业式)上校长精彩讲话:以董宇辉的创新、罗振宇的坚持、马龙的热爱启迪未来
- 2025年浙江中外运有限公司招聘笔试参考题库含答案解析
- 建筑公司2025年度工作总结和2025年工作安排计划
- 电压损失计算表
- 福建省福州市2023-2024学年高二上学期期末测试英语试卷(含答案)
- 脑疝病人的观察与护理
- 人民医院建设项目背景分析
- 初级会计实务题库(613道)
- 2024年高考地理时事热点:环保(附答案解析)
- 招标代理机构选取技术标投标方案(技术方案)
- 北师大版本八年级上册第一章单元测试卷(A卷)【含答案】
评论
0/150
提交评论