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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机实践全部实验.docx

1、微机实践全部实验实验一 开关状态显示【实验目的】熟悉实验箱和软件开发平台的使用。了解基本 I/O 端口的操作方法和技巧,掌握编程和调试基本技能。【实验内容】利用 74LS244 作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过 74LS273 驱动发光二极管显示出来。【实验区域电路连接图】参考上图连线:Y0Y1 接 K1K2(对应 J1、J2);Q0Q7 接 L1L8(对应 J3 至 J10);CS1 接 8000H孔(对应 J12);CS2 接 9000H 孔(对应 J11);IOWRIOWR;IORDIORD;然后用数据排线连接 JX7JX17(BUS2)。【程序框图】

2、【编程】CODE SEGMENTASSUME CS:CODEORG 1200HSTART:MOV DX,8000HIN AL,DXTEST AL,01HJNZ Y1 /测试AL是否等于01H,若不等于,则跳入循环Y1/TEST AL,02HJNZ Y2 /测试AL是否等于02H,若不等于,则跳入循环Y2/MOV DX,9000HMOV AL,0FFH /点亮所有的灯/OUT DX,ALJMP STARTY1:TEST AL,02HJNZ Y3 /测试AL是否等于02H,若不等于,则跳入循环Y3/MOV DX,9000HMOV AL,0AAH /点亮奇数号灯/OUT DX,ALJMP START

3、Y2:MOV DX,9000HMOV AL,55H /点亮偶数号灯/OUT DX,ALJMP STARTY3:MOV DX,9000HMOV AL,00H /所有灯全灭/OUT DX,ALJMP STARTCODE ENDSEND START【问答题】1、I/O 端口的寻址方式有哪 2 种?在 x86 系统中,采用哪一种?解:I/O 端口的寻址方式有两种:一种是I/O地址与存储器地址统一编址,一种是I/O地址与存储器地址分别独立编址。在x86 系统中,采用I/O地址与存储器地址分别独立编址。2、在输入/输出电路中,为什么常常要使用锁存器和缓冲器?解:一般来说,I/O设备速度比CPU执行速度慢,

4、故输入设备的数据线锁存在端口的锁存器中,CPU从端口中读入数据;输出时CPU将数据“打入”缓冲器后就可以退出,外设从缓冲器取数据。【心得体会】第一次的实践课程做的是开关状态显示,通过本次试验的操作,我了解了dice8086实验系统自带键盘、显示电路和监控管理程序,在无PC机的情况下,同样可以脱机通过单步、断点、全速等方法调试实验程序。熟悉了实验箱和软件开发平台的使用。了解基本 I/O 端口的操作方法和技巧,掌握编程和调试基本技能。掌握了编程和调试基本技能,加深了对课堂上理论知识的学习,将理论与实践动手相结合,更好的掌握了知识,熟练了实验箱和软件结合使用的方法。 实验二 模拟交通灯实验【实验目的

5、】1. 学习在PC机系统中扩展简单I/O 接口的方法。2. 进一步学习编制数据输出程序的设计方法。3. 学习模拟交通灯控制的方法。【实验内容】用 8255 做输出口,控制十二个发光管(4 组红绿黄灯)的亮灭,模拟十字路口交通灯管理。【实验区域电路连接图】PC0L3;PC1L7;PC2L11;PC3L15;红灯PC4L2;PC5L6;PC6L10;PC7L14;绿灯PB4L1;PB5L5;PB6L9;PB7L13。 黄灯8255 数据、控制线内部已线连好。【程序框图】【编程】CODE SEGMENTASSUME CS:CODEORG 1000HPORTA EQU 0FF28HPORTB EQU

6、0FF29HPORTC EQU 0FF2AHPORTCN EQU 0FF2BH;将8255的A、B、C和控制口地址定义,方便使用main:mov dx,portcnmov al,80hout dx,al ;8255初始化,向控制口写入80H,表示A、B、C三个口都工作在方式0mov dx,portbmov al,0f0hout dx,al ;B口高位为黄灯,输出0F0H/0FFH使黄灯初始全灭。否则默认输出全0,黄灯会全亮mov dx,portcmov al,0f0hout dx,al ;C口高位绿灯,低位红灯。输出0F0H使绿灯全灭红灯全亮call delay1 ;延时BEGIN: ;主循环

7、标号mov dx,portcmov al,0a5hout dx,al ;1、3路口绿灯亮,即PC4和PC6为0。对应路口红灯灭,即PC0和PC2为1,所以输出0A5Hcall delay3 ;红绿灯转换之间的长延时mov dx,portcmov al,0f5hout dx,al ;1、3路口绿灯灭,红灯不变,输出0F5Hmov cx,8 ;黄灯闪烁次数计数赋初值8L1:mov dx,portbmov al,0a0hout dx,al ;1、3路口黄灯对应PB4和PB6,该两位为0,故输出0A0H或0AFHcall delay2 ;黄灯闪烁之间的短延时mov dx,portbmov al,0f0

