单片机原理与接口技术实验指导书2015 - 图文

更新时间:2024-01-04 03:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《单片机原理与接口技术实验》

实验指导书

适用专业: 电信工程

通信工程 信息工程 自动化

信息与通信工程学院

前 言

一、课程性质

本课程是电子信息工程、通信工程、信息工程和自动化专业必修的专业实验课程。

通过本课程的教学,使学生深刻体会到单片机原理与接口技术的应用,掌握汇编和C51语言的语法和技巧,熟悉电子系统的设计和调试过程,使其具备研究和开发以单片机为核心的电子系统的能力。 二、项目设置

本课程总学时为16,开设的具体实验项目如下: ? 实验1 跑马灯控制(2学时,必修)

? 实验2 模拟交通灯控制系统设计(2学时,选修) ? 实验3 串行口通信实验(3学时,必修)

? 实验4 动态显示与矩阵式键盘实验(3学时,必修) ? 实验5 I2C的DA/ADC转换实验(3学时,选修)

三、本书特点

本指导书的特点是引入工程项目机制来管理实验项目,着重培养学生的方案设计、算法分析和现场调试能力,为将来成为卓越工程师打下坚实的基础。

I

目 录

目 录 ............................................................ 1 第一章 开发平台使用入门 ........................................... 1 1.1 KEIL C51使用入门............................................... 1 1.1.1 Keil C51简介 .............................................. 1 1.1.2 uVision4操作步骤 ......................................... 1 1.2 PROTEUS使用入门 .............................................. 10 1.2.1 Proteus简介 ............................................. 10 1.2.2 Proteus设计与仿真开发过程 ............................... 10 1.3 PZ-ISP使用介绍 .............................................. 18 1.3.1 USB驱动程序安装 ......................................... 18 1.3.2 PZ-ISP烧录软件使用 ...................................... 19 第二章 HNIST-2型单片机实验装置原理 ............................... 24 2.1 HNIST-2型单片机实验装置原理图 ............................... 24 2.2 单片机主机及外围电路 ........................................ 24 2.2.1 LED与简单按键电路 ....................................... 25 2.2.2 动态显示与矩阵式键盘电路 ................................ 26 2.2.3 AD与DA电路 ............................................. 28 2.2.4 E2PROM电路 .............................................. 29 第三章 实验项目 .................................................. 31 实验报告要求 ..................................................... 31 实验报告封面 ..................................................... 31 实验一 跑马灯实验 ............................................... 33 实验二 交通灯实验 ............................................... 36 实验三 串行口通信实验 ........................................... 40 实验四 动态显示与矩阵式键盘实验 ................................. 42 实验五 I2C的DA/ADC转换实验 ..................................... 45

第一章 开发平台使用入门

1.1 keil C51使用入门

1.1.1 Keil C51简介

Keil C51是德国Keil Software公司出品的51系列兼容单片机开发工具。 它集编辑、编译、仿真与调试于一体,支持C语言与汇编语言开发。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率非常高。

C51工具包目前的集成开发环境uVision将项目管理,源代码编辑和程序调试等组合在一个功能强大的环境中。目前,集成开发环境使用较多的版本为uVision4,因此,下面主要介绍uVision4的基本应用。 1.1.2 uVision4操作步骤

1、启动uVision4。

当正确安装keil软件后,会在桌面上自动建立一个名为“keil uVision4”的快捷图标,双击该图标启动软件,第一次进入uVision4的启动界面,如图1.1所示。

图1.1 uVision4启动界面

1

2、建立工程。

单击Project菜单,在下拉菜单中选中New Project选项。

图1.2 建立工程菜单

3、命名工程,进行保存。

选择你要保存的路径,输入工程文件的名字,如保存到exam1文件夹里,工程名命名为exam1,如下图1.4所示,然后点击保存。(注:因为一个工程中会包含多个文件,将工程放在文件夹中方便管理,一般给新建的工程建立一个文件夹,文件夹名和工程名一致,如图1.3所示)

图1.3 给新建的工程建立一个文件夹

2

图1.4 保存新建的工程

4、选择器件。

这时会弹出一个对话框,如图1.5所示,要求你选择单片机的型号,你可以根据所选用的单片机来选择,keil C51几乎支持所有的51核的单片机,这里以使用较多的Atmel 公司的AT89S52来说明,如图1.6所示,先选择Atmel并双击展开,然后选择AT89S52,点击“OK”。

