×
单片机 > 单片机程序设计 > 详情

基于单片机的高精度AD转换器的设计

发布时间:2020-09-03 发布时间:
|
1          前言
1.1      课题背景

 A/D转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理和采用工艺技术不同,因此生产出种类繁多的A/D转换芯片。A/D转换器按分辨率分为4位。6位。8位。10位。14位。16位和bcd码的31/2位。51/2位等。按照转换速度可分为超高速(转换时间≤330ns),次超高速(330~3.3μs),高速(转换时间3.3~333μs),低速(转换时间>330μs)等。A/D转换器按照转换原理可分为直接A/D转换器和间接A/D转换器。所谓直接A/D转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型A/D转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D芯片采用逐次逼近型者多;间接A/D转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。其中积分型A/D转换器电路简单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。有些转换器还将多路开关。基准电压源。时钟电路。译码器和转换电路集成在一个芯片内,已超出了单纯A/D转换功能,使用十分方便。

1.2      A/D转化电路简介

亦称“模拟数字转换器”,简称“模数转换器”。将模拟量或连续变化的量进行量化(离散化),转换为相应的数字量的电路。

A/D变换包含三个部分:抽样、量化和编码。一般情况下,量化和编码是同时完成的。

抽样是将模拟信号在时间上离散化的过程;

量化是将模拟信号在幅度上离散化的过程;

编码是指将每个量化后的样值用一定的二进制代码来表示。

1.3      A/D转化含义

  随着数字技术,特别是信息技术的飞速发展与普及,在现代控制。通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。由于系统的实际对象往往都是一些模拟量(如温度。压力。位移。图像等),要使计算机或数字仪表能识别。处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析。处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路-模数和数模转换器。

  将模拟信号转换成数字信号的电路,称为模数转换器(简称A/D转换器或adc,analog to digital converter);将数字信号转换为模拟信号的电路称为数模转换器(简称D/A转换器或dac,digital to analog converter);A/D转换器和D/A转换器已成为信息系统中不可缺少的重要的电子器件,为确保系统处理结果的精确度,A/D转换器和D/A转换器必须具有足够的转换精度;如果要实现快速变化信号的实时控制与检测,A/D与D/A转换器还要求具有较高的转换速度。转换精度与转换速度是衡量A/D与D/A转换器的重要技术指标。随着集成技术的发展,现已研制和生产出许多单片的和混合集成型的A/D和D/A转换器,它们具有愈来愈先进的技术指标。

1.4      性能参数

  D/A转换器是把数字量转换成模拟量的线性电路器件,已做成集成芯片。由于实现这种转换的原理和电路结构及工艺技术有所不同,因而出现各种各样的D/A转换器。目前,国外市场已有上百种产品出售,他们在转换速度。转换精度。分辨率以及使用价值上都各具特色。

  D/A转换器的主要参数:

  衡量一个D/A转换器的性能的主要参数有:

  (1)分辨率

  是指D/A转换器能够转换的二进制数的位数,位数多分辨率也就越高。

  (2)转换时间

  指数字量输入到完成转换,输出达到最终值并稳定为止所需的时间。电流型D/A转换较快,一般在几ns到几百ns之间。电压型D/A转换较慢,取决于运算放大器的响应时间。

  (3)精度

  指D/A转换器实际输出电压与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位。

  (4)线性度

当数字量变化时,D/A转换器输出的模拟量按比例关系变化的程度。理想的D/A转换器是线性的,但是实际上是有误差的,模拟输出偏离理想输出的最大值称为线性误差。

 

2          单片机及开发环境简介

2.1      MCS-51单片机简介 2.1.1  单片机的雏形

MCS-48单片机是美国INTE公司于1976年推出,它是现代单片机的雏形,包含了数字处理的全部功能,外接一定的附加外围芯片即构成完整的微型计算机,其主要的功能特征为: 
    8位CPU(中央处理器)、内置程序存储器(ROM)、随机存取数据存储器(RAM)和输入输出端口(I/O)全部集成在单一的芯片上而构成了完整的微型计算机。

