北京邮电大学微机原理与接口技术硬件实验报告_第1页
北京邮电大学微机原理与接口技术硬件实验报告_第2页
北京邮电大学微机原理与接口技术硬件实验报告_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE22信息与通信工程学院微机原理与接口技术硬件实验报告班 级:姓 名:学 号:序 号:日 期:2015-10-30——2015-12-26目录实验一I/O地址译码 3一、实验目的 3二、实验原理及内容 3三、硬件接线图与软件程序流程图 3四、源程序 4五、实验结果 5六、实验总结 5七、实验收获与心得体会 5实验二简单并行接口 5一、实验目的 5二、实验原理及内容 5三、硬件接线图与软件程序流程图 6四、源程序 6五、实验结果 7六、实验总结 7七、实验收获与心得体会 7实验四七段数码管 7一、实验目的 7二、实验原理及内容 8三、硬件接线图与软件程序流程图 8四、源程序 9五、实验结果 11六、实验总结 11七、实验收获与心得体会 11实验八可编程定时器/计数器(8253/8254) 11一、实验目的 11二、实验原理及内容 11三、硬件接线图与软件程序流程图 12四、源程序 13五、实验结果 17六、实验总结与思考题 17七、实验收获与心得体会 17实验十六串行通讯8251. 18一、实验目的 18二、实验原理及内容 18三、硬件接线图与软件程序流程图 18四、源程序 19五、实验结果 22六、实验总结与思考题 22七、实验收获与心得体会 22一、实验目的

实验一I/O地址译码掌握I/O地址译码电路的工作原理。二、实验原理及内容11-174LS74DDY0~Y7在实验台上“I/O,……当CPUI/O280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。例如:执行下面两条指令MOVDX,2A0HOUTDX,AL(或INAL,DX)Y4输出一个负脉冲,执行下面两条指令MOVDX,2A8HOUTDX,AL(或INAL,DX)Y5输出一个负脉冲。利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。2、接线:Y4/IO地址接CLK/D触发器Y5/IO地址接CD/D触发器D/D触发器接SD/D角发器接+5VQ/D触发器接L7(LED灯)或逻辑笔三、硬件接线图与软件程序流程图硬件连接图如下:程序流程图如下:四、源程序CODESEGMENTASSUMECS:CODE ;定义代码段START:MOVDX,2A0H OUTDX,ALCALLDELAY ;延时MOVDX,2A8H OUTDX,ALCALLDELAY ;延时MOVAH,1HINT16H ;01号功能调用,从键盘接收按JZSTART ;无键按下,返回STARTMOVAH,4CH ;有键按下,返回DOS系统INT21HDELAYPROCNEAR MOVBX,100LOOP1:MOVCX,0LOOP2:LOOPLOOP2DECBXJNZLOOP1RETDELAY ENDPCODE ENDS五、实验结果按下键盘时L7闪烁发光,交替亮灭。六、实验总结实验一开始时不理解怎样选通Y4和Y5的地址,对整个接口电路分析后才明白了译码电路真正的原理。七、实验收获与心得体会本次实验主要了解了端口的输出D触发器作为一个外部端口实现了向D确输出,控制灯泡亮灭,实现了译码功能。对I/O接口有了更深的理解,对以后的实验很有帮C+一、实验目的

