ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:702KB ,
资源ID:14566000      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14566000.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北邮微原硬件实验报告Word文件下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北邮微原硬件实验报告Word文件下载.docx

1、四 实验总结21实验三 8253计数器/定时器的应用22一 实验目的22二 实验内容22三 实验过程221 蜂鸣器发音规律222 音乐发生器233 扩展:小键盘弹琴功能32四 实验总结38实验一 熟悉实验环境及IO的使用一 实验目的1通过实验了解和熟悉实验台的结构,功能及使用方法。2通过实验掌握直接使用Debug的I、O命令来读写I/O端口。3学会Debug的使用及编写汇编程序。二 实验内容1学习使用Debug命令,并用I、O命令直接对端口进行读写操作。2用汇编语言编写跑马灯程序。实现功能:1)通过读入端口状态,选择工作模式(灯闪烁方式、速度等);2)通过输出端口控制灯的工作状态(低电平灯亮)

2、。三 实验过程1 实验原理1在Debug下,用I是命令读输入端口的状态,即拨码开关的状态,用O命令向端口输出数据,通过LED发光管来查看。测试结果:1)使用命令:I 0EEE0H读取开关状态,得出的结果为左低右高,即 S0 是低位,S7 是高位。2)实验命令:O 0EEE0H测试LED,改变输入的值可依次测试各个数码管是否正常。LED左边为高位,右边为低位。2分析以下程序段的作用MOV AH, 0BHINT 21HOR AL,ALJZ 0100INT 20H该段程序实现了检测键盘状态,在键盘有任意键输入时退出程序返回DOS的功能。该实现依赖于0BH号中断调用和巧妙使用程序入口返回地址直接返回。

3、在DOS的DEBUG模式下,地址不用添加十六进制H标志。地址默认为16进制,多写了反而画蛇添足产生错误。普通数据为了区分需要添加H。2 流程图3 源代码DATA SEGMENTPORT EQU 0EEE0HDATA ENDSSTACK SEGMENT STACKSTACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STACKBEGIN: MOV AX,DATAMOV DS,AXMOV AL,07FH ;01111111MOV DX,PORT MOV SI,2 START: PUSH AX;入栈保存IN AL,DX;读

4、取拨码开关状态MOV BL,AL;BL存储拨码开关状态POP AX;出栈恢复TEST BL,10H;00010000.判断左数第五个拨码开关的状态,;实现灯型的变化JNZ TWO;ON状态为两个灯CMP SI,1;判断AL状态JZ CONT;SI等于1时AL有两位为0,应恢复为只有一位为0, MOV AH,ALROR AH,1OR AL,AHMOV SI,2;AL恢复为只有一位为0,SI变为2JMP CONTTWO:CMP SI,2SI为2时只有AL只有1位为0,应对其变换AND AL,AH;AL有两位为0MOV SI,1CONT:OUT DX,ALTEST BL,08H;00001000.判

5、断第四个拨码开关的状态,实现暂停JNZ START;ON状态实现暂停TEST BL,02H;00000010.判断第二个拨码开关的状态,实现速度的变化JNZ HIGHSP;ON状态实现高速MOV BP,0200H;低速状态时延JMP MOVEHIGHSP:MOV BP,0100H;高速状态时延MOVE:CALL DELAYTEST BL,04H;判断第三个拨码开关的状态,实现方向的变化JNZ LEFT;ON状态为方向向左RIGHT:ROR AL,1;右移,以备点亮下一盏灯JMP EXITLEFT:ROL AL,1;左移,以备点亮下一盏灯EXIT:TEST BL,01H;判断第一个拨码开关的状态

6、JZ START;OFF状态继续运行,ON状态实现退出MOV AL,0FFH;实现全灭 OUT DX, ALMOV AH,4CHINT 21HDELAYPROC MOV CX,BP;BP越大延时次数越多,速度越慢LOOP1:PUSH CXMOV CX,0FFFFHLOOP2:LOOP LOOP2POP CXLOOP LOOP1RETDELAYENDPCODEENDSEND BEGIN4 子程序清单1)子程序名:DELAY功能:实现延迟显示,即控制每个LED点亮持续一定时间;入口参数:BP,赋值给CX控制循环次数,从而实现速度的控制;出口参数:无;使用寄存器:CX,BP。5 代码分析1)通过读取

