电子信息工程专业课程实习报告微机原理与接口技术课程实习报告_第1页
电子信息工程专业课程实习报告微机原理与接口技术课程实习报告_第2页
电子信息工程专业课程实习报告微机原理与接口技术课程实习报告_第3页
电子信息工程专业课程实习报告微机原理与接口技术课程实习报告_第4页
电子信息工程专业课程实习报告微机原理与接口技术课程实习报告_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、电子信息工程专业课程实习报告课程名称: 微机原理与接口技术 系别: 电 子 技 术 系 专业: 电 子 信 息 工 程 学号: 03742010021 指导教师:李伟春、梁春美、郑卫娟、盛碧琦 完成时间: 2013.12.20 项目一 定时应用实验的变型 利用8253芯片生成方波 用led灯发出信号显现一、实习目的1. 掌握8253的工作方式及应用编程。2. 掌握8253典型应用电路的接法。3. 掌握8253的在pc系统中的典型应用方法。二、实习内容(一)工作原理1.8253具有以下基本功能:l 有3个独立的16位计数器;l 每个计数器可按二进制或十进制(bcd)计数;l 每个计数器可编程工作

2、于6种不同工作方式;l 8253每个计数器允许的最高计数频率为2mh;l 计数脉冲可以是有规律的时钟信号,也可以是随意信号。l 计数器的初值公式为n=其中是输入时钟脉冲的频率,是输出波形的频率。2.8253的工作方式如下:u 方式0计数到0结束输出正跃变信号(可作为中断请求信号)u 方式1硬件可触发单稳方式(形成负脉冲,宽度=n×clk脉冲周期)u 方式2频率发生器方式(输出固定频率的脉冲)u 方式3方波发生器u 方式4软件触发选通方式(输出负脉冲,宽度为一个clk周期)u 方式5硬件触发选通方式(输出负脉冲,宽度为一个clk周期)(二)工作方法1.学习过程采取理论知识补充和网上相关

3、视频的查找学习相结合的方式,分层次的进行步骤演练2.下载网上的模版,针对有一定难度的综合性实践操作进行演练和对比,找出自身仍旧存在的不足,进行进一步的完善。3.结合周边同学的实践经验和体会进行交流,并从中学习提高(三)实施过程1.首先明确8253芯片中的各个接口所代表的含义,按照实验要求,对照于8253芯片所独自具有的特性,链接如下图图1所示。2根据实验内容编写实验程序,经编译、链接无误后装入系统。3运行实验程序,产生的方波通过led灯显示信号,观察最终结果。图1 8253定时应用实验接线图三、实习心得1. 明白了锁存的重要性,掌握了给计数器写入初值,及脉冲的作用,也明白了循环取计数器当前的计

4、数值的方法。2. 但实验结果最终还是不成功,经过多次试验也不能到正确结果,我的水平太有限了,仔细阅读程序也未发现错误,还需进一步努力学习。项目二 基本输入输出实验的变型 利用开关拨动利用8255 芯片使数据灯显示发生变化一、实习目的1.利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255pa口作输出,pb口作输入2.了解8255芯片结构及编程方法3.了解8255输入输出实验方法二、实习内容(一)工作原理利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255pa口作输出,pb口作输入。8255的cs/接地址译码/cs0,则命令字地址为8003h,pa口地址为8000h,

5、pb口地址为8001h,pc口地址为8002h。pa0-pa7(pa口)接led0-led7(led)pb0-pb7(pb口)接k0-k7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。可编程通用接口芯片8255a有三个八位的并行i/o口,它有三种工作方式。本实验采用的是方式0:pa,pc口输出,pb口输入。很多i/o实验都可以通过8255来实现。(二)工作方法1.学习过程采取理论知识补充和网上相关视频的查找学习相结合的方式,分层次的进行步骤演练2.下载网上的模版,针对有一定难度的综合性实践操作进行演练和对比,找出自身仍旧存在的不足,进行进一步的完善。3.结合周边同学的实践经验和体

6、会进行交流,并从中学习提高(三)实施过程1.在实验箱断电的情况下连好线。(实验一连接序号1-9;实验二连接序号1-17)连线连接孔1连接孔21cs08255cs2l08255-pa03l18255-pa14l28255-pa25l38255-pa36l48255-pa47l58255-pa58l68255-pa69l78255-pa710k08255-pb011k18255-pb112k28255-pb213k38255-pb314k48255-pb415k58255-pb516k68255-pb617k78255-pb7(2) 输入程序并检查,保存程序。(3) “编译”程序。(4) “全速执

