微机原理与接口实验报告.docx

上传人:b****5 文档编号:29110716 上传时间:2023-07-20 格式:DOCX 页数:6 大小:18.31KB
下载 相关 举报
微机原理与接口实验报告.docx_第1页
第1页 / 共6页
微机原理与接口实验报告.docx_第2页
第2页 / 共6页
微机原理与接口实验报告.docx_第3页
第3页 / 共6页
微机原理与接口实验报告.docx_第4页
第4页 / 共6页
微机原理与接口实验报告.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

微机原理与接口实验报告.docx

《微机原理与接口实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理与接口实验报告.docx(6页珍藏版)》请在冰豆网上搜索。

微机原理与接口实验报告.docx

微机原理与接口实验报告

微机原理与接口实验报告

  班级:

姓名:

学号:

  日期:

  

  目录

  实验1六位数码管动态显示实验........................................  

  实验2小键盘案件识别实验............................................  

  实验38位AD转换实验................................................  

  实验4步进电机实验...................................................  

  实验1六位数码管动态显示实验

  实验目的

  了解共阴级数码管显示数字的原理,掌握六位共阴级数码管动态显示的控制方法。

  实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。

  将0-9这十个数字按照从右到左的顺序循环步进显示,即首先从最右端数码管显示“0”,间隔一定时间后向左移动一位,直到最左端。

到最左端后变换数字,按照同样的方法显示1-9,以此循环往复。

做实验之前需要将七段数码管上方的拨动开关打到“CPU”位置。

  实验接线图如图1所示,只需将LED_CS连接到地址译码200H即可。

  图1六位数码管显示实验接线图

  图2六位数码管单元电路图

  实验系统使用了6个七段共阴级数码管,形成6位数码管显示电路,如图3-6所示。

该电路六个共阴级数码管组成,使用了段码锁存器74LS273、OC门驱动器和位码锁存驱动器TPIC6B273。

段码锁存器74LS273输出高电平有效,位码锁存驱动器TPIC6B273输出低电平有效。

/CS为两个锁存器的片选信号。

地址线A0用来区分选择段码还是位码,在/CS=0,/IOW=0的情况下,A0=0CPU发出来的数据被锁到段码锁存器74LS273,保存字形编码,A0=1CPU发出来的数据被锁到位码锁存驱动器TPIC6B273,保存位选码。

于位码锁存驱动器TPIC6B273将输入的每一位数据反相后再输出的,所以对于段选和位选输入代码来说,都是高电平有效。

  每个七段共阴级数码管显示十进制/16进制数字的字形编码如图3。

  图3共阴级7段数码管编码表

  流程图如下:

  图4六位数码管显示实验主程序参考流程图

  图5六位数码管显示实验显示子程序参考流程图

  完整的程序清单和相关注释。

  .modelsmall.386

  datasegment

  numdb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhdataendscodesegment

  assumecs:

code,ds:

dataBEGIN:

movsi,0  movax,data  movds,ax  leabx,num

  count:

movcx,6  movah,00000001b

  scan:

moval,[bx+si];字形处理  movdx,200h  outdx,al

  moval,ah;字位处理  movdx,201h  outdx,al  calldelay  shlah,1  loopscan  addsi,1  cmpsi,10  jnzcount  subsi,10  jmpcount

  delayprocnear  pushcx  movcx,0lop:

  looplop  popcx  ret

  delay  endpcodeends  endBEGIN

  实验数据及结果分析

  完成了0到9的八个数码管依次顺序显示,每次的显示都有一定的延迟,当

  显示完数字9以后就再次从0开始。

  实验过程中遇到的问题,以及解决办法

  遇到的问题:

显示的时候一开始很难延迟。

  解决的方案:

通过构造一个延迟函数来完成,在延迟函数中一直重复进行某一个动作,用计数器的倒计时来完成延迟的功能,于需要调用新的函数,而且需要一个计数器的支持,所以需要将cx压入栈中。

  实验总结

  熟悉了汇编语言的相关语言,也熟悉了软件与接线板的操作。

通过入栈压栈的方式,完成对于延迟操作的函数构造。

同时,也实践了moval,[bx+si]movdx,200houtdx,al的字形处理,和moval,ahmovdx,201houtdx,al的字为命令的语句熟悉。

  实验2小键盘按键识别实验

  实验目的

  掌握用软件方法识别行列式键盘按键的原理和方法。

  实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。

  当实验板上的小键盘有键按下时,将其对应的键号显示在七段数码管上。

  实验系统提供了一个16按键的小键盘,采用行列式4×4键盘,形成矩阵结构,如图3-10所示。

通常,该键盘矩阵的行线和列线分别与8255并行接口的两个端口连接,通过程序的检测和判断来识别按键操作。

当需要检测某键按下时,依次给1、2、3、4行线输出低电平,某键按下时,相应的行和列上的两条线短路,即相应的列线被拉成低电平,其他列线维持高电平。

程序通过并口读回4根列线的值,根据行线列线为0的状态即可判断出该按键的键号。

  图64X4键盘原理图

  实验接线图如图7所示,将8255端口A的PA0-PA3与4个行线KL0-KL3连接,将8255端口B的PB0-PB3与4个列线KR0-KR3连接,设置选择8255A组、B组端口为方式0工作,且端口A方向为输出,用来控制行线,端口B方向为输入,用来读入列线值。

