北航微机原理实验(源程序)-教师手册.doc_第1页
北航微机原理实验(源程序)-教师手册.doc_第2页
北航微机原理实验(源程序)-教师手册.doc_第3页
北航微机原理实验(源程序)-教师手册.doc_第4页
北航微机原理实验(源程序)-教师手册.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

目录第一章:汇编基础与硬件基础2实验二 TPC2300A集成开发环境2内容1.2.2 分段存储结构和数据变量的定义2内容1.2.3 汇编程序设计-数据串操作3内容1.2.4 汇编程序设计-循环和分支程序3内容1.2.5 汇编程序设计-子程序及其调用4内容1.2.6 汇编程序设计-DOS中断调用5实验三 TPC-2003A接口箱系统硬件及逻辑电路6内容1.3.2 I/O译码电路6第二章 基础实验7实验一 8253接口芯片基础7内容2.1.1 8253用于手动脉冲计7内容2.1.2 8253用于分频8实验二 8255接口芯片基础9内容2.2.1 8255作为基本输入输出9内容2.2.2 8255方式0的应用-红绿灯控制9内容2.2.3 8255对8253GATE的控制11内容2.2.4: 手动脉冲计数输出显示13第三章 综合实验14实验一 AD/DA接口芯片基础14内容3.1.1:ADC0809的数据采集功能14内容3.1.2:DAC0832的波形输出功能15实验一 8253/8255综合实验16内容3.2.1: 继电器控制16内容3.2.2: 自动计数输出显示18内容3.2.3 直流电机转速显示与计算19实验三 8253/8255/DAC0832综合实验23内容3.3.1:直流电机转速控制23内容3.3.2:直流电机测速25实验四 8255综合实验28内容3.4.1:步进电机控制28第一章:汇编基础与硬件基础;* *;实验二 TPC2300A集成开发环境;* *; 内容1.2.2 分段存储结构和数据变量的定义;*;* *;* 编写程序统计字符串str的字符个数, *;*存于counts单元。字符串以“$”为结束符, *;* 长度小于255个字符。 *;* *;* Create Data: 26/06/2009 YHB *;* Prog ID: 1-2-2.asm *;*;mydata segmentstr db assemble language$counts db ?mydata ends mycode segment assumecs:code,ds:datastart: mov ax,data mov ds, ax mov cl,0 mov bx, offset strnext: cmp bx $ jz exit inc cl inc bx jmp nextexit: mov counts,cl ;存储字符的个数 mov ah,4ch int21hmycode endsend start;*end of program 1-2-2.asm*内容1.2.3 汇编程序设计-数据串操作;*;* *;* 将buffa开始的连续字节单元数 *;* 传送到buffb开始的连续字操作数单元 *;* (不考虑数据块的 重叠) *;* *;* Create Data: 26/06/2009 YHB *;* Prog ID: 1-2-3.asm *;*;data segmentbufa dw 0234h,2345h,987fh dw 0c234h,0012h,1234h,7890hbufb dw 7dup(?)data endscode segmentassume cs:code,ds:datamov ax,datamov ds, axmov si,offset bufamov di,offset bufb mov cx,14 next: mov ax,simov di,axinc siinc diloop next ;循环传送,直到传送完mov ah,4chint 21hcode endsend start;*end of progme 1-2-3.asm*; 内容1.2.4 汇编程序设计-循环和分支程序 ;*;* 在字节存储单元d1、d2和d3中存有三个 *;*不相等无符号数,由大到小排列后存于d1、d2、d2,*;* 注意使用无符号数比较时的转移指令。 *;* Create Data: 26/06/2009 YHB *;* Prog ID: 1-2-4.asm *;*;data segmentd1 db 30hd2 db 0e2hd3 db 80hdata endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov al,d1 mov bl,d2 mov cl,d3 cmp al,bl ja lplxchg al,bllpl: cmp al,clja lp2xchg al,cllp2:cmp bl,clja lp3xchg bl,cllp3:mov d1,almov d2,blmov d3,clmov ah,4chint 21hcode endsend start;*end of program 1-2-4.asm*; 内容1.2.5 汇编程序设计-子程序及其调用 ;* *;* 计算3个带符号数的绝对值之和,三个数长度为 *;* 字类型,要求用子程序计算绝对值,用主程序实现 *;* 累加;整理实验结果。 *;* Create Data: 26/06/2009 YHB *;* Prog ID: 1-2-5.asm *;*; mydata segmentdata dw -20h, 34h, 21h,23a5h,1200habsm dw 0 mydata ends mycode segment assume cs:mycode, ds:mydata start: mov ax,mydata mov ds,ax mov si, offset data mov cx, 5 xor bx,bxrept: mov ax,si call subabs add bx,ax inc si inc siloop reptmov absm,bx ;绝对值之和mov ah,4chint 21hsubabs proc nearand al, aljns bckneg al bck: retsubabs endpmycode ends end start;*end of program 1-2-5.asm*; 内容1.2.6 汇编程序设计-DOS中断调用;*;* 利用DOS中断6号功能调用,在屏幕上显示字符AZ *;* *;* Create Data: 26/06/2009 YHB *;* Prog ID: 1-2-6.asm *;*;code segment assume cs:code start: mov dl,A mov cx,26next: mov ah,06h ;DOS调用,功能好06,dl中为在屏幕上显示的字符 int 21h inc dl ;下一个字符ASCII loop next ;显示下一个字符 mov ah,4ch int 21hcode ends end start;*end of program 1-2-6.asm*;实验三 TPC-2003A接口箱系统硬件及逻辑电路内容1.3.2 I/O译码电路;*;* Create Data: 26/06/2009 YHB *;* Prog ID: 1-3-2.asm *;*; ioport equ 0ec00h-0280h; 0ec00h替换为本机基地址 outport1 equ ioport+2a0h outport2 equ ioport+2a8hcode segment assume cs:code start: mov dx,outport1 out dx,al call delay ;调延时子程序 mov dx,outport2 out dx,al call delay ;调延时子程序 mov ah,1 ;bios中断调用,判断有无键入字符, int 16h je start ;zf=1无键入,转start继续,zf=0有键入,结束 mov ah,4ch int 21h delay proc near ;延时子程序 mov bx,2000 ;修改计数值可改变LED亮灭频率 lll: mov cx,0 ll: loop ll dec bx jne lll ret delay endpcode ends end start;*end of program 1-3-2.asm*;第二章 基础实验实验一 8253接口芯片基础内容2.1.1 8253用于手动脉冲计; ;*;*; Create Data: 26/06/2009 YHB *;* Prog ID: 2-1-1.asm *;*;ioportequ 0d400h-0280h ; 0ec00h替换为本机基地址io53ctlequ ioport+283hio53_0equ ioport+280hcode segmentassume cs:codestart: mov al,14h ;设置8253通道0为工作方式2,二进制计数 mov dx,io53ctl ;8253 控制口端口 out dx,al ;送控制字 mov dx,io53_0 ;计数器0端口 mov al,0fh ;设计数初值0FH (0aQ) out dx,al ;送计数初值lll: in al,dx ;读计数初值 call disp ;调显示子程序 push dx ;保护端口值,防止中断调用破坏 mov ah,06h ;6号中断, mov dl,0ffh ;表示该功能调用是输入,如果dl不是0ffh,表示把dl中的asciia码输出 int 21h pop dx jz lll ;循环显示 mov ah,4ch ;退出 int 21hdisp proc near ;显示子程序 push dx ;dx为端口地址,先保存起来,防止后面调用中断功能时使用dl寄存器时破坏dx值 and al,0fh ;首先取低四位,al值是读取的计数器的当前计数值 mov dl,al cmp dl,9 ;判断当前计数值是否9jle ddd ;若不大于则为0-9,加30h为其ASCII码add dl,7 ;否则为A-F,再加7ddd: add dl,30h ;显示mov ah,02int 21hretdisp endpcode endsend start;*end of program 3-1-1.asm*;内容3.1.2:DAC0832的波形输出功能;*;* *;* DAC0832的波形输出功能 *;* *;* Create Data: 26/06/2009 YHB *;* Prog ID: 3-1-2.asm *;*;ioportequ 0ec00h-0280h ;0ec00h替换为本机基地址io0832aequ ioport+290hcode segment assume cs:codestart: mov cl,0 mov dx,io0832alll: mov al,clout dx,alinc cl ;cl加1inc clinc clinc clinc clinc clinc clpush dxmov ah,06h ;中断06功能mov dl,0ffh ;dl=0ffh,表示输入,判断是否有键按下int 21hpop dxjz lll ;若无则转LLL,zf=1无键按下,zf=0有键按下则结束mov ah,4ch ;返回DOSint 21hcode endsend start;*end of program 3-1-2.asm*;实验一 8253/8255综合实验内容3.2.1: 继电器控制;*;* ;* Create Data: 26/06/2009 YHB *;* Prog ID: 3-2-1.asm *;*;ioportequ 0ec00h-0280h ;0ec00h由本机接口卡实际基地址代替io53_0equ ioport+280hio53_1equ ioport+281hio53ctlequ ioport+283hio55aequ ioport+288hio55ctlequ ioport+28bhcode segment assume cs:codestart: mov dx,io55ctl ;设8255为A口输入,C口输出,控制口mov al,90h ;控制字lll: out dx,almov al,01 ;将PC0置位out dx,al ;送控制字到控制口call delay ;延时5smov al,0 ;将PC0复位out dx,alcall delay ;延时5sjmp lll ;转llldelay proc near ;延时子程序push dxmov dx,io53ctl ;设8253计数器为方式3,控制口mov al,36h ;控制字out dx,almov dx,io53_0 ;8253计数器0mov ax,1000 ;写入计数器初值1000out dx,almov al,ahout dx,almov dx,io53ctl ;8253控制口mov al,70h ;设计数器1为工作方式0out dx,almov dx,io53_1 ;8253计数器1mov ax,1000 ;写入计数器初值500out dx,almov al,ahout dx,alll2: mov ah,06 ;中断06号调用mov dl,0ffh ;dl=0ffh,表示输入,是否有键按下int 21hjne exit ;zf=0,有键按下,若有则转exit,zf=1无键按下mov dx,io55a ;8255A口in al,dx ;查询8255的PA0是否为高电平and al,01jz ll2 ;若不是则继续,若是,则结束pop dx ;释放调用子程序前的端口地

温馨提示

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

评论

0/150

提交评论