- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理实验指导书6
实验六 A/D与D/A实验
实验目的
加深对A/D、D/A基础知识和并行扩展接口知识的理解。
实验设备
Keil C单片机程序开发软件。
Proteus仿真软件
DP51-PROC单片机综合实验仪。
DT-2003数字万用表。
实验内容和步骤
内容:
利用ADC0809和DAC0832实现模拟电压信号的采集与输出。
实验程序:
使用T1作为定时器(定时时间为50毫秒),每1秒时间后,启动ADC0809转换,在转换结束后(触发外部中断)读出A/D转换值,将该值输出到DAC0832,并同时显示到LCM显示器上(显示子程序/函数由实验库文件提供)。
本次实验程序需要使用实验库文件(LCMDRV_12864.LIB)。该库中的子程序/函数占用单片机片内RAM中地址为18H~20H的单元,因此实验程序不能使用这些单元。
如果用汇编编写实验程序,必须先用$INCLUDE (LCMDRV_12864.INC )指令加载实验库头文件,实验五中的表2.5说明了LCMDRV_12864.LIB中子程序的功能和在汇编语言编程时的调用方法。
如果用C51编写实验程序,必须先用#include LCMDRV_12864.h语句加载实验库头文件,库函数的使用详见LCMDRV_12864.h中的说明。
设计思路:
① 主程序在完成对INT1和T1的设置后,可进入死循环(等待中断请求)。
② 在T1的中断服务程序中需要使用一存储单元对T1的中断次数进行计数,当计数次数达20次时,意味着定时1秒时间到(参见实验五),此时才启动一次AD转换(通过向ADC0809的一次写操作实现)。
③ AD转换的结束信号作为中断请求(INT1)。在对该中断的响应和服务时,才读出本次AD转换的结果值,该值又作为DA转换的值(向DAC0832写)。
④ 为便于理解,数值在显示前应进行BCD转换(库文件自动完成转换)。
设计参考:
① 主程序需要设置的控制位如下:
IT1 外部中断触发方式控制 0=电平 1=边沿(下降沿)
EX1和ET1 外部中断允许控制 0=屏蔽 1=允许
PX1和PT1 中断优先级级别控制 0=低级 1=高级
EA 中断允许总控制 0=屏蔽 1=允许
TR1 定时/计数器运行控制 0=停止 1=允许
② 定时/计数器工作方式控制寄存器(TMOD):
GATE 门控位 0=由TRX控制定时/计数器运行
1=TRX和INTX信号共同控制
( X = 0或1)
C/T 定时/计数方式选择 0=定时 1=计数
M1M0 工作方式选择 00=13位定时/计数器工作方式
01=16位定时/计数器工作方式
10=常数自动装入的8位定时/计数器工作方式
11=两个8位定时/计数器工作方式(仅适用于T0)
③ 中断服务程序的入口地址:
0013H 外部中断1
001BH 定时/计数器1
④ 地址分配
ADC0809 3C00H~3C07H(IN0 ~ IN7)
DAC0832 3800H
预习:
编写好实验程序。
根据编写的程序和实验步骤的要求制定调试仿真的操作方案。
实验单元电路:
ADC0809电路。
DAC0832电路。
显示器电路
参见实验五图2.11。
步骤:
在S: \ STUDY \ Keil文件夹中新建Ex06文件夹(该文件夹用于保存本次实验的所有内容),通过网上邻居将服务器上本次实验共享文件夹下的所有文件拷贝到S: \ STUDY \ Keil \ Ex06文件夹中
在Keil C中创建一个新工程,新工程保存为S: \ STUDY \ Keil \ Ex06\Ex06. uv2,然后选择单片机型号为Generic中的8051
设置工程选项,将工程选项设置如下:
Target页夹: Xtal= 12 MHz
Output页夹: Create HEX File
Debug页夹: 根据步骤的需要正确设定(参见实验1中步骤5、6、7)
BL51 Locate页夹: 取消Use Memory Layout from Target Dialog设置Code Range属性为0x40-0xFFF设置Bit属性的Base为0x08设置Data属性的Base为0x30如用C51编程,才需设置此页夹。
将LCMDRV_12864.LIB加入到工程中(操作方法参见实验五步骤4)。如果使用C51编写源程序,还需要将STARTUP.A51加入到工程中(操作方法参见实验五步骤4)。然后,创建新文件并输入编写的实验程序,将其保存在与工程相同的文件夹中(文件名为Ex06. ASM或Ex06. C),最后将实验源程序文件加入到工程中并通过编译。
按预习制定的调试方案利用Keil自身的软件
文档评论(0)