下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.专业整理 .实验三可编程定时器计数器 ( 8253 )一、实验目的掌握 8253 的基本工作原理和编程方法。二、实验内容、 按图 3-1 虚线连接电路,将计数器0 设置为方式0 ,计数器初值为N(N 0FH) ,用手动逐个输入单脉冲 ,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0 电平变化 (当输入N+1 个脉冲后OUT0 变高电平 )。三、编程提示1、 8253 控制寄存器地址283H计数器 0 地址280H计数器 1 地址281HCLK0 连接时钟1MHZ;*;*8253 方式 0 计数器实验*;*;io8253aequ 283hio8253bequ 280h. 学习帮手 .专业
2、整理 .code segmentassumecs:codestart: mov al,14h;设置 8253 通道 0 为工作方式2,二进制计数mov dx,io8253aout dx,almov dx,io8253b;送计数初值为0FHmov al,0fhout dx,allll:in al,dx;读计数初值call disp;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch;退出int 21hdispproc near;显示子程序push dx. 学习帮手 .专业整理 .and al,0fh;首先取低四位mov
3、dl,alcmp dl,9;判断是否 =9jlenum;若是则为 0-9,ASCII码加 30Hadd dl,7;否则为 A-F,ASCII 码加 37Hnum:add dl,30hmov ah,02h;显示int 21hmov dl,0dh;加回车符int 21hmov dl,0ah;加换行符int 21hpop dxret;子程序返回disp endpcode endsend start实验三可编程定时器计数器 ( 8253 ). 学习帮手 .专业整理 .一、实验目的掌握 8253 的基本工作原理和编程方法。二、实验内容1、按图 3-2 连接电路 ,将计数器0、计数器1 分别设置为方式3,
4、计数初值设为1000 ,用逻辑笔观察 OUT1 输出电平的变化 (频率 1HZ) 。三、编程提示1、 8253 控制寄存器地址283H计数器 0 地址280H计数器 1 地址281HCLK0 连接时钟1MHZ;*;*8253 分频*;*io8253aequ 280hio8253bequ 281hio8253cequ 283hcode segment/ 声明代码段assumecs:code. 学习帮手 .专业整理 .start:mov dx,io8253c;向 8253 写控制字mov dx , 283h ;mov al,36h;使 0 通道为工作方式3D7D6D5D4D3D2D1D0=0011
5、0110,D7D6=00表示计数器0 ;D5D4=11先读写低 8 为再读写高8 位; D3D2D1=011表示计数器工作方式3;D0=0 表示计数器的初值为二进制数out dx,al/ 向 283h 写控制字mov ax,1000;写入循环计数初值1000mov dx,io8253aout dx,al;先写入低字节到计数器0 地址 280Hmov al,ahout dx,al;后写入高字节到计数器0 地址 280Hmov dx,io8253cmov al,76h;设 8253 通道 1 工作方式3 .D7D6D5D4D3D2D1D0=01110110,D7D6=01表示计数器1; D5D4=
6、11先读写低8 为再读写高8 位; D3D2D1=011表示计数器工作方式3 ; D0=0 表示计数器的初值为二进制;out dx,almov ax,1000;写入循环计数初值1000mov dx,io8253bout dx,al;先写低字节到计数器1 地址 281Hmov al,ah. 学习帮手 .专业整理 .out dx,al;后写高字节到计数器1 地址 281Hmov ah,4ch;程序退出int 21hcode endsend start实验四可编程并行接口(一)( 8255 方式 0)一、实验目的掌握 8255 方式 0 的工作原理及使用方法。二、实验内容、 实验电路如图4-1 ,
7、8255C 口接逻辑电平开关K0 K7, A 口接 LED 显示电路L0 L7。、 编程从 8255C 口输入数据 ,再从 A 口输出 。三、编程提示1、 8255 控制寄存器端口地址28BHA 口的地址288HC 口的地址28AH;*;* 8255 方式 0 的 C 口输入 ,A 口输出*;*;. 学习帮手 .专业整理 .io8255aequ 288hio8255bequ 28bhio8255cequ 28ahcodesegment/ 定义代码段assume cs:codestart:mov dx,io8255b;设 8255 为 C 口输入 ,A 口输出mov dx ,28bh/D7=1,
8、D6D5=00(工作方式为0),D4=0 (A 出) ,D2=0 ,D3=1 ( C 入) ,D0=1 ( C 入)。mov al,8bh/D7D6D5D4D3D2D1D0=10001011, D7=1 , D6D5=00 ,D4=0,D3.D0=0,D2=0, D1=1out dx,al/ 设 8255 为 C 口输入 ,A 口输出inout:mov dx,io8255c;c 口的地址28AH 从 C 口输入一数据in al,dx/ 将 al 的数给 dxmov dx,io8255a;A 口的地址288H 从 A 口输出刚才自C 口out dx,al;所输入的数据mov dl,0ffh;判断
9、是否有按键mov ah,06hint 21hjz inout;若无 ,则继续自 C 口输入 ,A 口输出mov ah,4ch;否则返回int 21h. 学习帮手 .专业整理 .codeendsend start实验七竞赛抢答器一、实验目的1、了解微机化竞赛抢答器的基本原理。2、进一步学习使用并行接口。二、实验内容图 7-1 为竞赛抢答器(模拟 )的原理图 ,逻辑开关K0 K7 代表竞赛抢答按钮07 号,当某个逻辑电平开关置 “时” ,相当某组抢答按钮按下。在七段数码管上将其组号(0 7) 显示出来 ,并使微机扬声器响一下。三、编程提示设置 8255 为 C 口输入 、A 口输出 ,读取 C 口
10、数据 ,若为 0 表示无人抢答,若不为 0 则有人抢答。根据读取数据可判断其组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。;*;*本程序为模拟抢答器*;*. 学习帮手 .专业整理 .datasegment;定义数据段io8255aequ 28ah;端口初始化io8255bequ 28bhio8255cequ 288hleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;数码表data endscodesegment;定义代码段assumecs:code,ds:data;有了这一句代码,程序就知道从ds:data 中找到 data 所定义的内存地址 ,然后传送给d
11、sstart:movax,data;把 data 段的段地址送入es 中,以便计算物理地址的时候得到正确的段地址。mov ds,axmov dx,io8255b;设 8255 为 A 口输出 ,C 口输入mov ax,89hout dx,almov bx,offset led;使 BX 指向段码管首址sss: mov dx,io8255a ; 从 8255 的 C 口输入数据inal,dxoral,al;比较是否为0jesss;若为 0,则表明无键按下,转 sss. 学习帮手 .专业整理 .mov cl,0ffh;cl 作计数器 ,初值为 -1rr:shr al,1;al 逻辑 右移一位inc
12、 cl;cl 减一jnc rr;如果进位则跳转mov al,cl;xlat;交换 。 22 行到 27行应该循环计数mov dx,io8255c;从 8255 的 C 端输出“个人觉得是初始化 ”out dx,almov dl,7;响铃 ASCII 码为 07mov ah,2;输出指令 (三条指令一起读 )int 21hwai:mov ah,1;键盘输入一个数int 21hcmp al,20h;是否为空格jne eee;不是 ,转 eee ,等于零跳转 ,不等于零继续执行mov al,0;是 ,关灭灯mov dx,io8255c;从 8255 的 C 端输出“个人觉得是初始化 ”out dx,
13、aljmp sss;跳转到 ssseee:mov ah,4ch;功能调用 ,该功能为关闭窗 ,即抢答结束. 学习帮手 .专业整理 .int 21hcodeends;代码段结束end start;程序结束实验九中断一、实验目的1、掌握 PC机中断处理系统的基本原理。2、学会编写中断服务程序 。二、实验原理与内容1、实验原理PC机用户可使用的硬件中断只有可屏蔽中断,由 8259 中断控制器管理 。 中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。 IBMPC 、 PC/XT机内有一片 8259 中断控制器对外可以提供8 个中断源 :中断源中断类型号中断功能I
14、RQ008H时钟IRQ109H键盘IRQ20AH保留. 学习帮手 .专业整理 .IRQ3OBH串行口 2IRQ40CH串行口 1IRQ50DH硬盘IRQ60EH软盘IRQ70FH并行打印机8个中断源的中断请求信号线IRQ0 IRQ7 在主机的 62线 ISA总线插座中可以引出,系统已设定中断请求信号为 “边沿触发 ”,普通结束方式 。 对于 PC/AT 及 286 以上微机内又扩展了一片 8259中断控制 ,IRQ2 用于两片 8259 之间级连 ,对外可以提供 16 个中断源 :中断源中断类型号中断功能IRQ8070H实时时钟IRQ9071H用户中断IRQ10072H保留IRQ11O73H保
15、留IRQ12074H保留IRQ13075H协处理器IRQ14076H硬盘IRQ15077H保留TPC-USB实验板上 ,固定的接到了 3号中断 IRQ3上,即进行中断实验时,所用中断类型号为0BH 。. 学习帮手 .专业整理 .2、实验内容实验电路如图 9-1 ,直接用手动产单脉冲作为中断请求信号(只需连接一根导线)。 要求每按一次开关产生一次中断,在屏幕上显示一次“TPCA Interrupt!”,中断 10次后程序退出。;*;*中断实验*;*;data segment ;定义数据段mess db TPCA interrupt!,0dh,0ah,$;显示 TCPA interrupt! 0d
16、h:回车0ah: 换行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
17、,0f7h;开放 IRQ3 中断 (与上 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,20h20H送 al,OCW2=00100000Bout 20h,al发出 EOI结束中断loop ne
18、xtCF=1 ,不为 0 ,跳到 nextin al,21h设中断屏蔽器or al,08h关闭 IRQ3 中断out 21h,al写入sti显中断标志位 , IF=1mov ah,4ch. 学习帮手 .专业整理 .int 21h返回 DOSnext:iret中断返回code endsend start实验十可编程并行接口(二)( 8255 方式 )一、实验目的1、掌握 8255 工作方式 时的使用及编程。2、进一步掌握中断处理程序的编写。二、实验内容1、按图 10-1 , 8255 方式 1 的输出电路连好线路。2、编程 :每按一次单脉冲按钮产生一个正脉冲使8255 产生一次中断请求,让 CP
19、U 进行一次中断服务 :依次输出01H 、 02H ,04H , 08H ,10H , 20H ,40H , 80H 使 L0 L7 依次发光 ,中断次结束 。;*;*8255 方式 1 实验 1*;. 学习帮手 .专业整理 .;*;1 code segment2 assume cs:code3 start:4 mov ax,cs5 mov ds,ax6mov dx,offset int_proc;将int_proc 地址送给 dx7mov ax,250bh; 设置外部中断 int_proc 类型号为 0bh ,25H系统设置中断向量程序:AH=25H,DS:DX= 中断服务入口 (由 6 可
20、知 dx 中放的是 int_proc 的地址 ),AL= 中断类型号8int 21h;调用 0bh 这个中断 (功能 0bH描述:检查标准输入设备上是否有字符可读。该输入操作可被重定向入口参数 :AH 0bH,)9mov dx,21h;将21h 送给 dx10in al,dx;将21h 号端口的内容给 al11and al,0f7h;开放 IRQ3( 串口设备 )中断. 学习帮手 .专业整理 .12out dx ,al13mov dx,28bh;设8255 为A口方式 1输入14 mov al,0a0h15 out dx ,al16mov al,0dh;将PC6置位17 out dx ,al1
21、8 mov bl,119ll:jmp ll;循环等待20 int_proc:21 mov al,bl22mov dx,288h;将AL 从8255 的A口输出23 out dx ,al24 mov al,20h25 out 20h ,al26 shl bl ,127jnc next;中断次数小于 8,返回主程序28in al,21h29or al,08h;关闭 IRQ7中断30out 21h ,al31sti;开中断,将IF置1. 学习帮手 .专业整理 .32mov ah,4ch;返回 DOS33int21h34next:iret;中断返回指令35 code ends36end start接口
22、程序10.2 可编程并行接口( 8255 方式一实验二 )一、实验目的1、掌握 8255 工作方式 时的使用及编程。2、进一步掌握中断处理程序的编写。二、实验内容1、按图 10-2 ,8255 方式 1 输入电路 ,连好线路 。2、编程 :每按一次单脉冲按钮产生一个正脉冲使8255 产生一次中断请求,让 CPU 进行一次中断服务 :读取逻辑电平开关预置的ASCII 码,在屏幕上显示其对应的字符,中断 次结束 。三、实验原理图四:实验流程图五:实验代码及注释;*;*8255 方式 1 实验 2*;. 学习帮手 .专业整理 .;*;code segment;定义代码段assume cs:code;
23、假定 code 位于代码段start:;程序开始mov ax,cs;将 cs内容送到 ax中mov ds,ax;将 ax内容送到 ds中,因为不能段与段之间直接传送,所以借助 axmov dx,offset int_proc;将中断子程序的偏移地址送入dx ,设置 IRQ3 中断矢量mov ax,250bh ;dos调用 25 号功能号设置中断向量号,设外部中断 int_proc 类型号为 0bhint 21hmov dx,21hin 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口上半部输入 ,下半部输出out dx,al ;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年外国人24小时过境免签政策酒店入住登记操作指南
- 2026年卫星互联网在偏远地区宽带接入应用
- 2026年长护险六统一制度建设与政策衔接操作
- 中国中建设计研究院有限公司2026届春季校园招聘备考题库及一套参考答案详解
- 2026浙江省智能船舶研究院有限公司招聘5人备考题库附参考答案详解(巩固)
- 个体户法人登记申请书
- 人力资源专业管理与开发计划
- 世界石油市场的供需变化及影响分析
- 锅炉房事故预警系统建设与运用
- 中国文化软实力建设及国际传播策略
- 上交所2026校招笔试题
- 2026延安志丹县人力资源和社会保障局公益性岗位招聘(50人)笔试备考题库及答案解析
- 车间内部转运车管理制度
- 2026年山东省立第三医院初级岗位公开招聘人员(27人)笔试参考题库及答案解析
- 2026湖北武汉市江汉城市更新有限公司及其下属子公司招聘11人笔试备考题库及答案解析
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人笔试备考题库及答案解析
- 2026年广东省辅警笔试题库及1套参考答案
- 2026年高考数学二轮复习:专题13 数列的综合大题(含知识融合)9大题型(专题专练)(全国适用)(原卷版)
- 交通电路处理 11
- 2026年时事政治测试题库100道附完整答案【考点梳理】
- 2025至2030中国变频器行业调研及市场前景预测评估报告
评论
0/150
提交评论