北大自考微机接口上机题_第1页
北大自考微机接口上机题_第2页
北大自考微机接口上机题_第3页
北大自考微机接口上机题_第4页
北大自考微机接口上机题_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、8255Ac口低四位输入,a口输出到数码段,当pc0=0 时,a口输出是加一循环(0f),pc0=1时,a口输出是减一循环(f0),输出时延一秒钟,有键按下就退出.data segmentleddb 71h,79h,3fh,39h,7fh,77h,67h,7fhdb 07h,7ch,6dh,6eh,4fh,5bh,06h,3fhcount db 0(定义循环初始值为零)data endscode segment assumecs:code,ds:datastart: mov ax,datamov ds,axmov dx,28bhmov al,81hout dx,al(8255初始化)input

2、:mov dx,28ahin al,dxand al,0fhand al,01h(判断pc0)jza1mov al,countand al,0fh(要屏蔽高四位,以免超过15后出乱码)lea bx,ledxlatmov dx,288hout dx,alcall delay(延迟子程序老师会给出)dec countmov ah,1int 16hjz input(判断是否有键按下,无则继续判断pc0)jmp a2(有则返回dos)a1: mov al,countand al,0fhlea bx,ledxlatmov dx,288hout dx,alcall delayinc countmov ah

3、,1int 16hjz inputa2: mov ah,4chint 21hdelay proc near.delay endpcode endsend start这道题难在寄存器的使用不能冲突,我就是因为一个bl的使用弄的头都大了,还好最后做出来了!庆幸!我是那天考试第一个出来的!3月24号上午考试题今天上午的接口题,感觉还可以!8255的Pc0=0时,A口输出接到L0-L7的信号灯上。要求L0-L7隔一个亮一个。(亮灭亮灭亮灭亮灭)每过一秒让灯左移一位。其实就是。(灭亮灭亮灭亮灭亮)延迟程序老师给出。当Pc0=1时,要求L0-L7每隔两个亮两个(灭灭亮亮灭灭亮亮),每过一秒让灯左移2位,其

4、实就是(亮亮灭灭亮亮灭灭)。没有键按下循环显示,有键按下返回DOS!其实只要大家把题意给弄明白就好办了。3月25号下午接口题8255的PA0=0时,C口输出接到L0-L7的信号灯上。要求L0-L7隔一个亮一个。(亮灭亮灭亮灭亮灭)每过一秒让灯左移一位,循环显示。其实就是。(灭亮灭亮灭亮灭亮)延迟程序老师给出。当PA0=1时,要求L0-L7每隔两个亮两个(灭灭亮亮灭灭亮亮),每过幻肴玫谱笠?位,也循环显示。其实就是(亮亮灭灭亮亮灭灭)。没有键按下循环显示,有键按下返回DOS!9月6日上午题 8255Ac口低四位输入,a口输出到数码段,当pc0=0 时,a口输出是加一循环(0f),pc0=1时,a

5、口输出是减一循环(f0),输出时延一秒钟,有键按下就退出.data segmentleddb 71h,79h,3fh,39h,7fh,77h,67h,7fhdb 07h,7ch,6dh,6eh,4fh,5bh,06h,3fhcount db 0(定义循环初始值为零)data endscode segment assumecs:code,ds:datastart: mov ax,datamov ds,axmov dx,28bhmov al,81hout dx,al(8255初始化)input:mov dx,28ahin al,dxand al,0fhand al,01h(判断pc0)jza1mo

6、v al,countand al,0fh(要屏蔽高四位,以免超过15后出乱码)lea bx,ledxlatmov dx,288hout dx,alcall delay(延迟子程序老师会给出)dec countmov ah,1int 16hjz input(判断是否有键按下,无则继续判断pc0)jmp a2(有则返回dos)a1: mov al,countand al,0fhlea bx,ledxlatmov dx,288hout dx,alcall delayinc countmov ah,1int 16hjz inputa2: mov ah,4chint 21hdelay proc near

