1、微型计算机技术及应用实验报告 学号: 20130106* 姓名: * 班级: 计算机2014 信息科学与工程学院实验1:汇编语言时钟程序1、 程序功能显示目前的时间并进行修改。2、 汇编代码sseg segment para stack stackdw 100h dup(0) ;初始化堆栈大小为100sseg endsdseg segment;数据段:在此处添加程序所需的数据dseg endseseg segment;附加段:在此处添加程序所需的数据eseg endscseg segmentassume cs:cseg, ds:dseg, es:eseg, ss:ssegmain proc f
2、ar ;主程序入口mov ax, dsegmov ds, axmov ax,esegmov es, axmov ah,1 int 21h mov ah,al sub ah,48 mov cl,4 shl ah,cl mov ah,1 int 21h sub al,48 or ah,al mov ch,ah mov ah,1 int 21h sub al,48 mov ah,al mov cl,4 shl ah,cl mov ah,1 int 21h sub al,48 or ah,al mov cl,ah mov dl,- mov ah,02 int 21h mov ah,1 int 21h
3、sub al,48 mov ah,al mov cl,4 shl ah,cl mov ah,1 int 21h sub al,48 or ah,al mov dh,ah mov dl,- mov ah,02 int 21h mov ah,1 int 21h mov ah,al sub ah,48 mov cl,4 shl ah,cl mov ah,1 int 21h mov dh,al sub dh,48 or ah,dh mov dl,ah xor al,al mov ah,2bh int 21h cmp al,00h jnz l1 mov dl,y mov ah,02 int 21h l1
4、: cmp al,0ffh jnz l2 mov dl,n mov ah,02 int 21h l2: mov ah,01 int 21h mov ax, 4c00h ;程序结束,返回到操作系统int 21hmain endpcseg endsend main实验2: 8251串行通讯实验一、实验目的 l、了解串行通讯的基本原理。 2、掌握串行接口芯片825l的工作原理和编程方法。二、实验内容 1、按图19-1连接好电路,其中8253计数器用于产生825l的发送和接收时钟,8253的片选8253CS连接译码280H287H,CLKO接1MHZ时钟,GATEO接+5V,OUTO接8251的插孔,
5、825l芯片的TXCLK和RXCLK相连,8251的TXD和RXD相连,片选8251CS与译码298-29F相连。 2、编程:从键盘输入一个字符,显示在屏幕上,将其ASCI I码加1后发送出去,再接收回来在屏幕上显示,实现自发自收。三、实验提示 1、图示电路8251的控制口地址为299H,数据口地址为298H。 2、8253计数器的计数初值=时钟频率(波特率波特率因子),这里的时钟频率接lMHz,波特率若选1200,波特率因子若选16,则计数器初值为52。 3、收发采用查询方式。 4、连线:280H287H-8253CSGATE0-+5VCLK0-1MHZ8251TXCLK-OUT0RXCLK
6、-OUT0298H29FH-8251CSRXD8251-TXD8251四、参考流程图五、 实验程序*8251串行通讯(自发自收)*data segment io8253a equ 280h io8253b equ 283h io8251a equ 2b8h io8251b equ 2b9h mes1 db you can play a key on the keybord!,0dh,0ah,24h mes2 dd mes1data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,io8253b
7、 ;设置计数器工作方式 mov al,16h out dx,al mov dx,io8253a mov al,52 ;给计数器送初值 out dx,al mov dx,io8251b ;初始化 xor al,al mov cx,03 ;向控制端口送个 delay: call out1 loop delay mov al,40h ;向控制端口送H,使其复位 call out1 mov al,4eh ;设置为个停止位,8个数据位,波特率因子为 call out1 mov al,27h ;向送控制字允许其发送和接收 call out1 lds dx,mes2 ;显示提示信息 mov ah,09 in
8、t 21hwaiti: mov dx,io8251b in al,dx test al,01 ;发送是否准备好 jz waiti mov ah,01 ;是,从键盘上读一字符 int 21h cmp al,27 ;若为ESC,结束 jz exit mov dx,io8251a inc al out dx,al ;发送 mov cx,40hs51: loop s51 ;延时next: mov dx,io8251b in al,dx test al,02 ;检查接收是否准备好 jz next ;没有,等待 mov dx,io8251a in al,dx ;准备好,接收 mov dl,al mov a
9、h,02 ;将接收到的字符显示在屏幕上 int 21h jmp waitiexit: mov ah,4ch ;退出 int 21hout1 proc near ;向外发送一字节的子程序 out dx,al push cx mov cx,40hgg: loop gg ;延时 pop cx retout1 endpcode endsend start实验3: 8259中断实验一、实验目的 1、掌握PC机中断处理系统的基本原理。 2、学会编写中断服务程序。二、实验内容 手动产生单脉冲作为中断请示信号,每产生一次中断,在屏幕上显示一次“ interrupt!”,中断10次后程序退出。三、编程提示:18259A连线示意:8259CS-288H28FHIN
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1