图1.5 器件选择对话框

3

图1.6 选择MCU型号

5、完成上一步骤后,出现提示是否加载标准8051 Startup文件,单击“是(Y)”,如下图1.7所示。

图1.7 是否加载8051 STARTUP文件

6、源程序编辑。

在下图1.8中,单击“File”菜单,再在下拉菜单中单击“New”选项,或直接单击快捷按钮

图1.8 新建源程序

新建文件后界面如下图1.9所示。

4

编辑窗口

图1.9 源程序编辑界面

此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中单击“Save As”选项,或单击保存快捷按钮

,如下图1.10所示,在“文件名”栏右侧的编辑框中,

键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。此处我们保存为“exam1.asm”,然后,单击“保存”按钮。

图1.10 源程序保存

5

7、添加源程序到工程。

在编辑界面,单击Target 1前“+”号,在Source Group 1上单击右键,如图1.11所示。

图1.11 添加源程序到工程

然后单击“Add File to Group ‘Source Group 1’” 弹出对话框如下图1.12所示。

图1.12 添加源文件窗口

添加文件对话框默认文件类型为C source file ,是以C为扩展名的文件,由于这次我们编写的是汇编程序,是以asm为扩展名,所以我们要在文件类型的下拉列表中找到并选中Asm Source file,如图1.13所示。

6

图1.13 选择源文件的类型

选择好源文件类型后,会出现如图1.14所示窗口,双击exam1.asm,将文件加入项目。(注意,文件加载后,该对话框并不会消失,往往会误以为加载失败而再次双击加载,这时会出现图1.15所示对话框,提示文件已在列表中)

图1.14 添加汇编语言源文件

7

图1.15 提示文件已在工程中

返回到主界面后,我们注意到“Source Group 1”文件夹中多了一个子项“exam1.asm”。子项的多少与添加到工程中的源程序的多少相同。如图1.16所示。

图1.16 添加源程序后的主界面

8、程序编辑。

输入程序后的主界面如图1.17所示。

8

输入程序

图1.17 输入程序后的主界面

9、设置目标文件属性。

单击Project菜单,如图1.18所示。

图1.18 打开设置对话框

在下拉菜单中单击“Options for Target ?Target 1?”,弹出如图1.19所示对话框,单击Output标签,勾选Create HEX File选项,使程序编译后产生HEX代码,如图1.20所示。

9

图1.19 output页面设置对话框

图1.20 选中Create HEX File选项

10、编译工程。

点击“Project”菜单,在下拉菜单中单击“Built Target”选项(或者使用快捷键F7,或直接单击图标

或图标

),如源程序中有语法错误,会有错误提

示给出,应重新修改源程序,直至通过编译。

1.2 Proteus使用入门

1.2.1 Proteus简介

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

这里我们主要介绍51单片机系统的Proteus设计与仿真应用。 1.2.2 Proteus设计与仿真开发过程

10

51单片机系统的Proteus设计与仿真的开发过程如下: 1、电路设计。

在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等。

2、程序设计。

在μVision_4平台上进行单片机系统程序设计、编辑、汇编编译、代码级调试,最后生成目标代码文件(*.hex)。

3、仿真调试。

在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。它在相当程度上反映了实际单片机系统的运行情况。

具体操作步骤如下: 一 、Proteus仿真电路设计

1、启动proteus。

双击桌面上的ISIS Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional” →“ISIS 7 Professional”,进入Proteus ISIS集成环境。如图1.21所示。

图1.21 Proteus ISIS启动界面

2、新建设计文件。

启动Proteus 进入ISIS系统后,自动出现一个空白设计,模板默认为“DEFAULT”,文件名在窗口顶端的标题栏为未命名“Untitled”。单击按钮 ,对新建设计文件命名,其后缀自动为.DSN。

11

也可单击菜单中的“file→New Design”,出现选择模板窗口,如图1.22所示,选中模板“DEFAULT”,点击“确定”。单击按钮 件操作。

,完成新建设计文

图1.22 模板选择窗口

3、选取元器件并添加到对象选择器中。

单击绘图工具栏中元器件按钮

,进入元器件放置模式。单击如图1.23

所示“P”按钮,弹出 “Pick Devices”的选取元器件对话框,如图1.24所示,在其左上角关键字一栏中输入元器件名称,则出现与关键字匹配的元器件列表。选中元件,再单击“OK”按钮,便将该器件加入到ISIS对象选择器中,如图1.25所示。

