32位接口实验指导 2

上传人:qiuji****ngye 文档编号:56776407 上传时间:2018-10-15 格式:PPT 页数:55 大小:3.20MB
返回 下载 相关 举报
32位接口实验指导 2_第1页
第1页 / 共55页
32位接口实验指导 2_第2页
第2页 / 共55页
32位接口实验指导 2_第3页
第3页 / 共55页
32位接口实验指导 2_第4页
第4页 / 共55页
32位接口实验指导 2_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《32位接口实验指导 2》由会员分享,可在线阅读,更多相关《32位接口实验指导 2(55页珍藏版)》请在金锄头文库上搜索。

1、32位接口实验指导西安理工大学计算机学院 2016,1,1.接口实验环境,2.8255方式0实验,3.8254方式2、3实验,接口实验指导,2,1.1 启动实验集成环境,1. 接口实验环境,3,1.1 启动实验集成环境,激活接口驱动程序,4,1.2 查看实验基本信息,实验接线图、端口地址与实验流程图,5,1.3 按实验要求完成接线,实验接线图、端口地址与实验流程图,完成接线,6,实验箱功能模块位置示意图,7,接口I/O地址译码电路,实验台上I/O地址选用280H2BFH 64个,分8组输出:Y0-Y7。 其地址分别为:Y0:280H287H; Y1:288H28FH;Y2:290H297H;

2、Y3:298H29FH;Y4:2A0H2A7H; Y5:2A8H-2AFH;Y6:2B0H2B7H; Y7:2B8H2BFH。8根输出线在实验台“I/O地址”处分别由自锁紧插孔引出。,280h283h,8,接口I/O地址译码电路,9,1.4 打开实验箱电源,激活接口驱动程序,10,激活接口驱动程序,1.4 打开实验箱电源,11,1.5 编辑实验程序,12,1.6 实验调试并观察实验结果,13,1.6 实验调试并观察实验结果,14,1.6 实验调试并观察实验结果,E:实验文档C:PROGRA1HQFCV11.24BinASMTASM32.EXE /l 82552.ASM Turbo Assemb

3、ler Version 5.0 Copyright (c) 1988, 1996 Borland International Assembling file: 82552.ASM Error messages: None Warning messages: None Passes: 1 编译成功! 链接中,请稍候。 E:实验文档C:PROGRA1HQFCV11.24BinASMTLINK.EXE /x 82552.OBJ Invalid keyboard code specified Turbo Link Version 7.1.30.1. Copyright (c) 1987, 1996 B

4、orland International链接成功!,15,1.6 实验调试并观察实验结果,16,data segmentmsg db hello word!,0dh,0ah,$ data ends code segmentassume cs:code,ds:data start: mov ax, datamov ds,axmov dx,offset msgmov ah,09hint 21hmov ah,4chint 21h code ends end start,1.6 实验调试并观察实验结果,1.7 关闭实验箱电源准备下一实验,18,mov dl,0ffh ;判断是否有按键 mov ah,0