8、hout dx,al ;1、3路口黄灯灭,输出0F0H或0FFHcall delay2dec cx ;闪烁次数计数减1jnz L1 ;闪烁次数计数不为0则跳回L1继续闪烁mov dx,portcmov al,0f0h ;绿灯全灭,红灯全亮out dx,almov dx,portcmov al,5ahout dx,al ;2、4路口绿灯亮,红灯灭call delay3mov dx,portcmov al,0fahout dx,al ;2、4路口绿灯灭,红灯不变mov cx,8L2:mov dx,portbmov al,50hout dx,alcall delay2mov dx,portbmov

9、al,0f0hout dx,alcall delay2dec cxjnz L2 ;2、4路口黄灯闪烁8次mov dx,portcmov al,0f0hout dx,al ;四个红灯全亮jmp BEGINdelay1:mov ax,5hmov bx,0hx:dec bxjnz xdec axjnz xretdelay2:mov ax,1hmov bx,0hy:dec bxjnz ydec axjnz yretdelay3:mov ax,20hmov bx,0hz:dec bxjnz zdec axjnz zretcode endsend main【问答题】1、8255A 的哪个端口能实现位操作控

10、制(按位置位/复位)?执行控制字写入操作的端口是哪个?解:8255A 的C端口能实现位操作控制(按位置位/复位),执行控制字写入操作的端口是命令字端口。2、写出下图中 Intel8255A 占用的 4 个端口地址。解:FFF0H、FFF2H、FFF4H、FFF6H。【心得体会】这次的课程设计让我把书本上的理论知识应用在实践中,实现了理论和实践相结合,从中更懂得理论是实践的基础,实践有助于检验理论的正确性的道理。 模拟交通灯工作的实验,通过8255A 控制发光二极管,PB4-PB7 对应黄灯,PC0-PC3 对应红灯,PC4-PC7 对应绿灯,以模拟交通路灯的管理。在实验中不但要满足题目所提出的

11、要求,更要结合实际,考虑到现实问题,比如说绿灯时间要比红灯时间长。通过本次实验,不仅再次熟悉了8255A,更是对自己编程技术一个很好的锻炼,对我以后参加工作或者继续学习深造将产生巨大的帮助和影响。实验三 8253 定时器/计数器实验一、实验目的学会8253芯片与微机接口的原理和方法。掌握8253定时器/计数器的工作原理和编程方法。二、实验内容编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。1、编程时用程序框图中的二个计数初值,计算OUT1的输出

12、频率,用表观察LED,进行核对。2、修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。3、上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。三、实验区域电路连接图参考上图连线:CS30040H;JX8JX0;IOWRIOWR;IORDIORD;A0A0;A1A1;GATE0+5V;GATE1+5V;OUT0CLK1;OUT1L1;CLK00.5MHz;(单脉冲与时钟单元)四、编程指南8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。8253 的六种工作

13、方式:方式0:计数结束中断 方式3:方波频率发生器方式l:可编程频率发生 方式4:软件触发的选通信号方式2:频率发生器 方式5:硬件触发的选通信号8253初始化编程1、8253初始化编程8253的控制寄存器和3个计数器分别具有独立的编程地址,由控制字的内容确定使用的是哪个计数器以及执行什么操作。因此8253在初始化编程时,并没有严格的顺序规定,但在编程时,必须遵守两条原则: 在对某个计数器设置初值之前,必须先写入控制字; 在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位字节,还是高、低位字节都写(分两次写,先低字节后高字节)。2、8253的编程命令8253的编程命令有两类

14、:一类是写入命令,包括设置控制字、设置计数器的初始值命令和锁存命令;另一类是读出命令,用来读取计数器的当前值。锁存命令是配合读出命令使用的。在读出计数器值前,必须先用锁存命令锁定当前计数寄存器的值。否则,在读数时,减1计数器的值处在动态变化过程中,当前计数输出寄存器随之变化,就会得到一个不确定的结果。当CPU将此锁定值读走后,锁存功能自动失效,当前计数输出寄存器的内容又跟随减1计数器变化。在锁存和读出计数值的过程中,减1计数器仍在作正常减1计数。这种机制确保了即能在计数过程中读取计数值,又不影响计数过程的进行。五、程序框图实验步骤1、按连线图连接好,检查无误后打开实验箱电源。在PC端软件开发平