实验二简单并行接口掌握简单并行接口的工作原理及使用方法。二、实验原理及内容1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。2ASC8发光情况验证正确性。3、按下面图4-2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。4ASCASC显示出来。5、接线:1)输出按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验台逻辑或门)2)输入按图4-2-2接线(图中虚线为实验所需接线,74LS32为实验台逻辑或门)三、硬件接线图与软件程序流程图硬件连接图如下:图4-2-1 图4-2-2程序流程图如下:四、源程序CODESEGMENT ;定义代码段ASSUMECS:CODESTART:MOVAH,1INT21H ;从键盘检测输入CMPAL,00011011BJZEXITMOVDX,2A8H;送出ASCII码OUTDX,ALMOVDX,2A0H;读入ASCII码INAL,DXMOVDL,ALMOVAH,02H ;屏幕显示ASCIIINT21HJMPSTART ;循环检测EXIT:MOVAX,4C00H ;返回INT21HCODEENDSENDSTART五、实验结果EscASCIIESCdos,且各LED六、实验总结实验一开始不太明白如何把输入的字符通过二极管显示出来,后来参考了实验一的译码输出,理解了实验原理。七、实验收获与心得体会这次实验是对I/O接口译码电路的运用,进一步熟悉了译码电路、键盘输入检测等功能的运用,让我很好的明白了CPU的地址总线与外部接口是如何工作,也进一步了解了硬件实验,希望在以后的实验中有更多的收获。实验四七段数码管一、实验目的掌握数码管显示数字的原理二、实验原理及内容4-4-18255的口PA0~PA7a~dpS0S1、S2、S3接PC0、PC1、PC2、PC3,编程在数码管显示自己(“00-99”S0S1接PC0PC1;S2、S3接地。)2、接线:PA7~PA0/8255接dp~a/LED数码管PC3~PC0/8255接S3~S0/LED数码管CS/8255接Y1/IO地址三、硬件接线图与软件程序流程图硬件连接图如下:程序流程图如下:四、源程序DATA SEGMENT ;定义代码段DATA ENDSCODE ASSUME CS:CODE,DS:DATASTART: MOVDX,28BH ;控制口地址MOVAL,80H 100000000,所有口都置为输出OUTDX,ALLOP1: MOVDX,288H ;A口地址MOVAL,3fH OUTDX,ALMOVDX,28AH 4LED,CMOVAL,08HOUTDX,ALMOVDX,28AH ;熄灭数码管MOVAL,0MOVDX,288H MOVAL,4fHOUTDX,ALMOVDX,28AH 3MOVAL,04HOUTDX,ALMOVDX,28AH ;熄灭数码管OUTDX,ALMOVDX,288H MOVAL,3fHOUTDX,ALMOVDX,28AH 2MOVAL,02HOUTDX,ALMOVDX,28AH ;熄灭数码管OUTDX,ALMOVDX,288H MOVAL,3fHOUTDX,ALMOVDX,28AH 1MOVAL,01HOUTDX,ALMOVDX,28AH ;熄灭数码管MOVAL,0OUTDX,ALMOVAH,01HINT16HJNZEXIT ;有键输入则退出JMPLOP1EXIT: MOVAX,4C00H INT21HENDSTART五、实验结果结果显示了学号的后四位0300,如下如所示:当有键盘输入时,返回DOS系统。六、实验总结本次实验用了8255并行接口芯片,采用方式0,所有口都用输出模式,A口为段选,控制输出的数据,C口为位选,控制不同的位不断扫描、交替亮灭。七、实验收获与心得体会08255,实验有一定难度,不过对理论课也有一定的帮助。实验八可编程定时器/计数器(8253/8254)一、实验目的学习掌握8253用作定时器的编程原理;二、实验原理及内容1.8253初始化使用8253前,要进行初始化编程。初始化编程的步骤是:①向控制寄存器端口写入控制字对使用的计数器规定其使用方式等。②向使用的计数器端口写入计数初值。2.8253控制字D7D6=00:使用0号计数器,D7D6=01:使用1号计数器D7D6=10:使用2号计数器,D7D6=11:无效D5D4=00:锁存当前计数值D5D4=01:只写低8位(高8位为0),读出时只读低8位D5D4=10:只写高8位(低8位为0),读出时只读高8位D5D4=11:先读/写低8位,后读/写高8位计数值D3D2D1=000:选择方式0,D3D2D1=001:选择方式1D3D2D1=X10:选择方式2,D3D2D1=X11:选择方式3D3D2D1=100:选择方式4,D3D2D1=101:选择方式5D0=0:计数初值为二进制,D0=1:计数初值为BCD码数3.实验内容完成一个音乐发生器,通过喇叭或蜂鸣器放出音乐,并在数码管上显示乐谱。利用小键盘实现弹琴功能,并显示弹奏的乐谱。三、硬件接线图与软件程序流程图接线图如下:CS/8253接Y0/IOGATE0/8253接+5VCLK0/8253接1M时钟OUT0/8253接喇叭或蜂鸣器程序流程图如下:四、源程序DATA SEGMENTFENPIN DW0001H,3906,3472,3125,2932,2604,2344,2083,1953;分频DIGITAL DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH;数码管MUSIC DB5,3,5,3,5,3,1,1,2,4,3,2,5,5,5,5,5,3,5,3,5,3,1,1,2,4,3,2,1,1,1,1,2,2,4,4,3,1,5,5存放播放的乐曲音符NUM DB00H,070H,0B0H,0D0H,0E0HDATA ENDSSTACK SEGMENTSTACKDB100DUP(?)STACK ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA,SS:STACK;延时子程序DELAY PROCPUSHCXMOV WAIT0: LOOPWAIT0POP RETDELAY ENDP;延时子程序2DELAY1PROCNEARPUSHCXMOVCX,0FFFFHWAIT1:LOOPWAIT1POPCXRETDELAY1ENDP;获取键盘输入值的子程序KEY PROCNEARPUSHAX ;保护现场PUSHCXPUSHDXMOVCX,01HCHECK:MOVDX,28AH;C口地址给DXMOVBX,OFFSETNUMADDBX,CXMOVAL,[BX]OUTDX,AL;防抖INAL,DX ;判断是否有键盘按下MOVAH,ALCALLDELAYINAL,DXCMPAL,AHJNZCHECK ;不相等说明为抖动,重新检测;判断按下的列ANDAL,0FHCMPAL,0FHJZNEXTCMPAL,0EHJZNEXT1CMPAL,0DHJZNEXT2CMPAL,0BHJZNEXT3MOVBX,01HJMPGOTNEXT:INCCX ;修改变量扫描下一行CMPCX,05HJNZJUMP1MOVCX,01HMOVCX,01HJUMP1:JMPCHECKNEXT1:MOVBX,04HJMPGOTNEXT2:MOVBX,03HJMPGOTNEXT3:MOVBX,02HGOT:SUBCX,01HMOVAL,CLMOVDL,04HMULDLADDBL,ALSUBBL,01HPOPDXPOPCXKEYPOPRETENDPAXSTART:MOVAX,DATAMOVDS,AX;此时BX中所存即为对应的偏移量;恢复现场;主程序;8253初始化MOV DX,283HMOVAL,36H控制字00110110,选计数0,先读低字节再读高字节,选用工作方OUT DX,ALMOV DX,28BHMOVAL,81H;C口输入(10000001)OUT DX,ALMOV DX,289H;B口位选数码管MOV AL,01HOUT DX,AL;扫描键盘LOOP1: CALLKEYCMPBX,0;按0播放音乐JZPLAY0CMPBX,9;按9退出JZEXIT;按1~8发出对应音MOV CX,BXMOV BX,OFFSETDIGITALADD BX,CXMOV AL,[BX]MOV DX,288H;A口输出OUT DX,AL;播放该音符MOV BX,OFFSETMOV AX,CXADD AX,AXADD BX,AX;计数,先低八位后高八位MOV AX,[BX]MOV DX,280HOUT DX,ALMOV AL,AHOUT DX,ALCALL CALL DELAY1MOVINDX,28AHAL,DX;C口输入;检测键盘是否弹起MOVAH,ALLOOP2:CALLDELAYINAL,DXCMPAL,AHJZLOOP2;初始化8253,停止播放音乐MOV AX,0HMOV DX,283HMOV AL,36HOUT DX,ALJMP LOOP1;播放音乐PLAY0: MOV PLAY: PUSH ;读取音符,存于CX中MOV BX,OFFSETMUSICADD BX,CXMOV AL,[BX]MOV CL,ALMOV CH,0H;数码管显示MOV BX,OFFSETDIGITALADD BX,CXMOV AL,[BX]MOV DX,288HOUT DX,AL;播放该乐符MOV BX,OFFSETFENPINMOV AX,CXADD AX,AXADD BX,AX;计数,先低八位后高八位MOV AX,[BX]MOV DX,280HOUT DX,ALMOV AL,AHOUT DX,ALPOP CX;延时,持续播放MOVAX,90HLOOP3:CALLDELAY1DECAXJNZLOOP3;乐曲未结束时,CX加1INCCXCMPCX,28H;共40个音符JNZJUMJMPLOOP1JUM:JMPPLAYEXIT:MOVAL,0MOVDX,288HOUTDX,ALINTMOV21HAX,4C00HCODEENDSEND START五、实验结果按下键盘0,播放歌曲“粉刷匠”,数码管显示相应的音符;按下小键盘的1——8,喇叭播放所对应的音符,数码管显示按下的音符;按下键盘的9时,数码管熄灭,返回DOS系统。六、实验总结与思考题82531M产思考题:写出8253计数初值,输入频率和输出频率的关系:答:输出频率=输入频率/8253计数初值七、实验收获与心得体会这次实验较之前的实验难度较大,用到了、8253、数码管,是个相对来说系统点的实验,这也使得代码在实现起来比较多而复杂。一开始实验时不理解8255对音符如何通过喇叭显示出来也不明白,在弄清楚了他们的原理和相互之间的联系之后,才慢慢理解。实验的内容要求编一小段音乐,虽然实验很难,但是也增加了我们对实验的兴趣。一、实验目的