7、行”程序。(5) 记录实验结果及分析。三、实习心得这个实验我们使用了两种方式感受8255这款芯片的输入输出效果,通过这个实验,我对工作方式选择控制字的有了进一步的了解,知道怎么控制字,也知道它们之间的通信过程。项目三 自发自收实验的变型 利用8251芯片对于字符 的ascii码进行自发自收一、实习目的1、了解串行通讯的基本原理。2、掌握串行接口芯片8251的工作原理和编程方法。二、实习内容(一)工作原理(1)按图连接好电路 (8251 插在带锁通用插座d 上),其中8253 计数器用于产生8251 的发送和接收时钟,txd 和rxd 直接相连;(2)编写测试程序,初始化8251,实现连续发送固

8、定字符,用示波器观察发送波形,试用多种不同字符格式和字符;(3)编程实现从键盘输入一个字符, 将其ascii 码加1 后发送出去,再接收回来在屏幕上显示,实现自发自收;(4)若在调试方式下用命令或单步初始化8251,用端口输出(发送)和输入(接收)检查硬件;编程简单周期连续发送,用示波器观察发送过程和波特率(波形)。(二)工作方法1.学习过程采取理论知识补充和网上相关视频的查找学习相结合的方式,分层次的进行步骤演练2.下载网上的模版,针对有一定难度的综合性实践操作进行演练和对比,找出自身仍旧存在的不足,进行进一步的完善。3.结合周边同学的实践经验和体会进行交流,并从中学习提高(三)实施过程1、

9、实验连线连接138译码输入端a.b.c,其中a连a2,b连a3,c连a4,138使能控制输入端g与总线单元上方的gs相连。将8251串行通信单元的t/rxc与分频单元的t6相连,clk与分频单元的t0相连,8251cs与译码单元的y0相连,将8251串行通信单元rxd与txd相连。用8芯扁平电缆将8251串行通信单元的数据总线插座与数据总线单元任一插座相连。2、led环境在“p.”状态下按“0ev/un”,装载实验所需的代码程序。在4000-400fh内存单元中填入16个数据。在“p.”状态下键入35c0,然后按“exec”进入实验项目的运行。3、pc环境在与pc联机状态下,编译、连接、下载p

10、h88.asm,用连续方式运行程序。4、观察运行结果在连续运行下,8251开始将4000400fh内存单元的数据发送串行口,再从串行口接收数据并存到5000-500fh内存单元,当led显示“p.”则表示操作完成。用复位命令结束程序,检查5000-500fh内存单元的数据,应与4000-400fh一致。5、终止运行按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出该程序的运行返回监控状态。本程序为8251串行通信自发自收实验;pc发送、8251接收程序请装载 ph888251r.asm;8251发送、pc接收程序请装载 ph888251t.asmz8251 equ 0ffe1hd8251

11、 equ 0ffe0hzxk equ 0ffdchzwk equ 0ffddhcode segment assume cs:code,ds:code,es:code org 35c0h ;tx=rx;=修改开始start: mov dx,z8251 mov al,00h out dx,al mov al,00h out dx,al mov al,00h out dx,al mov al,40h out dx,al mov al,0ceh out dx,al mov al,25h out dx,al;=修改结束 mov al,01h mov bx,0400h mov bx,alsr0: call

12、 wp mov si,4000h mov di,5000h mov cx,0010hsr1: mov ah,si call send call rx mov di,ah inc si inc di loop sr1sr2: call dis jmp sr2rx: mov dx,z8251rx1: in al,dx test al,02h jz rx1 mov dx,d8251 in al,dx mov ah,al ret;-wp: mov buf,11h mov buf+1,10h mov buf+2,10h mov buf+3,10h mov buf+4,10h mov buf+5,10h

13、ret;-send: mov dx,z8251w1: in al,dx test al,01h jz w1 mov dx,d8251 mov al,ah out dx,al ret;-dis: mov cl,20h mov bx,offset bufdis1: mov al,bx push bx mov bx,offset led xlat pop bx mov dx,zxk out dx,al mov al,cl mov dx,zwk out dx,al push cx mov cx,0100hdelay: loop $ pop cx cmp cl,01h jz exit inc bx sh

14、r cl,1 jmp dis1exit: mov al,00h mov dx,zwk out dx,al ret;-led db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h db 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch,0deh,0f3hbuf db ;-code ends end start三、实习心得这次的实验十分有趣,通过此次试验。对于8251的模式有了一个清楚的了解,并掌握了8251芯片串行通信方式的硬件接口电路和软件编辑设计,由于有了之前实验所做的铺垫,此次实验做得较为顺利,得到了理想的结果。项目四 中断控制