5、6h int 21h,int 21h,子功能号,mov dl,0ffh ;直接控制台I/O,相当于C中while(!kbhit() mov ah,06h ;等待按键 int 21h ;al=输入字符,19,.model small .stack .datamsg db press anykey to exit,13,10,$ .code main procmov ax,datamov ds,ax lop: mov dx,offset msgmov ah,09h ;9号功能显示字符串int 21hmov dl,0ffh mov ah,06h ;6号功能等待按键int 21hjz lopmov a

6、h,04ch ;返回dosint 21h main endp end main,显示字符串,等待按键,20,2.8255方式0实验,2.1 开关状态监控(题库中的题目7/8),21,2.8255方式0实验,2.1 开关状态监控(题库中的题目10/14),22,2.8255方式0实验,2.1.1 实验接线及端口地址1.采用排线连接开关到A口,LED到B口。K0K7连接到A口,L0L7连接到B口。2.端口地址288H28BH,控制口28BH。CS/8255 接 Y1/IO地址 。,23,2.1.2 开关状态监控参考程序,;= ; 开关状态监控,题库中的习题 ; 8255方式0的A口输入,B口输出

7、; 接线:采用排线将K0K7连接到A口,L0L7连接到B口。 ; 端口地址288H28BH,控制口28BH。CS/8255接Y1/IO地址 。 ;= .model small .586 .stack .data msg db Press anykey to Exit,0dh,0ah,$;显示字符串必须以$结尾!p8255a=288h ;A口地址p8255b=p8255a+1 ;B口地址p8255Ctrl=p8255a+3 ;控制口地址,24,2.1.2 开关状态监控参考程序,.code main proc mov ax,datamov ds,ax ;建立数据段 call init8255cal

8、l App8255mov ah,4ch ;返回DOSint 21hret main endp,25,2.1.2 开关状态监控参考程序,init8255 procmov dx,p8255Ctrl ;控制口地址mov al,90h ;设置8255为A口输入,B口输出out dx,al ;控制字:10010000Bret init8255 endp,26,2.1.2 开关状态监控参考程序,mov dl,0ffh ;直接控制台I/O,相当于C中while(!kbhit() mov ah,06h ;等待按键 int 21h ;al=输入字符,mov dl,0ffh ;判断是否有按键 mov ah,06h

9、 int 21h,int 21h,27,2.1.2 开关状态监控参考程序,App8255 procmonitor: mov dx,p8255a ;A口地址in al,dx ;从A口读入开关状态mov dx,p8255b ;B口地址out dx,al ;驱动LEDmov dx,offset msgmov ah,09h ;显示字符串int 21hmov dl,0ffh ;判断是否有按键mov ah,06hint 21h ;al=输入字符jz monitor ;若无按键,则继续 ZF=1ret App8255 endp end main,msg db Press anykey to Exit,0dh

10、,0ah,$,App8255 proc ;控制程序段mov dx,P8255Base ; 端口A地址 in al,dx ; 读入PA0PA7的输入not al ; 对端口A的输入取反mov dx,P8255Base+1 ; 读入端口B地址 out dx,al ; 控制PB0PB7输出ret App8255 endp ; 程序结束,mov dl,0ffh ;直接控制台I/O,相当于C中while(!kbhit() mov ah,06h ;等待按键 int 21h ;al=输入字符,28,2.8255方式0实验,2.2 跑马灯(课设题目) L0L7依次点亮,每次点亮一个灯。 要求精确的延时!,29

11、,2.2 跑马灯(课设题目),2.2.1 实验接线及端口地址1.采用排线连接LED到B口。L0L7连接到B口。2.端口地址288H28BH,控制口28BH。CS/8255 接 Y1/IO地址 。,30,2.2.2跑马灯参考程序,;= ; 跑马灯,课设题目 ; 8255方式0的B输出 ; 接线:采用排线将 L0L7 连接到 B口。 ; 端口地址288H28BH,控制口28BH。CS/8255接Y1/IO地址 。 ;= .model small .586 .stack .data msg db Press anykey to Exit,0dh,0ah,$;显示字符串必须以$结尾!p8255a=28

12、8h ;A口地址p8255b=p8255a+1 ;B口地址p8255Ctrl=p8255a+3 ;控制口地址,31,.code main proc mov ax,datamov ds,ax ;建立数据段 call init8255call App8255mov ah,4ch ;返回DOSint 21hret main endp,2.2.2跑马灯参考程序,32,init8255 procmov dx,p8255Ctrl ;控制口地址mov al,80h ;设置8255为B口输出out dx,al ;控制字:10000000Bret init8255 endp,2.2.2跑马灯参考程序,33,Ap

13、p8255 procmov bl,01h ;暂存al状态,点亮L0monitor:mov dx,p8255b ;B口地址mov al,blout dx,al ;驱动LEDrol bl,1call delay ;精确延时0.5秒。mov dx,offset msgmov ah,09h ;显示字符串int 21h,2.2.2跑马灯参考程序,34,2.2.2跑马灯参考程序,mov dl,0ffh ;直接控制台IO,相当于C中while(!kbhit()mov ah,06h ;等待按键int 21h ;al=输入字符jz monitor ;若无按键,则继续。ZF=1ret App8255 endp,35,2.2.2跑马灯参考程序,;= ; delay为周期为55ms的精确延时子程序。 ; 利用DOS系统日时钟(8254计数器0)与用户程序并发, ; DOS系统数据区40h:6ch开始的双字单元日时钟计数器, ; 8254计数器0以18.2Hz的频率产生中断, ; ISR对40h:6ch的双字单元加1,周期55ms。 ; 利用这一特点可以实现精确定时与延时。 ; Windows的日时钟单元在哪里? ; Windows系统数据区在哪里? ; 怎样访问它们?很富有挑战性! ;=,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号