1)      8位CPU。

2)      双列直插40PinDIP封装。

3)      所有指令均为1-2个机器周期。

4)      96条指令,大部分为单字节指令。

5)      2个工作寄存器。

6)      2个可编程定时/计数器。

7)      8层堆栈。

8)      单一+5V电源供电。使用6MHz外接石英晶体管振荡器,此时机器周期为2.5us。

2.1.2  单片机的发展

8048和8748是最早期的产品,8048本身具有64x8位RAM,1kx8位的ROM,而后期的8049中的RAM大到256字节,ROM却增加到了4kBytes,这个成绩在当时是相当可喜的。还有一类的产品本身是不带程序存储器的,象8035和8039,它的程序存储器只能外接,当时常用的是EPROM(紫外线擦除电写只读程序存储器)一类的ROM。   

MCS-48系列单片机还有几个产品,象8021和8022单片机,8021该系列中的低价型单片机,而8022则是包含了单片机所有功能,并集成了A/D转换器的产品。  

现在MCS-48系列单片机已完全退出了历史舞台,由MCS-51系列单片机取而代之。

2.1.3  单片机最小系统

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。

对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。下面给出一个51单片机的最小系统电路图(图1):                                          

 

 
 

图1

 

(1)    复位电路

由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C 取10u,R取10K。原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。至于如何具体定量计算,可以参考电路分析相关书籍。

(2) 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作),在本电路中,取12M。

(3) 单片机:一片AT89C51/52或其他51系列兼容单片机。对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。

1)      AT89C51单片机的共40个引脚功总共40个脚,电源用2个(Vcc和GND),晶振用2个,复位1个,EA/Vpp用1个,剩下还有34个。29脚PSEN,30脚ALE为外扩数据/程序存储器时才有特定用处,一般情况下不用考虑,这样,就只剩下32个引脚,它们是:
 P0端口P0.0 - P0.7共8个;
 P1端口P1.0 - P1.7共8个;
 P2端口P2.0 - P2.7共8个;
 P3端口P3.0 - P3.7共8个;

2.2      Proteus仿真软件简介

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件[9]。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

Proteus主要用于绘制原理图并可进行电路仿真,Proteus ARES 主要用于PCB 设计。ISIS 的主界面主要包括:1 是电路图概览区、2 是元器件列表区、3 是绘图区。绘制电路图的过程如下:

单击2 区的P 命令即弹出元器件选择(Pick Devices)对话框,Proteus 提供了丰富的元器件资源,包括30 余种元器件库,有些元器件库还具有子库。利用该对话框提供的关键词(Keywords)搜索功能,输入所要添加的元器件名称,即可在结果(Results)中查找,找到后双击鼠标左键即可将该元器件添到2 区,待所有需要的元器件添加完成后点击对话框右下角的OK 按钮,返回主界面。接着在2 区中选中某一个元器件名称,直接在3 区中单击鼠标左键即可将该元器件添加到3 区。

由于是英国的软件,特别要注意的是绘图区中鼠标的操作和一般软件的操作习惯不同,这正像是司机座位和人行道走向和国内不同一样。单击左键是完成在2 区中被选中的元器件的粘贴功能;将鼠标置于某元器件上并单击右键则是选中该元器件(呈现红色),若再次单击右键的话则删除该元器件,而单击左键的话则会弹出该元器件的编辑对话框(Edit Component);若不需再选中任何元器件,则将鼠标置于3 区的空白处单击右键即可;另外如果想移动某元器件,则选中该元器件后再按住鼠标左键即可将之移动。

元器件之间的连线方法为:将鼠标移至元器件的某引脚,即会出现一个“×”符号,按住鼠标左键后移动鼠标,将线引至另一引脚处将再次出现符号“×”,此时单击鼠标左键便可完成连线。连线时在需拐弯的地方单击鼠标左键即可实现方向的改变。绘制好电路后,可利用1 区的绿色边框对3 区的电路进行定位。

2.3      Keil编译及调试软件简介