实验十六串行通讯82511、了解串行通讯的基本原理。2、掌握串行接口芯片8251的工作原理和编程方法。二、实验原理及内容1、按下图连接好电路,(8251插通用插座)其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。2ASCII码加1或8251A的TXDRXD或数码管上显示出来。)实现自发自收。3、接线:CLK0/8254接1M时钟GATE0/8254接+5V0UT0/8254接TX/RXCLK/8251CS/8254接Y0地址CS/8251接Y7地址RXD/8251接TXD三、硬件接线图与软件程序流程图硬件接线图如下:程序流程图如下:四、源程序DATA SEGMENT ;定义数据STRING DB'SEND','$' ;定义字符串STRING1 DB'RECEIVE ','$'STRING2 DB0DH,0AH,'$'DATA ENDSSTACK SEGMENTSTACK'SATCK' ;定义堆栈段DB100DUP(?)STACK ENDSCODE SEGMENT ;定义代码段ASSUMECS:CODE,DS:DATA,SS:STACK;延时子程序DELAY PROCPUSHCXMOV WAIT0: LOOPWAIT0POP RETDELAY ENDPSTART: MOV AX,DATAMOV DS,AX;8254初始化MOV MOV AL,16H计数0,只读低字节,方3,二进OUT DX,ALCALL DELAYMOV DX,280H计数0,初值MOV AL,34H初值52OUT DX,ALCALL ;8251初始化MOV DX,2B9HMOV AL,40H;(01000000)内部复位命OUT DX,ALNOPCALL DELAYMOVAL,5E ;(01011110)16,一位停止位,一位奇校验的异步方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论