7、.delay endpcode endsend start9月7日上午考题8255方式0,从C口输入一个数最大值为0FFH,再检测C0输入的数据,如为1,则+1,从A口输出,如为0,则1从A口输出,延时一秒,有键按下则退出code segmentassume cs:codestart:mov al,89hmov dx,28bhout dx ,almov dx,28ahin al,dxmov bl,almov cl,all:mov dx,28ahin al,dxtest al,1jz ainc blmov al,bljmp ba:dec clmov al,clb:mov dx,288hout d

8、x.almov ah,16hint 21hjz lmov ah,4chint 21hdelay proc near.dalay endpcode endsend start9月7号下午考题8253clk0输入1MHZ脉冲,OUT1输出1HZ到8255C囗,若PC0=1,则PA囗输出,若PC0=0,则PA囗输出。不难吧!我二十分钟就搞定了。答案太长了,我给出一部分吧。初始化部分l1:movdx,281h in al,dxmov dx,28ahout dx,almov dx,28ahin al,dxtest al,01jz l2mov dx,288hmov al,cchout dx,aljmp l

9、3l2: mov dx,288hmov al,33hout dx,all3:mov ah.01hint 16hjz l1mov ah,4chint 21h9月8日接口上午题8253方式0,通道1,计数初值来自8255A口低四位,将计数结果从8255C口显示至七段数码管,并从8255A口高四位输出到指示灯高四位,键盘有键按下返回DOS,否则继续执行.9月10日下午考题 8253通道1方式0,记数初值3,out1输出到pa0口,8255方式0,a口输入,c 口输出到LED灯上,当PA0=0时,-循环,当PA0=1时,-循环,有键按下返回DOS.月11号上午的考题 8253性质通道1方式0,手动输入

10、单脉冲,out1给8255的pa0,8255a口输入c口输出给个指示灯。当pa0的时候指示灯每隔一个亮,且间隔一秒当pa0的时候指示灯每隔两个亮,且间隔一秒9月13日北大上机接口考题 这几天北大上机考试都开始了,这几天考的接口上机考题都有一些难度,至少比上次考的难些!今天下午的考题是: 8255的A口交替输出AAh和55h,时间间隔为1秒。当8253方式0输入三个单脉冲事终止。8253为通道1。12.21下午2:40-5:40的考试题用8253,1通道,0方式,初值0FH,用8255A的PC口接7段数码管(LE0-LE7,面包版上的7个等)显示。大概意思就是8253记数器记的内容用8255的P

11、C口输出。12月22日中午接口上机考题8255:方式0,C口高四位输入,A低四位输出8253:计数器0,方式0,从C口读入计数器初值,手动逐个输入单脉冲,并在A口显示其值。code segment assumecs:code (A口:280h,B口:281h)start:movdx,283houtdx,hloop: in al,282hmovcl,4shral,clout280h,almovah,1int16hje loopmovah,4chint21h code segmentendstart12月23日上午 接口实践题 编一个程序,用8255从C口的低四位输入,求反后从C口的高四位输出.

12、答案:code segment start:mov dx,28bh ;控制口地址 mov al,81h;81H out dx,al inout:mov dx,28ah ;从C口地址输入 inal,dx not al;这一段就是考试最容易变化的 and al, 0fh mov cl,4 rol al,cl mov dx ,28ah;从C口输出 out dx,al mov ah,1 int 16h jzinout ;无键按下则继续循环 mov ah,4ch int 21h codeends endstart23日中午的接口上机题题目:编程8255,从A口输入,高四位不变,低四位求返,从C口输出另要

13、求在卷子上写出方式自,接线图,与练习部分不同的程序方式字:接线图:A口接K口做输入,C口接LED做输出程序如下:code segmentassume cs:codestart: mov dx,28bhmov al,90hout dx,alinout:mov dx,288hin al,dxxor al,0fhmov dx,28ahout dx,al.(其余与练习部分一致)code endsend start上机主要考8255,8253把8255,8253的初始化部分理解透了(书上有),就很简单了,有练习,老师带着大家先做1小时,这时有问题可以及时问,老师态度很和蔼,好像是研究生.练习题与北大出的