15、台上输入设计好的程序,编译通过后下载到实验箱。3、运行程序后,观察LED闪烁周期(可以看10次或更多次闪烁时间,以提高观察准确度)。再按要求调整初始值,使得闪烁周期为 1S 时间。如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。七、实验程序清单及注释code segmentassume cs: codeorg 1200hSTART:mov dx,43h ;8253控制寄存器地址存入DXmov al, 00110100bout dx,al ;对8253初始化,计数器0选择16位方式2二进制计数mov dx,40h ;8253计数器0地址mov al, 0EEHout dx

16、, almov al, 2Hout dx, al ;给计数器0装入初值2EEH,先低字节后高字节mov dx, 43hmov al, 01110110bout dx,al ;8253初始化,计数器1选择16位方式3二进制计数mov dx,41h ;8253计数器1地址mov al, 0E8hout dx, almov al, 3hout dx,al ;给计数器1装入初值3E8H,先低字节后高字节jmp $ ; 跳到本地址,使程序在这里无限循环code endsend START计算步骤及结果由公式:f=计数器1的输出频率(1.5S时):计数器1的输出频率(1.0S时):观察时,计时30s,观察

17、这段时间内LED闪烁多少次,即可估算输出频率。九、程序修改与调试修改计数器0初值,750到500(1)初始程序输出频率是1.5Hz,即LED灯每1.5秒闪烁一次,若要使LED灯每1s闪烁一次,即输出为1Hz。则程序应该作以下修改(十六进制时):MOVAL,0EEH MOVAL,0F4HOUTDX,AL OUTDX,ALMOVAL,2H MOVAL,1HOUTDX,AL OUTDX,AL(2)若计数方式为BCD码,则程序应该作以下修改:MOVAL,00110100B MOVAL,00110101BOUTDX,AL OUTDX,ALMOVDX,40H MOVDX,40HMOVAL,0EEH MOV

18、AL,00HOUTDX,AL OUTDX,ALMOVAL,2H MOVAL,5HMOVAL,01110110B MOVAL,01110111BOUTDX,AL OUTDX,ALMOVDX,41H MOVDX,41HMOVAL,0E8H MOVAL,00HOUTDX,AL OUTDX,ALMOVAL,3H MOVAL,10HOUTDX,AL OUTDX,AL十、问答题1、8253初始化编程时需要遵循的原则是什么?答:(1)在赋初值前先写控制字(2)赋初值时,初值的格式要与控制字中的信息相同(3)若控制字中要求高低位都写,先写入低字节再写入高字节(4)按计数器012的顺序进行初始化编程2、简述82

19、53初始化编程的步骤答:(1)写控制字(2)写入初值3、思考二进制计数或BCD码计数时,装入的初值最大值为多少?答:0000H十一、心得体会 8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL本次实验,我重新学习了微机原理中关于8253定时器/计数器的工作原理以

20、及微机接口的原理与方法,加深了对理论知识的理解与认识。同时,对计数器频率的修改,让我再次熟悉了8253输出频率的计算方法,进一步掌握了8253的编程方法,也巩固了工作方式2和3的工作原理与基本作用。实验四 D/A转换器实验一、实验目的了解D/A转换的基本原理,掌握DAC0832芯片的性能、使用方法及对应的硬件电路。二、实验内容编写程序,要求输出锯齿波、三角波及方波,分别用示波器观察波形;如有能力,把三段程序编在一起,循环输出三种波形。三、实验区域电路连接图连线如下所示:CS58000H;IOWRIOWR;JX2JX17;AOUT示波器。四、编程指南首先须由CS片选信号确定量DAC寄存器的端口地

21、址,然后锁存一个数据通过0832输出,典型程序如下:MOV DX,DAPORT ;0832口地址MOV AL,DATA ;输出数据到 0832OUT DX,AL产生波形信号的周期由延时常数确定。五、程序框图六、实验步骤按连线图连接好,检查无误后打开实验箱电源。在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。运行程序后,用示波器测量0832左侧AOUT插孔,应有方波或锯齿波输出。如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。七、实验程序清单及注释(1)方波:CODE SEGMENTASSUME CS: CODEORG 1200HSTART: MOV DX

22、,8000H MOV AL,00HL1: OUT DX,AL CALL DELAY ;延时 XOR AL,0FFH ;取反 JMP L1DELAY: MOV BX,0FFHL5: DEC BX JNZ L5 RETCODE ENDSEND START(2)锯齿波:CODE SEGMENTASSUME CS:CODEORG 1000HSTART: MOV DX,8000H MOV AL,00HL2: OUT DX,AL NOP;空操作,相当于延时一个时钟周期 INC AL JMP L2CODE ENDSEND START(3)三角波:CODE SEGMENTASSUME CS:CODEORG 1

