同济大学微机原理实验报告DOC.docx
- 文档编号:28298599
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:29
- 大小:3.68MB
同济大学微机原理实验报告DOC.docx
《同济大学微机原理实验报告DOC.docx》由会员分享,可在线阅读,更多相关《同济大学微机原理实验报告DOC.docx(29页珍藏版)》请在冰豆网上搜索。
同济大学微机原理实验报告DOC
《微机原理与接口技术》上机实验报告
学号:
姓名:
班级:
课程名称:
微型计算机原理与接口技术
上机内容:
模/数转换器
实验性质:
□综合性实验 □设计性实验 ■验证实验
实验时间:
年12月19日
实验地点:
汽车学院107
实验设备TPC—2003A微机实验箱示波器
实验报告:
(包括目的、方法、原理、结果或实验小节等)。
一、实验目的
了解模/数转换的基本原理,掌握ADC0809的使用方法。
二、实验内容
1、实验电路原理图如图12-1。
通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。
启动IN0开始转换:
Out02980
读取转换结果:
In0298
2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。
三、实验提示
1、ADC0809的IN0口地址为298H,IN1口地址为299H。
2、IN0单极性输入电压与转换后数字的关系参考原理图:
其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。
3、一次A/D转换的程序可以为
MOVDX,口地址
OUTDX,AL;启动转换
;延时
INAL,DX;读取转换结果放在AL中
;*******************************;
;*接收A/D转换器数据在屏幕上显示*;
;*******************************;
io0809aequ298h
codesegment
assumecs:
code
start:
movdx,io0809a;启动A/D转换器
outdx,al
movcx,0ffh;延时
delay:
loopdelay
inal,dx;从A/D转换器输入数据
movbl,al;将AL保存到BL
movcl,4
shral,cl;将AL右移四位
calldisp;调显示子程序显示其高四位
moval,bl
andal,0fh
calldisp;调显示子程序显示其低四位
movah,02
movdl,20h;加回车符
int21h
movdl,20h
int21h
pushdx
movah,06h;判断是否有键按下
movdl,0ffh
int21h
popdx
jestart;若没有转START
movah,4ch;退出
int21h
dispprocnear;显示子程序
movdl,al
cmpdl,9;比较DL是否>9
jleddd;若不大于则为'0'-'9',加30h为其ASCII码
adddl,7;否则为'A'-'F',再加7
ddd:
adddl,30h;显示
movah,02
int21h
ret
dispendp
codeends
endstart
五、实验小结
通过实验,了解和掌握模/数转换的工作原理,熟悉汇编代码的编写。
在实验过程中,我们小组相互帮助,共同连接电线,第一次并没有达到理想的结果,在老师们的帮助下,我们及时更正了错误,最终完成了实验,通过实验的过程,让我们对于课本的理论知识有了进一步了解。
实验图片
实验十二模/数转换器
一、实验目的
了解模/数转换的基本原理,掌握ADC0809的使用方法。
二、实验内容
1、实验电路原理图如图12-1。
通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。
启动IN0开始转换:
Out02980
读取转换结果:
In0298
2、将JP3的1、2短接,使IN2处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。
三、实验提示
1、ADC0809的IN0口地址为298H,IN1口地址为299H。
2、IN0单极性输入电压与转换后数字的关系请参考原理图:
3、一次A/D转换的程序可以为
MOVDX,口地址
OUTDX,AL;启动转换
;延时
INAL,DX;读取转换结果放在AL中
;****************************;
;*AD转换器2--示波器*;
;*采集数据在屏幕是作图*;
;****************************;
io0809bequ299h
codesegment
assumecs:
code
start:
movax,0012h;设屏幕显示方式为VGA640X480模示
int10h
start1:
movax,0600h
int10h;清屏
andcx,0;cx为横坐标
draw:
movdx,io0809b;启动A/D转换器通道1
outdx,al
movbx,200;500;延时
delay:
decbx
jnzdelay
inal,dx;读入数据
movah,0
movdx,368;dx为纵坐标
subdx,ax
moval,0ah;设置颜色
movah,0ch;画点
int10h
cmpcx,639;一行是否满
jzstart1;是则转start
inccx;继续画点
pushdx
movah,06h;是否有键按下
movdl,0ffh
int21h
popdx
jedraw;无,则继续画点
movax,0003;有恢复屏幕为字符方式
int10h
movah,4ch;返回
int21h
codeends
endstart
实验结果
《微机原理与接口技术》上机实验报告
学号:
姓名:
班级:
课程名称:
微型计算机原理与接口技术
上机内容:
简单并行接口
实验性质:
□综合性实验 □设计性实验 ■验证实验
实验时间:
年12月19日
实验地点:
汽车学院107
实验设备TPC—2003A微机实验箱
实验报告:
(包括目的、方法、原理、结果或实验小节等)。
一、实验目的
掌握简单并行接口的工作原理及使用方法。
二、实验内容
1、按下面图一简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。
74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。
3、按下面图二简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。
74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。
4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。
图一图二
三、实验中使用到的程序
对于简单并行输出接口:
stack1segmentstack'stack'
dw32dup(0)
stack1ends
datasegment
baseportequ0ec00h-280h;实际基址
portequbaseport+2a8h;基址+偏移地址
dataends
codesegment
assumess:
stack1,ds:
data,cs:
code
start:
movax,data
movds,ax
again:
movah,1
int21h
cmpal,1BH
jeexit
movdx,port
outdx,al
movah,2
movdl,0dh
int21h
movah,2
movdl,0ah
int21h
jmpagain
exit:
movah,4ch
int21h
codeends
endstart
对于简单并行输入接口:
stack1segmentstack'stack'
dw32dup(0)
stack1ends
datasegment
baseportequ0ec00h-280h;实际基址
portequbaseport+aA0h;实际地址
dataends
codesegment
assumecs:
code,ds:
data,ss:
stack1
start:
movax,data
movds,ax
again:
movdx,port
inal,dx;输入指令
movah,2
movdl,al
int21h;显示字符
movah,0Bh
int21h;判断是否有键按下
cmpal,0
jzagain
movah.4ch
int21h
codeends
endstart
四、实验小结
通过本次实验,掌握了简单并行接口的工作原理及使用方法。
对于输入输出指令有了进一步的理解。
能区分dos功能调用与输入输出指令的区别。
在实验中,能够将书本上的理论知识用具体的应用例子体现出来,使我印象更加深刻。
273软件显示程序:
;****************************;
;*简单的并行输出实验*;
;****************************;
ls273equ2a8h
codesegment
assumecs:
code
start:
movah,2;回车符
movdl,0dh
int21h
movah,1;等待键盘输入
int21h
cmpal,27;判断是否为ESC键
jeexit;若是则退出
movdx,ls273;若不是,从2A8H输出其ASCII码
outdx,al
jmpstart;转start
exit:
movah,4ch;返回
int21h
codeends
endstart
实验连接图片
实验二简单并行接口
一、实验目的
掌握简单并行接口的工作原理及使用方法。
二、实验内容
1、按下面图2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。
74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。
三、编程提示
1、上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:
MOVAL,数据
MOVDX,2A8H
OUTDX,AL
通过上述并行接口输入数据需要2条指令:
MOVDX,2ADH
INAL,DX
244软件显示程序:
;********************************;
;*简单并行输入实验*;
;********************************;
ls244equ2a0h
codesegment
assumecs:
code
start:
movdx,ls244;从2A0输入一数据
inal,dx
movdl,al;将所读数据保存在DL中
movah,02
int21h
movdl,0dh;显示回车符
int21h
movdl,0ah;显示换行符
int21h
movah,06;是否有键按下
movdl,0ffh
int21h
jnzexit
jestart;若无,则转start
exit:
movah,4ch;返回
int21h
codeends
endstart
实验连接图片
《微机原理与接口技术》上机实验报告
学号:
姓名:
班级:
课程名称:
微型计算机原理与接口技术
上机内容:
可编程定时器/计数器(8253)
实验性质:
□综合性实验 □设计性实验 ■验证实验
实验时间:
年12月19日
实验地点:
汽车学院107
实验设备TPC—2003A微机实验箱
示波器
实验报告:
(包括目的、方法、原理、结果或实验小节等)。
一、实验目的
掌握8253的基本工作原理和编程方法。
二、实验内容
1、按图3-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
三、实验中使用到的程序
;*************************;
;*8253方式0计数器实验*;
;*************************;
io8253aequ283h
io8253bequ280h
codesegment
assumecs:
code
start:
moval,14h;设置8253通道0为工作方式2,二进制计数
movdx,io8253a
outdx,al
movdx,io8253b;送计数初值为0FH
moval,0fh
outdx,al
lll:
inal,dx;读计数初值
calldisp;调显示子程序
pushdx
movah,06h
movdl,0ffh
int21h
popdx
jzlll
movah,4ch;退出
int21h
dispprocnear;显示子程序
pushdx
andal,0fh;首先取低四位
movdl,al
cmpdl,9;判断是否<=9
jlenum;若是则为'0'-'9',ASCII码加30H
adddl,7;否则为'A'-'F',ASCII码加37H
num:
adddl,30h
movah,02h;显示
int21h
movdl,0dh;加回车符
int21h
movdl,0ah;加换行符
int21h
popdx
ret;子程序返回
dispendp
codeends
endstart
;
四、实验小结
通过实验,了解和掌握定时器的工作原理,熟悉汇编代码的编写。
在实验过程中,我们小组相互帮助,共同连接电线,第一次并没有达到理想的结果,在老师们的帮助下,我们及时更正了错误,最终完成了实验,通过实验的过程,让我们对于课本的理论知识有了进一步了解。
实验连接图片
实验结果图
实验三可编程定时器/计数器(8253)
一、实验目的
掌握8253的基本工作原理和编程方法。
二、实验内容
1、按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
三、编程提示
1、8253控制寄存器地址283H
计数器0地址280H
计数器1地址281H
CLK0连接时钟1MHZ
;*******************
;*8253分频*
;*******************
io8253aequ280h
io8253bequ281h
io8253cequ283h
codesegment
assumecs:
code
start:
movdx,io8253c;向8253写控制字
moval,36h;使0通道为工作方式3
outdx,al
movax,1000;写入循环计数初值1000
movdx,io8253a
outdx,al;先写入低字节
moval,ah
outdx,al;后写入高字节
movdx,io8253c
moval,76h;设8253通道1工作方式2
outdx,al
movax,1000;写入循环计数初值1000
movdx,io8253b
outdx,al;先写低字节
moval,ah
outdx,al;后写高字节
movah,4ch;程序退出
int21h
codeends
endstart
实验三可编程定时器/计数器(8253)
一、实验目的
掌握8253的基本工作原理和编程方法,用示波器观察不同方式下的波形。
二、实验原理和内容
1、按图3-3连接电路,将计数器0设置为方式3(方波),计数器设置为方式2(分频)。
2、实现计数器0的输出为方波,计数器1的输出是计数器0输出的分频波形。
3、人机交互界面设计:
实现在显示屏幕上提示输入计数器0(方波)的参数和计数器1(分频信号)的参数。
如下所示:
counter0:
____
counter1:
____
continue?
(y/n)____
4、实现用键盘直接输入修改程序中方波的参数和分频信号的参数,以改变方波的宽度,分频信号的周期和分频数,不需重新修改源代码。
5、用示波器观察计数器0和计数器1的输出波形及其关系,并在纸上画出CLK0、OUT0、OUT1的波形。
;*************************;
;*8253program*;
;*************************;
datasegment
mesg0db13,10,'*******************************8253progam*******************************',13,10,'$'
mesg1db13,10,'counter0:
','$'
mesg2db13,10,'counter1:
','$'
mesg3db13,10,'continue?
(y/n)','$'
mesg4db13,10,13,10,'ThankYou!
',13,10,'$'
errormdb13,10,'InputError!
','$'
counter0dw0
counter1dw0
dataends
codesegment
assumecs:
code,ds:
data
mainprocfar
start:
movdx,segdata
movds,dx
movdx,offsetmesg0
movah,09h
int21h
do:
subbx,bx
subax,ax
movcounter0,0
movcounter1,0;init
l1:
movdx,offsetmesg1
movah,09h
int21h
rd1:
;readcounter0
movah,01;readachar
int21h
cmpal,13;ifenter
jefdone1
jmptdone1
fdone1:
jmpdone1
tdone1:
cmpal,10
jefdone1
cmpal,'0';ifinput<0orinput>9error
jberror
cmpal,'9'
jaerror
pushax
movax,10
mulcounter0
movcounter0,ax;counter0=counter0*10
popax
subbx,bx
movbl,al
subbl,30h
addcounter0,bx;counter0=counter0+input
jmprd1
error:
movdx,offseterrorm
movah,09h
int21h
movdl,7
movah,2
int21h
jmpdone3
tr:
;forjmpdo
movdl,al
movah,02h
int21h
movdl,10
int21h
movdl,13
int21h
jmpdo
l2:
movdx,offsetmesg2
movah,09h
int21h
rd2:
;readcounter1
movah,01
int21h
cmpal,13;ifenter
jefdone2
cmpal,10
jefdone2
jmptdone2
fdone2:
jmpdone2
tdone2:
cmpal,10
jefdone2
cmpal,'0'
jberror
cmpal,'9'
jaerror
pushax
movax,10
mulcounter1
movcounter1,ax;counter1=counter1*10
popax
subbx,bx
movbl,al
subbl,30h;bh=0
addcounter1,bx;counter1=counter1+input
jmprd2
done1:
jmpl2
done2:
jmpout8253;afterentertwocounters
;set8253anddoit
done3:
movdx,offsetmesg3
movah,09h
int21h
l3:
movah,07h
int21h
cmpal,'Y'
jetr
cmpal,'y'
jetr
cmpal,'N'
jequit
cmpal,'n'
jequit
movdl,7
movah,02h
int21h
jmpl3
out8253:
;workcode
moval,00110110b
movdx,283h
outdx,al
movax,counter0
movdx,280h
outdx,al
moval,ah
out
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 同济大学 微机 原理 实验 报告 DOC
![提示](https://static.bdocx.com/images/bang_tan.gif)