12

元器件按钮 选取元器件

图1.23 选取元器件

图1.24 选取元器件对话框

13

对象选择器窗口 图1.25 所选元器件在对象选择器中显示

注意:单片机电路可以略去单片机振荡电路,复位电路,电源和接地。

4、放置、移动、旋转元器件。

放置元器件:单击ISIS对象选择器中的元器件名,蓝色条出现在该元器件名上,预览窗口出现该元件符号,如图1.26所示。把鼠标移到编辑窗口后,单击左键就出现该元件,拖动鼠标到某位置,单击鼠标放置元器件于该位置。

预览窗口出现所选器件符号 编辑窗口 单击器件名

图1.26 器件放置

移动元器件:先将鼠标指在元器件上左击选中,使元器件处于选中状态(即高亮度状态),再按住鼠标左键拖动,元器件就跟随指针移动到达目的地后,松

14

开鼠标即可。

若要改变元器件放置方向,转90°,对元器件右击选中,再根据弹出的菜单单击按钮 或 进行旋转,单击按钮 或 进行镜像操作,等等。

5、放置电源、地(终端) 。 单击绘图工具栏中终端按钮

,在ISIS对象选择器中出现如图1.27

所示终端,选择POWER、GROUND等,象放置元器件一样放置。

DEFAULT 缺省 INPUT OUTPUT BIDIR POWER BUS 终端按钮 双向 电源 输入 输出 GRONND 地 总线 图1.27 选择终端

6、连线。

直线:系统默认自动捕捉,在自动捕捉有效的情况下,当光标靠近引脚末端或线时该处会自动感应出现一个“□”,单击左键连线与该引脚连接,拖动鼠标连线跟着光标走,当光标靠近另外一个引脚末端或线出现“□”时,单击鼠标,则连线这两点间。

折线:若要画折线,只要在转折点单击左键;若在中途想取消,可右双击或按“Esc”键。

若两点之间较远或不方便连线:可以将连线在空白处时左双击即可结束画线,这时终端出现一个黑点。右击该连线,在弹出菜单中选择网络标号对该线给出一个网络标号,同样在连线的另外一端给出相同网络标号,则这两点连接了。

7、设计的简单电路。 如图1.28所示:

15

图1.28电路设计

二、 仿真调试

1、加载目标代码文件。

鼠标在ISIS编辑区中单片机AT89C51单击左键选中,再单击左键打开其属性窗口,如图1.29所示,在其中的“Program File”右侧框中输入Keil uVision4产生目标代码文件(*.hex)。在Clock Frequency栏中设置仿真时钟频率。

选择目标代码文件 设置仿真时钟频率

图1.29 加载目标代码文件

2、仿真。

16

单击仿真按钮中的单击停止仿真

按钮,则会全速仿真,如图1.30所示仿真效果。 按钮,则终止仿真。

图1.30 仿真效果图

3、虚拟仪器加入。

仿真时,可加入虚拟仪器。单击工具栏的虚拟仪器按钮一样放置。

,出现如图

1.31所示对话框,在对象选择器列表中选择所需要的仪器,然后象放置元器件

OSCILLOSCOPE COUNTER TIME VIRTUAL TERMINAL SPI DEBUGGER I2C DEBUGGER 示波器 时间计数器 虚拟终端 SPI调试器 I2C调试器 LOGIC ANALYSER 逻辑分析仪 SIGNAL GENERATOR 信号发生器 PATTERN GENERATOR 图形产生 DC VOLTMETER DC AMMETER 虚拟仪器按钮 AC AMMETER AC VOLTMETER 直流电压表 直流电流表 交流电压表 交流电流表 图1.31 虚拟仪器选择

17

如图1.32所示实例,利用示波器观测仿真波形。仿真时,右击示波器,在弹出的对话框中选择digital oscilloscope选项,观察从P1.0引脚产生的波形。

图1.32 仿真波形

1.3 PZ-ISP使用介绍

1.3.1 USB驱动程序安装

接上USB下载线,电脑会出现如图1.33显示,安装好USB驱动程序后,右击“我的电脑”?“属性”?“硬件”?“设备管理器”,查看设备管理器,如图1.34所示,表示安装成功。

18

图1.33 提示安装USB驱动程序

图1.34 安装成功

1.3.2 PZ-ISP烧录软件使用