编写汇编程序,根据送出的行线值和读入的列线值来判断出该按键的位置,并将其键号在数码管上显示出来。

  图7小键盘按键识别实验接线图

  流程图如下:

  图8小键盘按键识别实验程序流程图

  完整的程序清单和相关注释。

  .modelsmall.386

  DATASEGMENT

  rowportdw200hcolportdw201h

  controlportdw203h;控制字led_csdw210hchar

  3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71htabledw0fefeh  dw0fefdh  dw0fefbh  dw0fef7h  dw0fdfeh  dw0fdfdh  dw0fdfbh  dw0fdf7h  dw0fbfeh  dw0fbfdh  dw0fbfbh  dw0fbf7h  dw0f7feh  dw0f7fdh  dw0f7fbh  dw0f7f7hDATAENDS

  CODESEGMENT

  ASSUMECS:

CODE,DS:

DATASTART:

  begin:

movax,data  movds,ax  movdx,controlport  moval,10000010b

  outdx,al;8255初始化L1:

callkb1  movbh,ah  movbl,al  calldelay  callkb1  cmpbl,al  jnzbegin  cmpbh,ah  jnzbegin  movax,bx  calldisp  calldelay

  db

  jmpL1

  kb1proc

  movah,0fehkb2:

moval,ah

  movdx,rowport  outdx,al;输出数据  movdx,colport

  inal,dx;读入PB口内容  oral,0f0h  cmpal,0ffh  jnenum1  rolah,1  jmpkb2num1:

retkb1endp

  delayproc  pushcx

  movcx,8000hdelay1:

loopdelay1  popcx  retdelayendp

  dispproc  pushbx  pushdx

  kb3:

movsi,offsettable  movdi,offsetchar  movcx,16kb4:

cmpax,[si]  jzkb5  incsi  incsi  incdi  loopkb4kb5:

moval,[di]  movdx,led_cs

  outdx,al;字形处理  moval,01h  incdx

  outdx,al;字位处理  popdx

  popbx  retdispendp

  CODEENDSENDSTART

  实验数据及结果分析

  完成了键盘按键在显示屏上的显示任务,可识别从0到F的各个数字及字母,做到了一一对应。

  实验过程中遇到的问题,以及解决办法

  遇到的问题:

如何识别按键的位置

  解决的方案:

用table来记录各个按键的位置,于table内部的数据是dw的,而字符是db的,所以当字符的偏移地址加一的时候,table的偏移地址加二,从而就可以完成一一对应的操作。

  实验总结

  熟悉了汇编语言和软件操作,也完成了键盘和显示屏的连接操作,完成了实验任务。

但是代码部分还可以做适当的简略,逻辑部分还需要一定的考虑。

  实验38位A/D转换实验

  实验目的

  掌握模/数信号转换的基本原理,掌握ADC0809芯片的查询方式使用方法。

  实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。

  从ADC0809通道0输入0--+5V可变电压,启动AD转换,使用查询方式读取转换数据,并以16进制显示在数码管上。

实验接线如图3-21。

  图98位A/D转换实验接线图

  流程图如下:

  图108位A/D转换实验参考流程图

  完整的程序清单和相关注释。

  .MODELsmall.386

  AD_CSEQU200hLED_CSEQU210hDATASEGMENTLEDCODEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H;数码管0到f的显示DATAENDSCODESEGMENT

  ASSUMECS:

CODE,DS:

DATASTART:

MOVAX,DATA  MOVDS,AXRPT:

MOVDX,AD_CS

  OUTDX,AL;让ADC0809锁存地址,并启动转换  MOVDX,AD_CS

  ADDDX,2;此时DX指向202H处

  L1:

INAL,DX;读取ADC0809的EOC引脚状态并加以判断  TESTAL,01H;EOI是否为1,判断转换是否完成  JZL1;否,重复读入EOC状态并判断;  MOVDX,AD_CS  INCDX

  INAL,DX  CALLDISP  JMPRPTDISPPROC

  MOVSI,OFFSETLEDCODE;设置7段表首地址  MOVBX,SI  MOVCH,AL

  MOVCL,4;截取转换数据的高四位  RORAL,CL  ANDAL,0FH  MOVAH,0  ADDBX,AX

  MOVAL,[BX];获取LED显示编码  MOVDX,LED_CS

  OUTDX,AL;转换后显示  MOVAL,02H  INCDX  NOP

  OUTDX,AL  CALLDELAY  MOVAL,CH  ANDAL,0FH  MOVAH,0  ADDSI,AX

  MOVAL,[SI]  MOVDX,LED_CS  OUTDX,AL  MOVAL,01H  INCDX  OUTDX,AL  CALLDELAY  RETDISPENDPDELAYPROC  PUSHCX  MOVCX,50HX1:

  LOOPX1  POPCX  RETDELAYENDPCODEENDSENDSTART  

  实验数据及结果分析

  完成了数模信号的转化任务,成功地将模拟量转化为数字量,范围为0到ff,完成了模拟量和显示屏的连接。

  实验过程中遇到的问题,以及解决办法

  遇到的问题:

在模拟量改变的时候,显示屏的内容没有相应改变。

  解决的方案:

后查是在程序中,忘记将数据转入,少一个in操作所致。

  实验总结

  熟悉了汇编语言的编写操作和软件与连接板的实际操作,也熟悉了模拟量和数字量之间的转换任务。

  实验4步进电机实验

  实验目的

  掌握步进电机的控制方法。

  实验原理、内容,接线图,程序流程图,必要时附上

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1