目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器、源程序编辑器、程序调试器)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。

应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存——建立工程并添加源文件——设置工程——编译/汇编、连接,产生目标文件——程序调试。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File—New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File—Open…,直接打开已用其他编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project—New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其他文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project—Option for Target ’Target1’(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其他选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。   

成功编译/汇编、连接后,选择菜单Debug—Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。Keil能以单步执行(按F11或选择Debug—Step)、过程单步执行(按F10或选择Debug—Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug—Inline Assambly…),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug—Insert/Remove Breakpoint或Debug—Breakpoints…等)。在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。

Keil软件Eval版(免费产品)的功能与商业版相同,只是程序的最大代码量不得超过2kB,但对初学者而言已是足够。Keil软件由于其强大的软件仿真功能,友好的用户界面以及易于掌握的特点而受到工程技术人员的欢迎,有人甚至认为Keil是目前最好的51单片机开发应用软件。

 

3          AD转换电路分析

一个完整的AD采集电路包括小信号放大,AD转换器,CPU软件处理,输出。

 

微处理器

AD转换器

小信号放大器

小信号输入

 

 

 

 

                       图1 完整的AD采集电路

引起AD转换误差的因素有:电路板信号走线、地线分布不合理、运放大器、比例放大电阻误差、放大倍数误、AD转换器,这些综合因素的存在使设计者很难校正误差,有一些需要高数度的产品,如果用常规的方法去校正很难达到精度要求!

我们把电路板信号走线、地线分布不合理、运放大器、比例放大电阻误差、放大倍数误差、AD转换器等误差用 表示

 

       
 
 
   

 

 

 

 

 

图2 高精度采集校正原理

图2所示

(1)  为系统综合误差

(2)  Ref为基准电压

(3)  Vx为被测量电压

(4)  G为放大倍数

(5)  Vout 为AD转换后的AD值

3.1      零点校正

把开关打到1,把输入端接地。

[page]

           
 
 
   
 
   

 

图3零点校正

记录AD采集到的电压Vout,记V1

 

      (1)

 

 

3.2      参考电压校正

把开关打到2,把输入端接到一个比较准确的电压,这个电压的大小应根据实际情况来定,如测量范围为0-10V,可以把参考电压设为2.5V。

 

 

           
 
 
   
 
   

 

 

 

 

 

记录AD采集到的电压Vout,记V2

 

     (2)

 

 

 

 

 

 

 

3.3      测电压

把开关打到3,把输入端接到被测量的电压Vx

 

           
 
 
   
 
   

 

 

 

 

 

记录AD采集到的电压Vout,记V3,被测量的电压记x

     (3)

 

把上面的3 个公式做一个转换

       (4)

      (5)

(4)除以(5)

 

 

所以                 (6)

求Vx                   (7)

公式(7)所示,V1,V2,V3为AD采集的值,Ref为用标准万用表测量到的值。

 

4          单片机与A/D转换器ADC0809的接口设计

4.1      硬件设计

51单片机的一个I/O口接ADC0809获得电压经过模数转换后的数据,再通过另一个I/O口控制数码管显示得到的数字。

4.1.1    A/D转换器芯片ADC0809简介

 8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。

图9.8 《ADC0809引脚图》

4.1.2  1. ADC0809的内部结构

ADC0809的内部逻辑结构图如图9-7所示。

  

图9.7 《ADC0809内部逻辑结构》

      图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表9-1为通道选择表。

                             表9-1 通道选择表

4.1.3  信号引脚

         ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图9.8。

             对ADC0809主要信号引脚的功能说明如下:

         IN7~IN0——模拟量输入通道

         ALE——地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。

        START——转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST.

A、B、C——地址线。 通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表9-1。

CLK——时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号

EOC——转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。

D7~D0——数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高

OE——输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。

Vcc—— +5V电源。

Vref——参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V).

4.2       MCS-51单片机与ADC0809的接口

        ADC0809与MCS-51单片机的连接如图9.10所示。

      电路连接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。

4.3      8路模拟通道选择