1、PZ-ISP软件无需安装,双击打开即可运行。启动PZ-ISP,出现如图1.35所示启动界面

19

图1.35 启动界面

2、选择合适的芯片类型。如图1.36所示。

图1.36 选择合适芯片类型

3、选择合适的串口号。

如图1.37所示,串口号可自动获得,也可在辅助功能的“打开设备管理器”

20

选项中查看获得。

图1.37 选择合适串口号

4、加载HEX文件。

单击“打开文件”选项,打开对应程序目录,选定需要烧写的HEX文件,点击“打开”,如图1.38所示。

图1.38 加载HEX文件

5、下载程序。

选择低速下载,先将实验板断电,点击下载程序,如图1.39所示,稍等片

21

刻后打开电源,等待下载完成,如图1.40所示。

图1.39 试验板先断电,单击下载程序

图1.40打开电源,下载完成

以上介绍了利用PZ-ISP烧录软件烧录程序的步骤,共分为4步,如下图1.41所示。

22

1 2 4 3

图1.41 程序烧录步骤

如在烧录过程中提示下载失败,可能以下原因造成: 1、 第四步下载程序时,实验板电源开关顺序不正确; 2、 芯片类型选择不正确; 3、 串口号选择不正确; 4、 USB下载线没有连接好; 5、 下载速度没有调整好;

6、 芯片是否放置正确(没有放偏)。

23

2.2 单片机主机及外围电路

2.1 HNIST-2型单片机实验装置原理图

专门设计HNIST-2型实验装置,如图2.1所示。

第二章 HNIST-2型单片机实验装置原理

图2.1 HNIST-2型单片机实验装置原理图

脚连接到排插,以便通过排插连接到其它器件,P0口通过排阻接入上拉电阻。

湖南理工学院信息与通信工程学院电子信息教研室为了配合单片机教学,

STC89C52单片机及其外围电路如图2、3,其中P0、P1、P2、P3口均将引

晶振电路晶振频率为12MHz,通信接口排插将TXD、RXD以及地线引出。

24

插,显然低电平点亮LED。

2.2.1 LED与简单按键电路

(c) 复位电路

图2.2 STC89C52单片机主机部分电路原理图

图2.3 STC89C52单片机外围电路原理图

(a) 晶振电路 (b) 通信接口

LED电路如图2.4,共12个LED,其阳极通过1K排电阻接电源,阴极连接

到排插J10、J12,通过J10、J12可以连接到P0、P1、P2、P3口引脚连接的排

图2.4 LED电路原理图

25

简单按键电路如图2.5,共有4个按键K17、K18、K19、K20,分别连接到单片机P2.0、P2.1、P2.2、P2.3引脚,按键后对应引脚为低电平,通过4个二极管D17、D18、D19、D20连接到P3.2(外部中断0),即任意按一个键能在P3.2上产生一个低电平或下降沿,作为中断触发信号。

图2.5 简单按键电路原理图

2.2.2 动态显示与矩阵式键盘电路

动态显示电路如图2.6,共8个共阴极数码管,采用两片74LS573进行驱动,74LS573与74LS373都是8D锁存器,只是573引脚排列更易于布线。其引脚功能为:D1-D8为数据输入端;Q1-Q8为数据输出端;LE为数据输入锁存端,LE=1数据输入D锁存器,LE=0数据不能输入D锁存器,即LE下降沿锁存当前输入数据;OE地址输出允许端,OE=0输出锁存数据,OE=1输出高阻。

26

一个数码管做同样的操作。

图2.6 动态显示电路原理图

P1.3=0,U1、U2同时输出段码和位选码,进行显示,经过一段时间后,再对另

P1.3=1,U1、U2输出高阻;② P1.4=1,P0口输出段码,P1.4=0,U1锁存输入

电路中,U1输出段码a b c d e f g db,控制显示的字形与小数点,U2输出

的段码;③ P1.5=1,P0口输出位选码,P1.5=0,U2锁存输入的位选码;④

位选码,控制第几个数码管显示。单片机P1.4、P1.5分别连接到U1、U2的LE,P1.3连接U1和U2的OE。根据硬件电路,动态显示编程时,应:①

矩阵式键盘电路如图2.7,电路中P2.0-P2.3作为行线,P2.4-P2.7作为列线。

27

如图2.8。

2

2.2.3 AD与DA电路

图2.7 矩阵式键盘电路原理图

采用具有IC接口的8位A/D与D/A转换器PCF8591构成AD与DA电路