23、000HSTART: MOV DX,8000H MOV AL,00HL3: OUT DX,AL INC AL CMP AL,0FFH ;比较AL和0FFH JZ L4 JMP L4 ;相等则跳L4 JMP L3L4: OUT DX,AL DEC AL NOP JZ L3 ;AL为0则跳L3CODE ENDSEND START八、实验波形(1)方波:方波幅值:5.36V方波周期:2.64ms(2)锯齿波锯齿波幅值:5.36V锯齿波周期:2.36ms(3)三角波:三角波幅值:5.36V三角波周期:5.80ms九、问答题1、DAC产生波形的频率如何调节?频率上限的限制取决于哪些因素?答:只要调节延时

24、程序就可以实现改变频率,如NOP指令。三角波和锯齿波的频率除了取决于程序执行的长度,及延时时间,还取决于CPU频率和转换频率。频率的上限取决于CPU频率和转换频率。2、如果要求产生正弦波一般用什么方法实现?具体如何实施的(给个方案)。答:先确定采样频率,把一个周期平分为N份,算出每一份对应的正弦值;每隔1/N周期,送算出的N个数值;N越大正弦波形越明显,但不能超过系统频率。十、心得体会D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。本次实验让我了解到了D/A转换的基本原理,初步掌握了DAC0832芯片的性能和使用方法以及对应的硬件功能,通过对锯齿波、三角波以及方

25、波程序的编写,对编程的整体把握有了进一步的提高,实验中对示波器的使用我又了解到了测量波形电压值和周期的方法。三个不同程序的编写让我对它了解又进了一步。实验五 A/D转换器实验一、实验目的了解模/数转换基本原理,掌握 ADC0809 的使用方法。掌握 A/D 转换与计算机的接口方法,了解 ADC0809 芯片的转换性能及编程,了解计算机如何进行数据采集。二、实验内容编写程序,用查询方式采样输入模拟电压(模拟量电压从实验装置的电位器接入),并将其转换为二进制数字量,用发光二极管显示。三、实验区域电路连接图连线如下所示:IN0 AOUT1(可调电压,VIN+5V);IOWRIOWR;IORDIORD

26、;CLK500K(单脉冲与时钟单元);ADDA、ADDB、ADDCGND;CS48000H;JX6JX17(数据总线)四、编程指南ADC0809 的 START 端为 A/D 转换启动信号,ALE 端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始 A/D 采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:MOV DX,ADPORT ;ADC0809 端口地址OUT DX,AL ;发 CS 和 WR 信号并送通道地址A/D 转换芯片为逐次逼近型,精度为8位,每转换一次约100微秒,所以程序若为查询式,则在启动后要加适当延时。用延时方式等待A/D转换

27、结果,使用下述指令读取A/D 转换结果。MOV DX,ADPORT ;ADC0809 端口地址IN AL, DX循环不断采样 A/D 转换的结果,边采样边显示A/D转换后的数字量。五、程序框图六、实验步骤按连线图连接好,参考实验一连接8255和LED让ADC转换结果在LED上显示。电位器只需连接中心抽头,电源内部已经连接好了(电位器无需连接电源,以防短路)。检查无误后打开实验箱电源。在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。运行程序后,观察LED显示,记录代码,计算获得的代码是否与输入电压符合。如果显示的代码末位跳动厉害,影响观察,可以插入延时(大概1秒左右)。如果运行不

28、正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。修改程序把延时获取A/D数据的方式改成查询EOC获取A/D数据的方式,指定8255的PB3接EOC。七、实验程序清单及注释(1)查询方式CODE SEGMENTASSUME CS: CODEORG 1000HSTART: MOV DX,0FF2BH ;8255控制口地址 MOV AL, B OUT DX,AL ;8255初始化 LOP1: MOV DX, 8000H ;0809地址 MOV AL, 0 OUT DX,AL ;发CS和WR信号并送通道地址,开始转换 MOV BL, 255 DELAY: DEC BL JNZ DELAY

29、 ;延时 MOV DX, 8000H IN AL,DX ;读取转换后数据 NOT AL ;取反,因为LED是共阳极,0才是亮,代表1;同理,1代表0,故需取反。 MOV DX,0FF28H ;8255的A口地址 OUT DX,AL ;输出到A口点亮LED JMP LOP1 CODE ENDSEND START(2)EOC方式CODE SEGMENTASSUME CS: CODEORG 1000HSTART: MOV DX, 0FF2BH MOV AL,B ;8255初始化 OUT DX, AL LOP1: MOV DX, 8000H MOV AL, 0 OUT DX,AL ;启动转换 LOP2: MOV DX, 0FF29H IN AL,DX ;读取8255B口数据 TEST AL,00001000B ;监测PB3是否为1 JZ LOP2 ;不为1继续监测 MOV DX, 8000H IN AL,DX ;为1,说明转换完成,读取结果 NOT AL MOV DX, 0FF28H OUT DX, AL JMP LOP1 CODE ENDSEND START八、实验数据A:查询方式:(1

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

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