图9.10 ADC0809与MCS-51的连接

    如图9.11所示模拟通道选择信号A、B、C分别接最低三位地址A0、A1、A2即(P0.0、P0.1、P0.2),而地址锁存允许信号ALE由P2.0控制,则8路模拟通道的地址为0FEF8H~0FEFFH.此外,通道地址选择以作写选通信号,这一部分电路连接如图9.12所示。

图9.11 ADC0809的部分信号连接            

   图9.12 信号的时间配合

       从图中可以看到,把ALE信号与START信号接在一起了,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。图9.19是有关信号的时间配合示意图。

         启动A/D转换只需要一条MOVX指令。在此之前,要将P2.0清零并将最低三位与所选择的通道好像对应的口地址送入数据指针DPTR中。例如要选择IN0通道时,可采用如下两条指令,即可启动A/D转换:

MOV DPTR , #FE00H ;送入0809的口地址

MOVX @DPTR , A ;启动A/D转换(IN0)

注意:此处的A与A/D转换无关,可为任意值。

4.4      转换数据的传送

    A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。

(1)定时传送方式

    对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。

(2)查询方式

    A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。

(3)中断方式

    把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。

不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。

不管使用上述那种方式,只要一旦确认转换结束,便可通过指令进行数据传送。所用的指令为MOVX 读指令,仍以图9-17所示为例,则有

MOV DPTR , #FE00H

MOVX A , @DPTR

      该指令在送出有效口地址的同时,发出有效信号,使0809的输出允许信号OE有 

效,从而打开三态门输出,是转换后的数据通过数据总线送入A累加器中。

    这里需要说明的示,ADC0809的三个地址端A、B、C即可如前所述与地址线相连,也可与数据线相连,例如与D0~D2相连。这是启动A/D转换的指令与上述类似,只不过A的内容不能为任意数,而必须和所选输入通道号IN0~IN7相一致。例如当A、B、C分别与D0、D1、D2相连时,启动IN7的A/D转换指令如下:

MOV DPTR, #FE00H  ;送入0809的口地址
MOV A ,#07H ;D2D1D0=111选择IN7通道

MOVX @DPTR, A ;启动A/D转换

4.5      A/D转换应用举例

      设有一个8路模拟量输入的巡回监测系统,采样数据依次存放在外部RAM 0A0H~0A7H单元中,按图9.10所示的接口电路,ADC0809的8个通道地址为0FEF8H~0FEFFH.其数据采样的初始化程序和中断服务程序(假定只采样一次)如下:

初始化程序:

 

MOV

R0, #0A0H

;数据存储区首地址

 

MOV

R2, #08H

;8路计数器

 

SETB

IT1

;边沿触发方式

 

SETB

EA

;中断允许

 

SETB

EX1

;允许外部中断1中断

 

MOV

DPTR, #0FEF8H

;D/A转换器地址

LOOP:

MOVX

@DPTR, A

;启动A/D转换

HERE:

SJMP

HERE

;等待中断

中断服务程序:

 

DJNZ

R2, ADEND

 

 

MOVX

A, @DPTR

;数据采样

 

MOVX

@R0, A

;存数

 

INC

DPTR

;指向下一模拟通道

 

INC

R0

;指向数据存储器下一单元

 

MOVX

@DPTR, A

 

ADEND:

RETI

 

 

[page]

5          C语言经典程序           

float ad_convert(void)

{

float V1, V2, Vref, V3,Vx,Voltage;

voltage=cai_ad();//AD采集子函数,返回是AD采集到的值

V1=0.007;// 零点校正,AD转换值,公式(1)所示V1,单位V

    V2=2.511; //参考电压校正, AD转换值,公式(2)所示V2,单位V

    Vref=2.498;//用标准万用表实测的电压值,单位V

    V3=Voltage;//被测量电压AD转换返回值,单位V

    Vx=(( V3- V1)/( V2- V1))* Vref;

Retrun Vx

}

那么函数返回值应该用万用表所测量的值差不多。大大提高了测量精度

 

 

 

 

 

 

 

 

 