图2.8 AD与DA电路原理图

28

PCF8591引脚及功能如下表2.1所示:

表2.1 PCF8591引脚及功能表

引脚 AIN0~AIN3 A0~A3 SDA SCL AOUT VREF VDD、VSS AGND OSC EXT I/O I I I/O I O I I I I/O I 功能 4路模拟信号 引脚地址 数据线 时钟线 DAC 输出端 基准电源端 电源、数字信号地 模拟信号地 外部时钟输入,内部时钟输出端 内、外部时钟选择,接地内部时钟 电路中,P3.6、P3.4分别连接SCL、SDA,地址引脚A2A1A0=000,PCF8591的特征编码为1001,电路中PCF8591的地址为1001000。4路模拟输入,AIN0连接一个10K电位器的中心抽头,调节电位器可改变AIN0的模拟电压,AIN1、AIN2、AIN3通过排插可连接其他电压,如电源、地。

PCF8591的15脚AOUT是DAC输出的模拟量,电路中可以将J16的1、2脚短路,AOUT引脚通过50Ω电阻、LED与电源连接,输出模拟量越小,LED越亮。

2.2.4 E2PROM电路

E2PROM电路由具有I2C接口的24C02构成如图2.9。

图2.9 E2PROM电路原理图

29

24C02的引脚及功能如下表2.2所示:

表2.2 24C02的引脚及功能表

引脚 1~3 4 5 6 7 8 名称 A0、A1、A2 GND SDA SCL WP Vcc I/O I I I/O I I I 功能 可编程地址 地 数据线 时钟线 =1写保护 电源 电路中,P3.6,P3.4分别连接SCL、SDA,地址引脚A2A1A0=000,24C02的特征编码为1010,电路中24C02的地址为1010000。

此外,HNIST-2型单片机实验系统电路中,还包括如下电路,在课程设计或其它设计中可以采用。

1、 由CH340T构成的USB转串口电路; 2、 由DS1302构成的实时时钟电路;

3、 由LM386构成的音频功放电路,需要外接扬声器; 4、 蜂鸣器(BEEP)电路;

5、 LCD12864/LCD1602液晶接口电路,需外接液晶模块; 6、 红外接收接口电路,需外接器件; 7、 温度测量接口电路,需外接器件。

30

第三章 实验项目

实验报告要求

实验报告要求依次给出: 1、 实验内容 2、 电路原理图;

3、 程序流程图(简单程序可无); 4、 源程序;

5、 实验结果,如果有数据则给出数据; 6、 回答思考问题;

7、 总结实验调试过程,并给出本次实验过程中的心得体会。 按照上述顺序,整理实验报告,并打印整理,加上封面装订成册。

实验报告封面

31

学号 序号

单片机原理与接口技术

实验报告

实验项目序号 实验项目名称

姓 名 专 业 班 级 完成时间

32

1918171615141312Q0Q1Q2Q3Q4Q5Q6Q774HC573LEOEQ0Q1Q2Q3Q4Q5Q6Q7U21918171615141312U374HC573LEOE1111RP81k1098765432D0D1D2D3D4D5D6D723456789D0D1D2D3D4D5D6D7111U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332K121222324252627281011121314151617K2K3K418XTAL29RST293031PSENALEEA2345678912345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51U4AND_4 图3.4 动态显示与矩阵式键盘实验电路原理图

动态显示共8个共阴极数码管,采用两片74LS573进行驱动,74LS573与74LS373都是8D锁存器,只是573引脚排列更易于布线。其引脚功能为:D1-D8为数据输入端;Q1-Q8为数据输出端;LE为数据输入锁存端,LE=1数据输入D锁存器,LE=0数据不能输入D锁存器,即LE下降沿锁存当前输入数据;OE地址输出允许端,OE=0输出锁存数据,OE=1输出高阻。

电路中,U1输出段码a b c d e f g db,控制显示的字形与小数点,U2输出位选码,控制第几个数码管显示。单片机P14、P15分别连接到U1、U2的LE,连接U1、U2的OE。 五、软件设计思想

1、 动态显示。

(1) 仿照例题编程,设置8个数据的一维显示数组disp[],设置位选码数组sled_bit[],对应每个数码管;设置2个一维数组,data uchar ar[8]={1,9,4,9,1,0,0,1};data uchar br[8]={2,0,1,4,1,2,1,0};按K1、K2键进入外部中断0,在外部中断程序中根据按键将ar[]、br[]数据送人disp[]。