15、实验的变型 利用8259中断控制器的中断控 制单元icu单一终端进行计数一、实习目的掌握8259中断控制器的接口方法。 掌握8259中断控制器的应用编程。二、实习内容(一)工作原理8259芯片介绍中断控制器8259a是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259a进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259a的级联,能构成多达64级的矢量中断系统。本实验中使用3号中断源ir3, “ ”插孔和ir3相连,中断

16、方式为边沿触发方式,每拨二次an开关产生一次中断,满5次中断,显示“8259good”。如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“err”。(二)工作方法1.学习过程采取理论知识补充和网上相关视频的查找学习相结合的方式,分层次的进行步骤演练2.下载网上的模版,针对有一定难度的综合性实践操作进行演练和对比,找出自身仍旧存在的不足,进行进一步的完善。3.结合周边同学的实践经验和体会进行交流,并从中学习提高(三)实施过程1、按图连好实验线路图。 8259的int连8088的intr; 8259的inta连8088的inta;“ ”插孔和8259的3号中断ir3插孔相连,“ ”端初始

17、为低电平; 8259的cs端接ff80h孔; 连jx4jx17。2、dj-8086k软件启动和联机 启动和联机。双击桌面上dj-8086k快捷图标,即可运行dj-8086k软件; 新建文件:单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序编辑窗口,此时可在此窗口编辑、输入源程序(注:新建文件扩展名为 .asm)。或打开文件f3:单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。;3、调试程序 编译装载f9:打开源文件,依次单击:调试”“编译装载f9”或工具栏上的编译装载图标,状态栏会提示正在编译、编译成功、正在装

18、载数据、装载数据结束,几秒钟后便会弹出源文件调试窗口,如编译出错,会提示错误信息,待修改源文件正确后,重新编译装载即可; 连续运行;单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即全速连续运行程序,系统显示82591。 在系统处于命令提示符“p.”状态下,输入12d0,按exec键, 系统显示82591。 拨动an开关按钮, 按满6次显示good。程序如下:code segment ;h8259.asmassume cs:codeintport1 equ 0ff80hintport2 equ 0ff81hintq3 equ intreeup3intq7 equ intreeup

19、7pa equ 0ff20h ;字位口pb equ 0ff21h ;字形口pc equ 0ff22h ;键入口org 12d0hstart: jmp start0buf db intcnt db ?data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8fhstart0:cldcall buf1call wrintver ;write intrruptmov al,13hmov dx,intport1out dx

20、,almov al,08hmov dx,intport2out dx,almov al,09hout dx,almov al,0f7hout dx,almov intcnt,01h;time=1stiwating: call disp ;disp 8259-1jmp watingwrintver:mov ax,0h mov es,ax mov di,002ch lea ax,intq3 stosw mov ax,0000h stosw mov di,003ch lea ax,intq7stosw mov ax,0000h stosw retintreeup3:cli push ax push

21、bx push cx push dx mov al,intcnt call convers mov bx,offset buf ;077bh mov al,10h mov cx,05hintre0: mov bx al inc bx loop intre0 mov al,20h mov dx,intport1 out dx,al add intcnt,01h cmp intcnt,06h jna intre2 call buf2 ;disp:goodintre1: call disp jmp intre1convers: and al,0fh mov bx,offset buf ;077ah

22、mov bx+5,al retintre2: mov al,20h mov dx,intport1 out dx,al pop dx pop cx pop bx pop ax sti iretintreeup7:cli mov al,20h mov dx,intport1 out dx,al call buf3 ;disp:errintre3: call disp jmp intre3disp: mov al,0ffh ;00hmov dx,paout dx,almov cl,0dfh ;20h ;显示子程序 ,5msmov bx,offset bufdis1: mov al,bx mov a

23、h,00h push bx mov bx,offset data1 add bx,ax mov al,bxpop bxmov dx,pbout dx,almov al,clmov dx,paout dx,alpush cxdis2:mov cx,00a0h loop $ pop cxcmp cl,0feh ;01hjz lx1inc bxror cl,1 ;shr cl,1jmp dis1lx1: mov al,0ffhmov dx,pbout dx,alretbuf1: mov buf,08h mov buf+1,02h mov buf+2,05h mov buf+3,09h mov buf

