


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三 可编程定时器计数器( 8253 )一、实验目的掌握 8253 的基本工作原理和编程方法。二、实验容1、按图3-1虚线连接电路,将计数器 0设置为方式0,计数器初值为 N(N < OFH),用手动逐 个输入单脉冲, 编程使计数值在屏幕上显示, 并同时用逻辑笔观察 OUT0 电平变化 (当输入 N+1 个脉冲后 OUT0 变高电平 )。三、编程提示1 、 8253 控制寄存器地址283H计数器 0 地址280H计数器 1 地址281HCLK0 连接时钟 1MHZ it*.* 8253 方式 0 计数器实验 * it*.io8253aio8253b code segment assum
2、eequ 283hequ 280hcs:codestart: mov al,14hmov dx,io8253a out dx,almov dx,io8253b mov al,0fh out dx,al lll: in al,dxcall disp push dx mov ah,06h mov dl,0ffh int 21h pop dx jz lll mov ah,4ch int 21h disp proc nearpush dx and al,0fh; 设置 8253 通道 0 为工作方式 2,二进制计数;送计数初值为 0FH;读计数初值;调显示子程序;退出;显示子程序;首先取低四位mov
3、dl,al cmp dl,9 jle num add dl,7 num: add dl,30hmov ah,02h int 21h mov dl,0dh int 21h mov dl,0ah int 21h pop dx ret disp endp code ends end start; 判断是否 <=9;若是则为 '0'-'9',ASCII 码加 30H ;否则为 'A'-'F',ASCII 码加 37H;显示;加回车符;加换行符;子程序返回实验三 可编程定时器计数器( 8253 )一、实验目的掌握 8253 的基本工作
4、原理和编程方法。二、实验容1、按图 3-2 连接电路,将计数器 0、计数器 1 分别设置为方式 3,计数初值设为 1000 ,用逻辑 笔观察 OUT1 输出电平的变化 (频率 1HZ) 。三、编程提示1、 8253 控制寄存器地址283H计数器 0 地址280H计数器 1 地址281HCLK0 连接时钟 1MHZ* J;* 8253 分频* Jio8253aequ 280hio8253bequ 281hio8253cequ 283hcode segment/ 声明代码段assumecs:codestart:mov dx,io8253c;向 8253 写控制字 mov dx , 283h ;mo
5、v al,36h;使0 通道为工作方式 3D7D6D5D4D3D2D1D0=00110110,D7D6=00 表示计数器 0 ;D5D4=11先读写低8为再读写高8位;D3D2D仁011 表示计数器工作方式 3 ; D0=0表示计数 器的初值为二进制数out dx,al/ 向 283h 写控制字mov ax,1000 mov dx,io8253a out dx,almov al,ah out dx,almov dx,io8253c mov al,76h;写入循环计数初值 1000;先写入低字节到计数器0 地址 280H;后写入高字节到计数器0 地址 280H;设 8253 通道 1 工作方式
6、3 .D7D6D5D4D3D2D1D0=01110110,D7D6=01表示计数器1 ; D5D4=11先读写低8为再读写高8位;D3D2D1=011 表示计数器工作方式 3; D0=0 表示计数器的初值为二进制 ;out dx,al mov ax,1000 mov dx,io8253b out dx,al mov al,ah out dx,al mov ah,4ch int 21h code endsend start;写入循环计数初值 1000;先写低字节到计数器1 地址 281H;后写高字节到计数器1 地址 281H;程序退出实验四 可编程并行接口(一) ( 8255 方式 0)一、实验
7、目的掌握 8255 方式 0 的工作原理及使用方法。二、实验容1、实验电路如图 4-1 , 8255C 口接逻辑电平开关 K0K7 , A 口接LED显示电路L0L7。2、编程从8255C 口输入数据,再从 A 口输出。三、编程提示1 、 8255 控制寄存器端口地址 28BHA 口的地址C 口的地址288H28AH*JJ;* 8255 方式 0 的 C 口输入 ,A 口输出 *JJio8255aequ288hio8255bequ28bhio8255cequ28ahcode segmentassume cs:code/ 定义代码段start:mov dx,io8255b 28bh/D7=1,D
8、6D5=00( mov al,8bhD4=0,D3.D0=0,D2=0 out dx,alinout: mov dx,io8255c in al,dx mov dx,io8255a out dx,al mov dl,0ffh mov ah,06h int 21hjz inout mov ah,4ch int 21h code ends;设 8255 为 C 口输入 ,A 口输出 mov dx , 工作方式为 0),D4=0 (A 出) ,D2=0 ,D3=1 (C 入) ,D0=1 (C 入)。/D7D6D5D4D3D2D1D0=10001011,D7=1 , D6D5=00 ,D1=1/ 设
9、 8255 为 C 口输入 ,A 口输出;c 口的地址 28AH 从 C 口输入一数据/ 将 al 的数给 dx;A 口的地址 288H 从 A 口输出刚才自 C 口 ;所输入的数据;判断是否有按键;若无,则继续自 C 口输入 ,A 口输出;否则返回end start实验七 竞赛抢答器一、实验目的 1、了解微机化竞赛抢答器的基本原理。2、进一步学习使用并行接口。二、实验容图7-1为竞赛抢答器(模拟)的原理图,逻辑开关 K0K7代表竞赛抢答按钮 07号,当某个逻 辑电平开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(07)显示出来,并使微机扬声器响一下。三、编程提示设置 8255
10、为 C 口输入、 A 口输出,读取 C 口数据,若为 0 表示无人抢答,若不为 0 则有人抢 答。根据读取数据可判断其组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。*;* 本程序为模拟抢答器*data segment;定义数据段io8255aequ 28ah;端口初始化io8255bequ 28bhio8255cequ 288hleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;数码表data endscode segmentassume cs:code,ds:data 所定义 start:mov ax,data 得;定义代码段 ; 有了这一句代码 , 的存地
11、址 ,然后传送给 ;把 data 段的段地址送入 es 中,以便计算物理地址的时候 到正确的段地址。程序就知道从 ds:data 中找到 data dssss:mov ds,ax mov dx,io8255b mov ax,89h out dx,al mov bx,offset led mov dx,io8255a ;al,dxal,al;设 8255 为 A 口输出 ,C 口输入; 使 BX 指向段码管首址 从 8255 的 C 口输入数据inorsssje mov cl,0ffh shr al,1 inc cl jnc rr mov al,cl xlat mov dx,io8255c ou
12、t dx,al mov dl,7 mov ah,2 int 21h mov ah,1 int 21h cmp al,20h jne eee mov al,0 mov dx,io8255c out dx,al jmp sss eee: mov ah,4ch int 21h code endsrr:wai:end start;比较是否为 0;若为 0, 则表明无键按下,转 sss;cl 作计数器 ,初值为 -1;al 逻辑 右移一位;cl 减一;如果进位则跳转;交换。 22 行到 27 行应该循环计数;从 8255 的 C 端输出 “个人觉得是初始化”;响铃 ASCII 码为 07;输出指令(三条
13、指令一起读);键盘输入一个数;是否为空格;不是,转 eee ,等于零跳转,不等于零继续执行 ;是,关灭灯;从 8255 的 C 端输出个人觉得是初始化”; 跳转到 sss;功能调用 ,该功能为关闭窗,即抢答结束;代码段结束;程序结束实验九 中断 一、实验目的1、掌握 PC 机中断处理系统的基本原理。2、学会编写中断服务程序。二、实验原理与容1、实验原理PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。IBMPC、PC/XT机有一片 8259 中断控制器对外可以提供 8个中断源:中断源中断类
14、型号 中断功能IRQ008H时钟IRQ109H键盘IRQ20AH保留IRQ3OBH串行口 2IRQ40CH串行口 1IRQ50DH硬盘IRQ60EH软盘IRQ70FH并行打印机8个中断源的中断请求信号线 IRQ0IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中 断请求信号为“边沿触发”,普通结束方式。对于 PC/AT 及286 以上微机又扩展了一片 8259 中断控制,IRQ2用于两片8259之间级连,对外可以提供 16个中断源:中断源中断类型号中断功能IRQ8070H实时时钟IRQ9071H用户中断IRQ10072H保留IRQ11O73H保留IRQ12074H保留IRQ13075
15、H协处理器IRQ14076H硬盘IRQ15077H保留TPC-USB实验板上,固定的接到了 3号中断IRQ3上,即进行中断实验时,所用中断类型号为OBH。2、实验容实验电路如图 9-1,直接用手动产单脉冲作为中断请求信号(只需连接一根导线 )。要求每按一次开关产生一次中断,在屏幕上显示一次“ TPCA Interrupt! ”,中断 10次后程序退出。*JJ;*中断实验 if*. data segment ; 定义数据段mess db 'TPCA interrupt!',0dh,0ah,'$' 显示 TCPA interrupt! 0dh: 回车 0ah: 换行
16、 data ends; 数据段结束 code segment; 定义代码段assume cs:code,ds:data ; 假定 code 位于代码段, data 位于数据段start:mov ax,cs; cs 容送 ax 中mov ds,ax; ds:dx 容为中断服务程序的入口地址,位于数据段,偏移量送到 dx 中 mov dx,offset int3 ;取中断服务程序的偏移地址送 dx 中mov ax,250bh; dos 调用的功能号为 25h, 中断矢量是 0bhint 21h; 设置 IRQ3 的中断矢量in al,21h; 读中断屏蔽寄存器and al,0f7h; 开放 IRQ
17、3 中断(与上 11110111H , 3位为 0)out 21h,al; 写进去允许mov cx,10; 记中断循环次数为 10次Sti; 置中断标志位, IF=1ll:jmp ll; cx 是否为 0,等待循环int3:中断服务程序mov ax,data 取数据的地址mov ds,ax把数据的地址送到 dsmov dx,offset mess 把字符串的偏移地址取出mov ah,09 显示每次中断的提示信息( ds:dx= 字符缓冲首址) int 21h 执行调用mov al,20h 20H 送 al,OCW2=00100000Bout 20h,al 发出EOI结束中断loop next
18、CF=1 ,不为 0,跳到 nextin al,21h 设中断屏蔽器or al,08h 关闭IRQ3中断out 21h,al 写入sti 显中断标志位, IF=1mov ah,4chint 21h 返回 DOSnext:iret 中断返回code endsend start实验十可编程并行接口(二)(8255方式1)一、实验目的1、掌握8255工作方式1时的使用及编程。2、进一步掌握中断处理程序的编写。二、实验容1、按图10-1,8255方式1的输出电路连好线路。2、 编程:每按一次单脉冲按钮产生一个正脉冲使 8255产生一次中断请求,让 CPU进行一次中 断服务:依次输出01H、02H ,
19、04H , 08H , 10H , 20H , 40H , 80H使L0L7依次发光,中断8 次结束。 * 8255方式1实验1 * 1 code segment2 assume cs:code3 start:4 mov ax ,cs5 mov ds ,ax6 mov dx ,offset int_proc;将 int_proc 地址送给 dx7 mov ax,250bh;设置外部中断int_proc类型号为Obh , 25H系统设置中断向量程序:AH=25H,DS : DX=中断服务入口(由6可知 dx中放的是int_proc的地址),AL=中断类型 号8int 21h;调用0bh这个中断(
20、功能ObH描述:检查标准输入设备上是否有字符可读。该输入操作可被重定向入口参数:AH = 0bH,)9mov dx,21h;将21h送给dx10in al ,dx;将21h号端口的容给al11and al ,0f7h;开放IRQ3(串口设备)中断12out dx,al13mov dx ,28bh设8255为A 口方式1输入14mov al,0a0h15out dx,al16mov al ,0dh将PC6置位17out dx,al18mov bl, 119ll:jmp ll;循环等待20in t_proc:21mov al ,bl22mov dx ,288h;将AL从8255的A 口输出23ou
21、t dx,al24mov al ,20h25out 20h ,al26shl bl ,127jnc next;中断次数小于 8,返回主程序28in al ,21h29or al ,08h;关闭IRQ7中断30out 21h ,al31sti;开中断,将IF置132mov ah ,4ch;返回 DOS33int 21h34next: iret;中断返回指令35code ends36 end start接口程序 10.2 可编程并行接口( 8255 方式一实验二) 一、实验目的1、掌握8255工作方式1时的使用及编程。2、进一步掌握中断处理程序的编写。二、实验容1 、按图 10-2 , 8255
22、方式 1 输入电路,连好线路。2、编程 :每按一次单脉冲按钮产生一个正脉冲使8255 产生一次中断请求,让 CPU 进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。三、实验原理图四:实验流程图 五:实验代码及注释*JJ;*8255 方式 1 实验 2*;定义代码段*assume cs:codecode segment;假定 code 位于代码段mov ax,csmov ds,axmov dx,offset int_proc;将cs容送到ax中;将ax容送到ds中,因为不能段与段之间直接传送,所以借助 ax;将中断子程序的偏移地址送入 dx,设置IR
23、Q3中断矢量mov ax,250bh ;dos调用25号功能号设置中断向量号,设外部中断int_proc 类型号为 0bhint 21h mov dx,21h in al,dx;读中断屏蔽寄存器and al,0f7h;开放IRQ3中断,将第4位置0out dx,almov dx,28bh;将控制寄存器端口地址( 28bh )送到 dx 中mov al,0b8h ;0b8h=10111000D7 是标志位,D6,D5 是A组方式的选择 (方式 0, 1,2),D4是A 口的输入输出选择(0为输出),D3是C 口高四位的输入输出选择, D2是B组方式的选择(方式 0, 1),D1是B口的输入输出选择,D0是C 口低四位的输入输出选择。这里设置 8255A 口工作于方式1作输入,B口工作于 方式0作输出,C 口上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年家政服务员执业能力水平考核试题及答案解析
- 2025年香道师面试问题解析大全
- 2025年计算机科学试题及答案解析
- 2025年护理学专业资格考试试题及答案解析
- 2025年汉语教师职业技能考试试题及答案解析
- 2025年国际贸易法务专家资格考试试题及答案解析
- 2025年导盲犬训练师面试高频题
- 课件中任务卡模板制作步骤
- 课件中video的缩写形式
- 2025年小美容院美容安全考核题及答案
- 第四节道亨slw2d架空送电线路评断面处理及定位设计系统部分操作说明
- 测振仪使用方法
- 2023-2024学年湖南省耒阳市小学语文六年级下册期末自测测试题
- 12YJ4-1 常用门窗标准图集
- 表- 邻二氯苯的理化性质和危险特性表
- 工程项目全过程造价管理课件PPT超详细
- 成人手术后疼痛处理专家共识
- 读书分享-《教育的情调》
- 《材料力学》说课-课件
- 物资采购付款报销单
- 政务云收费标准 云托管收费标准
评论
0/150
提交评论