6          实践问题提出

6.1      零点校正调试困难

在实际应用过程中发现,有的电路如果把输入端接入到1-9mV可调电压,通过AD转换结果发现AD采集到的值一直是0,那如何确定 公式中的V1呢?

 

 

 

           
 
 
   
 
   

 

 

 

 

那么把公式(6)      做一下转换

 

     (8)

那么只要作两个参考电压即 和 ,就可以求出V1

 和 是用万用表测量到的电压

V2和V3是AD转换器得到的电压

如测量电压范围为1V到10V

那么可以设 Vref=3V   Vx=8V

用万用测量Vref=3.0003V  Vx=8.0005V

用AD转换器采集到的电压  V2=3.0121V   V3=8.0213V

           把Vref、Vx、V2、V3 代入公式(8)

    

即可以求出V1零点校正电压值

7          致谢

首先感谢各位指导老师,各位同学给我的支持和帮助,感谢他们在这几个月份给与的关键性指导和提议。

同时我也感谢家里的父母,为我提供了一个很好的学习环境,和无微不至的关怀,在我感到困难和灰心时,他们对我的鼓励,我的成功有他们不可以或缺的功劳。

感谢我的指导老师,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。 

感谢同学们对我的帮助和指点。没有他们的帮助和提供资料对于我一个对网络知识一窍不通的人来说要想在短短的几个月的时间里学习到电子知识并完成毕业论文是几乎不可能的事情。 

岁月如流,流走的是时光,流不动的是永存于心底的这份情愫!

8          参考书目

[1]苏长赞主编:《实用遥控技术手册》,北京:人民邮电出版社,1996年。

[2]陈永甫主编:《红外探测与控制电路》,北京:人民邮电出版社,2004年。

[3]无线电爱好者丛书编委会,黄继昌等主编:《实用识别电路》,北京:     人民邮电出版社,2005年。

[4]华中理工电子学教研室编,康华光主编:《电子技术基础》(模拟部分)(第四版),北京:高等教育出版社,1999年。

[5]华中理工电子学教研室编,康华光主编:《电子技术基础》(数字部分)(第四版),北京:高等教育出版社,2000年。

[6]秦曾煌主编:《电工学》上册,电工技术(第五版),北京:高等教育出版社,1999年。

[7]秦曾煌主编:《电工学》下册,电子技术(第五版),北京:高等教育出版社,1999年。

[8]万福君.单片机微机原理系统设计与应用.中国科学技术大学出版社,2003.

[9]宏晶科技.STC89CS1RC-RD+- GUIDE. http://www.stc-mcu.com.cn. 2005.

[10]基于Keil CS 1高级语言的TKS系列仿真器使用指南.广州致远电子有限公司,2004.

[11]袁希光.传感器技术手册.国防工业出版社,1986.

[12]强锡福.传感器.机械工业出版社,2000.

[13]徐爱均.Keil Cx51 V7.0单片机高级语言编程与u Vision2应用实践.电子工业出版社,2004.

[14]赖麒文.8051单片机C语言彻底应用.科学出版社,2002.

[15]周航慈.单片机应用程序设计技术.北京航空航天大学出版社,1991,

[16]马忠梅,籍顺心.单片机的C语言应用程序设计.北京航空航天大学出版社,1999.

[17]刘光斌,刘冬,姚志成.单片机系统实用抗干扰技术.人民邮电出版社,2003.

[18]张伟,王力,赵晶.Protel DXP入门与提高.人民邮电出版社,2003.

[19]阎石.数字电子技术基础.高等教育出版社,1998.

[20]《MCS-51系列单片机实用接口技术》作者:李华  出版社: 北京航空航天大学出版社   出版日期:2001-5-1

[21]《流行单片机实用子程序及应用实例》  作者: 杨振江 杜铁军 李群  出版社: 西安电子科技大学出版社 出版日期:2002-7-1

[22]《51单片机教程》 EDA学习网




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
基于STM32单片机秒中断源和闹钟中断源的解决方案