7、拨码开关地址获得拨码开关状态,将该状态的值赋给BL,实现对灯型、暂停、速度、方向以及退出的控制。2)灯型的控制:通过相应拨码开关的状态选择灯型。灯型一共有两种,第一种为每次亮一盏灯,此时控制输出的寄存器AL中的值只有一位为0,其余七位为1;第二种为每次亮两盏灯,此时控制输出的寄存器AL中的值两位为0,其余六位为1。使用寄存器SI表示当前寄存器AL中0的个数,当SI的值与控制灯型的信息不一致时,通过逻辑与/逻辑或的操作,修改AL的值。3)暂停的控制:通过相应拨码开关的状态判断是否执行暂停操作。当需要暂停时,控制输出的寄存器AL中的值保持不变,当不需要暂停时,控制输出的寄存器AL中的值循环左移/循

8、环右移。4)速度的控制:通过相应拨码开关的状态判断速度的大小。在不同的状态下,对BP赋不同的值,BP作为DELAY子程序的入口参数控制延时的时间从而实现速度的变化。BP越大,则外循环次数越多,所耗时间越长,每个LED点亮持续时间越久,即速度越慢。5)方向的控制:通过相应拨码开关的状态判断方向。在不同的状态下,对控制输出的寄存器AL中的值循环左移/循环右移,即可控制显示的方向。6)退出的控制:通过相应拨码开关的状态判断是否退出程序。四 实验总结虽然本次实验是第一次微原硬件实验,但是在此之前已经有了一定的软件编程基础,并且在VHDL实验中我们也曾编写过跑马灯实验,因而实验之前对实验原理及代码结构有

9、初步的掌握。实验过程中我们按照讲义中的要求先对拨码开关及LED进行了测试,便捷了之后程序的编写。总而言之,通过本次实验,我们对利用汇编语言对硬件进行编程有了一定的掌握,对后续实验的开展奠定了良好的基础。实验二 8255A并行接口应用1掌握8255A的功能及方式0、1的实现。2熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。3了解七段数码管显示数字的原理。4掌握同时显示多位数字的技术。1八段数码管的显示规律及数码管的位选规律。.2六位数码管静态显示。在数码管电路上静态地显示6位学号,当主机键盘按下任意键时,停止显示,返回DOS。3六位数码管动态显示。要求在数码管电路16位数码管上

10、,动态显示字符串HELLO,当主机键盘按下任意键时结束。4扩展部分:完成扫描键盘(PC口)输入自己的学号,并在数码管上显示。1 八位数码管位选规律在方式0(输入/输出)下,以A口为输出口,B口为输出口, A口接六个共阴极数码管的八位段码,高电平点亮数码管的某一段,B口接数码管的位选(即要使哪个数码管亮),高电平选中某一位数码管点亮。测试结果如下图:根据上述测试结果,不难得出0-9对应的编码,如下表:字形123456789编码0EDH21H0F4H0F1H39H0D9H0DDH61H0FDH0F9H2 六位数码管静态显示2.1 实验原理1)电路6个数码管的同名阳极段已经复接,当段选寄存器寄存了一

11、个字型编码之后,6个数码管都将显示出相同的数字。如果要使6个数码管“同时”显示不同的数字,必须采用扫描显示的方法。2)通过选位寄存器选择某一位数码管,显示其数字(对应段值为1),然后关闭此数码管,再选择下一位数码管进行显示;如果在一秒钟内,每一位数码管都能显示30次以上,则人眼看到的是几位数码管同时在显示。实验证明,在扫描显示过程中,每一位显示延迟1ms是最佳选择。3)在本次实验中,采用行扫描方式,一次扫描6位数码管,并进行反复循环,使得每位数码管显示虽然存在间隔,但人眼仍为同时显示。每位数码管显示的时间即为显示延迟,在每一次扫面之后检测键盘状态,若有任意键输入,便退出返回DOS界面。2.2

12、流程图2.3 源代码DATA SEGMENTNUM DB 0F4H,21H,0EDH,0DDH,39H,61H;学号后六位为210647DATA ENDS-STACK SEGMENT STACK DB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STAT:MOV AL,10000000B;A,B,C口均以方式0输出MOV DX,0EE03H ;设置控制地址OUT DX,AL;送控制字到控制地址MOV AX,DATAMOV DS,AX ;设置段地址MOV ES,AXLOP1:XOR SI,SI ;SI清零MOV CX,06H ;循环6次,即一个周期6位数码管MOV DX,0EE00H ;A口的地址赋给DX,A口接八位段码MOV BL,00000001B ;高电平即选中该位数码管点亮LO

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

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