14、上机介绍的书上的一模一样,事先把题理解一下,到时可以在真实环境下做一下.北大接口(新考法!)这次上机主要是两个板子的结合考法,希望各位同学好好看看书! 22号,中午试题 8253,通道0,方式0,初始值从8255的C口输入,8255的PC口高四位输入,PA口输出到LED 我考的是 8253的一通道 在0方式下 计数 计数初始值为 0fh 用单脉冲控制在显示器上回显计数值并在显示芯片 c口输出以0f显示 完成以上及格附加题是 使显示顺序 以 0f递增 因为计数器是减一计数23号下机题8253选用通道1, 方式1硬件可重触发单稳态, 计数初值0Fh, 用8255 A口输出到7段LED显示屏, CL

15、K1接单脉冲, OUT1接逻辑笔,GATE1接K7开关8255 方式字1000xxxx=80H, 端口288-28BH8253 方式字=52H, 端口280-283HDATA SEGMENTLED DB (7段LED显示码,具体数字我记不清了,在考试时会给出的)DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV DX, 28BH MOV AL, 80H OUT DX, AL; 对8255初始化 MOV DX, 283H MOV AL, 52H OUT DX, AL; 8253初始化 MO

16、V DX, 281H MOV AL, 0FH OUT DX, AL; 读计数初值INOUT: MOV DX, 281H INAL, DX AND AL, 0FH LEA BX, LED XLAT MOV DX, 288H OUT DX, AL MOV AH, 1 INT 16H JZ INOUT; 若无键盘输入则继续 MOV AH, 4CH INT 21HCODE ENDS END START12月24日下午考题!(下午14点20这一场)从8255的A口输入、C口输出,如果A口输入的数大于或等于128,从C口输出80H,否则将输入数字高四位不变,低四位求反,从C口输出!唉,一个小错让我折了,希

17、望大家比我强,能取得好成绩!2003年12月24号上午8:0011:00点的接口实验题从8255的c口低4位输入数据,然后取反从c口高4位输出,有键按下就返回dos,没有键按下就继续循环从c口输入输出数据。 26号中午上机题用计数器/定时器8253,通道1,方式0,计数器初值为0fh,手动单脉冲控制从8255a口输出到数码器,以递增的顺序显示0f。要求:写出控制方式字,初值和连线图。26号上午8:00-11:00接口上机题目:8255的A口接发光二级管,使发光二级管的L0-L7循环依次发光,且每个灯亮持续一秒钟(须用延时一秒的子程序,老师会写在黑板上),若键盘有键按下则退出,返回DOS我做的参

18、考答案:、方式控制字为 B=80H、连线图(略)、程序: CODESEGMENT ASSUME CS:CODE START: MOV DX,28BHMOV AL,80HOUT DX,AL MOV DX,288HLOP:MOV BL, 01HINOUT:CMP BL,0JZLOPMOV AL,BLOUT DX,ALCALL DELAYSHL BL,1MOV AH,1INT 16HJZINOUTMOV AH,4CHINT 21H CODE ENDSEND START注:延时子程序老师会给出,我这里就没写,有兴趣的同学可以自己翻翻书,书上有的;解释一下为什么要用BL来传递要显示的数,而不直接用AL:

19、因为INT 16H这条指令的作用是看是否有键按下,所以可能用了AL来存放按下的键的ASCII码(就像INT 21H的二号调用放到AL一样),再执行CMP AL,0无键按,则AL为0,有键按就非0了。由此改了AL的值,直接用AL放数会错的!我当时想破了脑袋,差点没气死:) 祝后面考的同学考好!题目:把一个1mhz的脉冲通过两次分频转换成1hz的方波。(通道0、通道1、通道2、控制字地址 分别为280h,281h,282h,283h)答案:code segment assume cs:codestart:mov dx,283h out dx,b ;选中通道0,工作在3方式下,对bcd码自减 mov