24、+4,17h mov buf+5,01h retbuf2: mov buf,09h mov buf+1,00h mov buf+2,00h mov buf+3,0dh mov buf+4,10h mov buf+5,10h retbuf3: mov buf,0eh mov buf+1,18h mov buf+2,18h mov buf+3,10h mov buf+4,10h mov buf+5,10h retcode endsend start三、实习心得在实际操作过程中,在连接好电路之后,由于设备等实际问题,导致实验过程中试验台与题目要求不能很好的联系在一起,最终试验台的led显像管不能准确

25、显示出来。待添加的隐藏文字内容3项目五 投票仪设计 利用8253、8255、8259 芯片生成投票系统一、实习目的1熟练掌握8253、8255、8259和其他设备的连线,同时考察程序整体思路的严谨性。2、对于几个芯片的综合性合成运用打下一定的基础。二、实习内容(一)工作原理要实现投票仪,需要四个步骤1、按复位键 2、开始投票 3、统计结果 4、显示结果我通过8255的b口显示led灯,a口读取开关状态,k0,k2,k4,k6为赞成,k1,k3,k5,k7为反对,c口的高四位用来控制led灯的显示顺序,c口的低四位连接8253的out口,达到定时的效果。8253的clk连接cpu时钟。kk1连接

26、8259的7号中断,起到复位键的作用。(二)工作方法1.学习过程采取理论知识补充和网上相关视频的查找学习相结合的方式,分层次的进行步骤演练2.下载网上的模版,针对有一定难度的综合性实践操作进行演练和对比,找出自身仍旧存在的不足,进行进一步的完善。3.结合周边同学的实践经验和体会进行交流,并从中学习提高(三)实施过程设计四人投票仪,按下复位键后开始投票,每人用两个开关表示赞成和反对,投票时间为1秒,到时间两开关都未动作表示弃权,统计赞成、反对和弃权的人数并在数码管上显示出来。流程图开始 设置中断向量,设置7波段码值 是开关状态全0并且kk1按下 否否k0=k1=1 是 读取开关状态,进行投票统计

27、,显示结果投票结束时间到 否 是 程序如下所示:code segment assume cs:codestart: mov ax,0000h ;初始化ds段 mov ds,ax mov ax,offset irq7 ;设置中断向量表 mov si,003ch ;设置偏移地址 mov si,ax mov ax,cs mov si,003eh ;设置cs段地址 mov si,ax cli ;关中断 mov al,10010001b ;8255控制字,a口输入,b口输出,c口高四位输出,低四位输入 out 63h,al mov si,3008h ;设置7波段码值 mov si,3fh mov si+

28、1,06h mov si+2,5bh mov si+3,4fh mov si+4,66h sti ;开中断 aa: mov al,0ffh ;屏蔽中断 out 21h,al in al,60h ;判断开关是否都为0 test al,0ffh jnz aa ;如果不为0,循环检测 mov al,7fh ;如果为0,取消7号中断屏蔽 out 21h,al jmp aa ;继续循环检测 irq7: mov di,3000h ;设置投票结果存储地址 mov di,0 mov cx,64h ;设置投票时间 mov al,0ffh ;led灯全开 out 61h,al arr: mov al,101101

29、10b ;8253延时 out 43h,al mov al,0h out 42h,al mov al,0h out 42h,al ar: in al,62h mov bl,00h and al,0ch sub bl,al jnz ar loop arr mov dl,04h ;设置循环次数,因为有四个人 mov dh,01h ;设置判断赞成人数向量 result:in al,60h ;读取a口状态,即投票结果,存入内存 mov di,al inc di ;指针加一,用来存放赞成人数 mov di,0 ;赞成人数清零 pdzc: test al,dh ;判断是否赞成 jnz zcgoon1: r

30、ol dh,2 ;判断向量循环左移2位 dec dl ;循环次数减一 jnz pdzc ;不为0,检测下一个人是否赞成 inc di ;指针加一,用来存放反对人数 mov di,0 ;反对人数清零 mov dh,02h ;设置判断反对人数向量 mov dl,04h ;设置循环次数 jmp pdfd zc: inc di ;赞成人数加一 jmp goon1 ;继续检测 pdfd: test al,dh ;同上 jnz fd goon2: rol dh,2 dec dl jnz pdfd mov al,0 jmp qq fd: inc di jmp goon2 qq: mov al,di ;取反对人数 add al,di-1 ;加上赞成人数 mov ah,4h sub ah,al ;用总人数减去反对加赞成,即为弃权人数 mov di+1,ah ;把弃权人数存到内存 dec di led: mov cx,2h ;设置时间向量 mov al,70h ;设置亮第一盏灯 out 62h,al mov bx,di-1 ;取出赞成人数 mov bl,bh an

温馨提示

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

评论

0/150

提交评论