43

(2) T0每500us中断1次,在T0中断中点亮一个数码管。在T0中断函数中,① P1.3=1,U1、U2输出高阻;② P1.4=1,P0口输出段码,P1.4=0,U1锁存输入的段码;③ P1.5=1,P0口输出位选码,P1.5=0,U2锁存输入的位选码;④ P1.3=0,U1、U2同时输出段码和位选码,进行显示。

2、 矩阵式键盘按键识别

(1) 行、列输出后要延时,才读出相应特征值; (2) 进行键值分析前要具备如下条件:

① 要有键按下,设a是得到的键值,if(a!=0xff)才继续进行; ②要等键弹起,若输出P2=0x0f,则P2!=0x0f 要等待,

while(P2!=0x0f);

③ 每次进行完键值分析后,要延时。

六、实验思考题

1、 电路中为什么要用74LS573,不用74LS573,可用什么器件代替?如果U1、U2的OE都直接接地,应如何编程? 2、为什么要等键弹起,才进行键值分析?

3、如果用简单按键与矩阵式键盘构成组合按键,组合按键如何编程得到键值?

44

实验五 I2C的DA/ADC转换实验

一、实验目的

1、 掌握I2C的DA/ADC芯片与单片机接口方法; 2、 掌握I2C器件编程方法; 3、 掌握DAC和ADC的使用方法。 二、实验前准备

1、 完成作业7;

2、 根据实验内容编写好相关程序,并进行Proteus仿真。 三、实验内容

实验内容为3项,其中第1、2项必做。 1、D/A转换实验。

设置一个一维数组data uchar c[4]={0x00,0xa0,0xaa,0xff};按下K1、K2、K3、K4,分别将c[0]、c[1]、c[2]、c[3] 的值转换成模拟量输出,观察发光二极管D23的亮度。若是仿真,可以通过电压表观察模拟量的电压值。

2、单通道采样与动态显示。

对AIN0通道进行采样,将采样数据在1、2两位动态显示,调节电位器观察显示数据变化。

3、简易电压表实现。

对AIN0通道进行采样,将采样数据转换成4位电压值在1、2、3、4四位动态显示,注意只有1位整数3位小数。调节电位器观察显示数据变化。 四、实验原理图

实验原理图如图3.5所示:

45

1918171615141312Q0Q1Q2Q3Q4Q5Q6Q774HC573LEOEQ0Q1Q2Q3Q4Q5Q6Q7U21918171615141312U374HC573LEOE1111RN110k1098765432D0D1D2D3D4D5D6D723456789D0D1D2D3D4D5D6D7111U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516171095671211D17D18D19K1K2K3K418XTAL29RSTD20293031PSENALEEAR7U4SCLSDAA0A1A2AIN0AIN1AIN2AIN3AOUT1234151413LED-RED20012345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51D23R8100EXTVREFOSCAGNDPCF859123456789R51kRP950kR61k+4.99Volts 图3.5 IC的DA/ADC转换实验电路原理图

2

电路中,P3.6、P3.4分别连接SCL、SDA,地址引脚A2A1A0=000,PCF8591的特征编码为1001,电路中PCF8591的地址为1001000。4路模拟输入,AIN0连接一个10KΩ电位器的中心抽头,调节电位器可改变AIN0的模拟电压,AIN1连接电源,AIN2、AIN3连接地。

PCF8591的15脚AOUT是DAC输出的模拟量, AOUT引脚通过50Ω电阻、LED与电源连接,输出模拟量越小,LED越亮。注意在HNIST-2型实验装置中,将J16的1、2脚短路。 五、软件设计思想

1、 编程思路

仿照例题编写程序,采用例题的I2C的相关函数。动态显示采用实验四的方法,只将显示数据送人相应显示数组元素。

46

2、 简易电压表实现

注意在采样数据转换成4位电压值时,中间变量要设置长整形数据类型,并注意小数点设置。 六、实验思考题

1、 采用I2C接口的ADC有什么好处?

2、 如果通过按K1、K2、K3、K4键分别选择ADC采样0、1、2、3通道,

程序如何处理?

3、 如何利用芯片的通道自动增量的功能,对AIN0、AIN1、AIN2、通道轮流进行采样。

47

AIN3

本文来源:https://www.bwwdw.com/article/s9bx.html

Top