20、 dx,280h mov al,0h out dx,al mov al,10h out dx,al mov dx,283h out dx,b ;选中通道1,工作在3方式下,对bcd码自减 mov dx,281h mov al,0h out dx,al mov al,10h out dx,alcode segment end start注:连线:clk0-1mhzgate0-1out0-clk1gate1-1out1-逻辑笔 分享接口上机总结!1:题目:A口输入,C口输出。如果A口最高位A7输入是0则指示灯L5,L2亮,如果A口最高位A7输入是1,则指示灯L7,L0亮,实际上就是对应C口的C5,

21、C2,C7,C0是高电平还是低电平。端口地址:A口288h,B口289h,C口28ah,D口28bh参考答案: code segment assume cs:code start: mov dx,28bhmov al,90h ;=90hout dx,al;设定为a口输入c口输出mov dx,28ahmov al,24h ;=24h L5,L2为1out dx,al;设定初始状态为A7等于0,此时L5,L2亮input:mov dx,288hin al,dx;读入A口状态cmp al,80h;=81h A7=1jne aa;如果A7是0就跳转接着读入mov al,81hmov dx,28ah;如

22、果A7是1就向C口输出指示灯L7,L0亮的数据out dx,al aa:mov ah,1int 16hjz inputmov ah,4chint 21hcode endsend start 2:题目:把一个1mhz的脉冲通过两次分频转换成1hz的方波。(通道0、通道1、通道2、控制字地址 分别为280h,281h,282h,283h)答案:code segment assume cs:code start:mov dx,283h out dx,b ;选中通道0,工作在3方式下,对bcd码自减 mov dx,280h mov al,0h out dx,al mov al,10h out dx,a

23、l mov dx,283h out dx,b ;选中通道1,工作在3方式下,对bcd码自减 mov dx,281h mov al,0h out dx,al mov al,10h out dx,alcode segment end start注:连线:clk0-1mhzgate0-1out0-clk1gate1-1out1-逻辑笔3:题目是用方式0,pa作输出,pc作输入,高2位求反,低6位不变,并且程序能够循环,只在接收到键盘有输入字符时,结束程序并退回到DOS界面。方式0pa输入,pc输出,高2位求反,低6位不变程序如下: 只是循环忘了怎么做了code segmentassume cs:co

24、deinput:mov al,90h初始化,方式选择控制字 Bmov dx,28bhout dx,al mov dx,288h 从PA口接受输入in al,dxxor al ,0c0h 将输入端的高2位求反,第6位不变movdx,28ah 输出到PC口out dx,almov ah,4ch int 21hcode ends end input 北大接口所有上机类型题目和答案各位自考的同伴们,这里是接口上机考试的各种类型题,只要你把这些题吃透了,我想北大的接口上机考试你们就可以放心了,我把这些题的答案也给出来了,供大家参考,每条程序都调试并连接在实验箱运行过,而且输出结果全部正确。题目如下: 1

25、从键盘上输入09,通过8255方式0,A口输出,输出在数码管上显示相应数字(即我在键盘上输入5,则在数码管上显示5)。 28255方式0,A口输入,输入的数高4位不变低4位取反,在8255的C口输出,有键按下返回DOS,无键按下继续执行。 38255方式0,C口低4位输入数据取反,在8255的C口高4位输出,有键按下返回DOS,无键按下继续执行。 48255方式0,A口输入,C口输出。如果A口输入的数大于等于128,从C口输出80H;否则将输入的数高4位不变低4位取反从C口输出,有键按下返回DOS,无键按下继续执行。 58255方式0,A口输入C口输出,如果A口的PA7输入为0,则L5、L2灯

