单片机实验--实验指导书.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验项目 AD-DA转换实验 【实验目的】 学习I2C串行总线的工作原理 学习A/D芯片PCF8591的工作原理 学习C51编写程序控制AD-DA转换 【实验内容】 学习I2C总线的工作方式、寻址方式和数据传输过程; 学习A/D芯片PCF8591的引脚、电路图及其控制字节的使用; 实现给定的程序,学习AD-DA转换程序的编写。 完成实习报告 【实验原理】 连线: JP10 (P0)与JP12 用8PIN排线连接。 I2C串行总线的工作原理(参考教材第九章第一节)。 PCF8591工作原理: PCF8591是具有I2C总线的接口的8位A/D及D/A转换器。有4路A/D转换输入,1路D/A模拟输出。也即既可以做A/D转换,也可以做D/A转换。A/D转换为逐次比较型。 3.1 PCF8591电路图 图5-1 PCF8591电路图 3.2 引脚说明 图5-2 PCF8591引脚图 引脚说明: AIN0~AIN3:模拟输入信号端 A0~A2:硬件地址端; Vss、VDD:输入电压端(2.5~6V); SDA:I2C总线输入/输出端; SCL:I2C总线时钟信号输入端; OSC:外部时钟输入/内部时钟输出端; EXT:内部/外部时钟选择输入端; AGND:模拟信号接地端; AOUT:模拟量输出端; VREF:电压参考输入端。 器件总地址 PCF8591采用典型的I2C总线接口器件寻址方式,即总线地址由器件地址、引脚地址和方向组成。飞利浦公司规定A/D器件的地址都是1001。引脚地址为A0、A2、A2,其值由用户选择。因此I2C总线最多可以连接2×2×2=8个具有I2C总线接口的A/D器件。地址的最后一位是方向位,当主控器对A/D器件进行读操作时为1,进行写操作时为0。总线操作时,由器件地址、引脚地址和方向位组成的从地址为主控器发送的第一个字节。 控制字节 图5-3 PCF8591控制字节说明 控制字节用于实现器件的各种功能。控制字节存放在控制寄存器中。总线操作时,为主控器发出的第二个字节。在进行A/D转换数据操作时,首先是主控器发出起始信号,然后发出读寻址字节,被控器做出应答后,主控器从被控器读出第一个数据字节,主控器发出应答,主控器从被控器读出第二个数据字节,主控器发出应答;......,一直到主控器从被控器中读出第n个数据字节,主控器发出非应答信号,最后主控器发出停止信号。当进行D/A转换时, 【实验步骤】 单片机开发板的电源与PC的USB口相连,且在PC机上安装必要的软件。具体步骤参见文件夹“软件及其安装说明”中的“单片机实验--软件安装说明书.doc”。 在KEIL环境中编写和调试程序,具体操作步骤,请参见附录“步骤一:在KEIL环境中编写和调试程序”; 用程序烧录软件,具体操作步骤,请参见附录“实验步骤二:烧录HEX程序到单片机开发板中”; 完成实习报告填写工作; 【附录】 实验步骤一:在KEIL环境中编写和调试程序 单击桌面上的图标,则显示如下的窗口: 单击菜单中的“Project”项,则显示如下的弹出菜单: 选择其中的“New Project…”菜单项,则弹出如下的窗口: 在该窗口中,在“保存在(I):”中选择保存项目的文件夹,同时,在“文件名(N)”中键入项目名(注意:项目名最好是英文,而不是汉字;其次,项目名中不能加空格),键入项目名后,单击“保存(S)”按钮,则显示如下的窗口: 在“Data base”中选择“Atmel”项,单击其前面的“+”,显示如下的选择项,从中选择“AT89C51”,如下图所示: 单击上图中的“确定”按钮,显示如下的弹出窗口: 选择其中的“是(Y)”按钮。则新的项目创建成功,如下图显示: 单击菜单项中的“File--New”,如下图: 显示如下的文件编辑框,如下图所示: 点击菜单中的“File--Save”,如下图: 则显示如下的对话框: 在“文件名(N)”中键入文件名ADC.c,然后单击“保存”按钮,返回文件编辑界面,并编辑如下的AD转换程序: #includereg52.h #includeintrins.h #define uint unsigned int #define uchar unsigned char #define Delay4us() {_nop_();_nop_();_nop_();_nop_();} sbit SCL=P2^1; sbit SDA=P2^0; sbit LS138A=P2^2; sbit LS138B=P2^3; sbit LS138C=P2^4; uchar code tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; bit bdata IIc_ERROR;

文档评论(0)

企管文库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档