实验十七DA转换实验一Word文档下载推荐.docx
- 文档编号:16579305
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:11
- 大小:186.10KB
实验十七DA转换实验一Word文档下载推荐.docx
《实验十七DA转换实验一Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验十七DA转换实验一Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
MOVA,#00H
movdptr,#d_aport
bb:
movx@dptr,a
inca
cjnea,#0ffh,bb
djnzr0,bb
movr0,#0ffh;
产生三角波
cc:
cjnea,#0ffh,cc
dd:
deca
cjnea,#0ffh,dd
djnzr0,cc
sjmpstart
end
实验十八A/D转换实验
利用实验板上的ADC0809做A/D转换器,利用实验板上的电位器W1提供模拟量输入。
编制程序,将模拟量转换成二进制数字量,用发光二极管显示。
1.掌握A/D转换与单片机的接口方法。
2.了解A/D芯片ADC0809转换性能及编程。
3.通过实验了解单片机如何进行数据采集。
CS0809接8000H。
模块电位器V-OUT点(即中心抽头)接至ADC0809的IN0(通道0)。
EOC连P3.2(INT0)。
将单片机的P1.0~P1.7接至八位发光二极管L1--L8。
ADC0809是八位逐次逼近法A/D转换器,每采集一次一般需100us。
中断方式下,A/D转换结束后会自动产生EOC信号,经一级74LS14反向后与8031的INT0相接。
本示例程序采取了中断处理来正确读取A/D转换的结果。
用户也可以用延时来保证A/D转换完成。
读取结果由P1口送至八位发光二极管显示。
六.实验程序
A_DPORTEQU8000H;
0809通道0地址
LJMPSTART
ORG0003H
LJMPINT_0
MOVSP,#60H
MOVR7,#0FFH;
初始化
SETBIT0
SETBEA
SETBEX0;
INT0允许
A_D:
MOVDPTR,#A_DPORT
MOVX@DPTR,A;
启动A_D
CJNER7,#00H,$;
等待A_D转换结束
CPLA
MOVP1,A;
数据输出
清读数标志
SJMPA_D
INT_0:
MOVXA,@DPTR;
读A_D数据
MOVR7,#00H;
置读数标志
RETI
END
实验十九并行打印机实验
利用74LS273并行口和打印机插座J7,驱动并行打印机。
先用273往DATA1-8送上打印数据(ASCII码),再用P1.0在STROBE/上产生一负脉冲,然后用P1.1采样BUSY,BUSY为"
0"
,即打印该字符结束,可再送下一数据。
掌握并行打印机的驱动和编程。
PO0-PO7接DATA1-DATA8。
P1.0接STROBE/,P1.1接BUSY。
CS273接8300H。
实验采用的并行接口由八位数据线,两根控制线和一根地线组成。
其中两根控制线定义为STROBE/和BUSY。
程序采用查询方式,可驱动微型打印机。
PRT_DATAEQU8300H;
打印口的数据口地址
PRT_STROEQUP1.0;
打印口STRO线
PRT_BUSYEQUP1.1;
打印口BUSY线
SETBPRT_STRO;
初始化打印口
SETBPRT_BUSY
MOVDPTR,#PRT_TAB;
置表头地址
MOVR0,#0;
置计数器
PR_STR:
MOVA,R0
MOVCA,@A+DPTR;
读表格数据
CJNEA,#0FFH,PRINT;
判断字符串结束标志
SJMP$
PRINT:
LCALLPRT_CHAR;
打印字符
INCR0;
计数器加1
AJMPPR_STR
PRT_CHAR:
;
打印字符子程序
PUSHPSW;
保存现场
PUSHDPH
PUSHDPL
NOP
JBPRT_BUSY,$;
判断BUSY/状态
MOVDPTR,#PRT_DATA;
置数据口地址
发送数据
SETBPRT_STRO
CLRPRT_STRO
发STRO负脉冲
POPDPL;
恢复现场
POPDPH
POPPSW
RET
PRT_TABDB31H,32H,33H,34H,35H,36H,0DH,0AH,37H,38H,39H,0FFH
123456ENTER标志
实验二十电子音调实验
编制程序,利用P1.0输出不同频率的脉冲通过扬声器发出不同频率音调。
利用74LS244和开关量,决定输出音调。
1.了解计算机发声原理
2.学习使计算机发出不同音调声音的编程方法。
PI0-PI7接K1-K8,P10接SD。
CS244接8200H。
模块中的短路套套在1,2两端(上端)。
1.音阶由不同频率的方波产生,音阶与频率的关系如表一所示:
2.方波的频率由定时器控制。
定时器计数溢出后,产生中断,将P1.0口取反即得周期方波。
每个音阶相应的定时器初值X可按下法计算:
(1/2)*(1/f)=(12/fosc)*(216-X)
即X=216-(fosc/24f)
当晶振fosc=11.0592NHz时,音阶"
1"
相应的定时器初值为X,则可得
X=63777D=F921H,其它的可同样求得(见表一)
表一:
(单位:
Hz,X为十六进制)
音调频率(Hz)X(Hex#)
1
262
F921
2
294
F9E1
3
330
FA8C
4
349
FAD8
5
392
FB68
6
440
FBE9
7
494
FC5B
i
523
FC8F
3.音的节拍由延时子程序来实现。
延时子程序实现基本延时时间,节拍值只能是它的整数倍。
4.做此实验时,八位开关K1~K8均拨在下端,运行时,从左至右依次拨动K1~K8至上端,扬声器会发出1234567i。
六.实验程序:
PIEQU8200H;
开关输入口地址
ORG000BH;
T0中断程序入口地址
LJMPINT_T0
MOVTMOD,#01H;
T0方式1
CLRTR0;
关T0
SETBET0
SETBEA;
开中断
READ:
MOVDPTR,#PI
读开关值
MOVR1,A
MOVR0,#08H;
置计数器初值
MOVA,#01H;
置比较初值
KEY:
ANLA,R1
JZSOUND;
比较开关值
RLA;
改变比较值
DJNZR0,KEY
开关未拨,不发声
SJMPREAD
SOUND:
DECR0
MOVA,R0
ADDA,R0;
产生表格偏移量
MOVR0,A
MOVDPTR,#FREQUENCY;
置表格起始值
MOVCA,@A+DPTR
MOVR7,A;
查表,将结果存入公用寄存器R6,R7
INCA
MOVR6,A
SETBTR0;
T0允许
INT_T0:
CLRTR0;
T0关闭
CPLP1.0;
产生波形
MOVTH0,R7;
重载定时器
MOVTL0,R6
音阶频率表
FREQUENCY:
DB0FCH,8FH,0FCH,5BH,0FBH,0E9H,0FBH,68H;
i,7,6,5
DB0FAH,0D8H,0FAH,8CH,0F9H,0E1H,0F9H,21H;
4,3,2,1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 十七 DA 转换