26、亮,PA7 为1,则L7、L0灯亮,有键按下返回DOS,无键按下继续执行。 68255方式0,A口输出C口输入,C口输入高2为位取反低6位不变,用键盘控制 程序,有键按下返回DOS,无键按下程序继续执行。 78255方式0,A口输出到LED灯上,让灯按顺序从左到右移动显示,每显示一个灯 延时一秒在显示下一个灯,有键按下返回DOS,无键按下继续执行。 88255方式0,C口输入0Fh,A口输出在数码管上显示和计算机显示器显示相应数, 有键按下返回DOS,无键按下继续执行。 98255方式0,C口输入0Fh,A口输出在数码管上显示对应数,计算机显示器显示该数加1, 有键按下返回DOS,无键按下继续

27、执行。(在计算机显示器上即输入0显示1,输入F时显示G)。 108253通道0方式0,计数值为Fh,手动逐个输入脉冲,从计算机显示器上显示对 应的数。 118253通道0方式0,从8255C口读入计数值,手动逐个输入脉冲,从A口输出在 数码管显示其值。 128253通道1方式1(硬件可重触发),计数值0Fh,用8255A口输出在数码管显示值, 有键按下返回DOS,无键按下继续执行。 138253通道1方式0,计数值为0Fh,手动逐个输入脉冲,用8255C口输出在数码管 显示其值,并在计算机显示器显示,但计算机上显示顺序为0F递增。1从键盘上输入09,通过8255方式0,A口输出,输出在数码管上

28、显示相应数字(即我在键盘上输入5,则在数码管上显示5)。 datasegment num1db please input a number(0-9):,0dh,0ah,$ leddb 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh data ends codesegment assumecs:code,ds:data start:mov ax,data mov ds,ax mov dx,28bh mov al,80h outdx,al l1:callcrlf leadx,num1 mov ah,09h int21h mov ah,01h int21h cmp a

29、l,0 jb exit cmp al,9 ja exit sub al,30h leabx,led xlat mov dx,288h outdx,al jmpl1 exit:movah,4ch int 21h crlf proc near mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int21h ret crlfendp codeends end start 28255方式0,A口输入,输入的数高4位不变低4位取反,在8255的C口输出,有键按下返回DOS,无键按下继续执行。 codesegment assumecs:code sta

30、rt:movdx,28bh moval,90h out dx,al l1:mov dx,288h inal,dx xor al,0fh movdx,28ah out dx,al movah,1 int 16h jzl1 mov ah,4ch int21h codeends endstart 38255方式0,C口低4位输入数据取反,在8255的C口高4位输出,有键按下返回DOS,无键按下继续执行。 code segment assume cs:code start: mov dx,28bh mov al,81h outdx,al l1: mov dx,28ah in al,dx mov cl,

31、4 shl al,cl xoral,0f0h mov dx,28ah outdx,al mov ah,1 int16h jz l1 mov ah,4ch int21h code ends 4。8255方式0,A口输入,C口输出。如果A口输入的数大于等于128,从C口输出 80H;否则将输入的数高4位不变低4位取反从C口输出,有键按下返回DOS,无键按下继续执行。 code segment assume cs:code start: mov dx,28bh mov al,90h outdx,al l3: mov dx,288h in al,dx cmp al,80h jae l1 xoral,0

32、fh mov dx,28ah outdx,al l2: mov ah,1 int 16h jz l3 mov ah,4ch int21h l1: mov al,80h mov dx,28ah outdx,al jmpl2 code ends end start 58255方式0,A口输入C口输出,如果A口的PA7输入为0,则L5、L2灯亮,PA7 为1,则L7、L0灯亮,有键按下返回DOS,无键按下继续执行。 code segment assume cs:code start: mov dx,28bh mov al,90h outdx,al l3: mov dx,288h in al,dx testal,80h jzl1 mov al,81h mov dx,28ah outdx,al l2: mov ah,1 int 16h jzl3 mov ah,4ch int 21h l1: mov dx,28ah mov al,24h outdx,al jmpl2 code ends endstart 68255方式0,A口输出C口输入,C口输入高2为位取反低6位不变,用键盘控制 程序,有键按下返回DOS,无键按下程序继续执行 codesegment assumecs:code start: m

温馨提示

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

评论

0/150

提交评论