使用89C2051实现A/D的使用方法和程序A/D转换设计 at89c2051串口程序

一、选题的背景和意义:随着数字电子技术的迅速发展,用数字电路来处理模拟信号的情况更加普及。这就涉及到模拟信号与数字信号间的相互转换:从模拟信号到数字信号的转换称模/数转换(又称A/D转换),完成A/D转换的电路称A/D转换器(简称ADC); 从数字信号到模拟信号的转换称数/模转换(又称D/A转换),完成D/A转换的电路称D/A转换器(简称DAC)。

二、课题研究的主要内容:A/D转换是将模拟信号转换为数字信号。转换过程通过取样、保持、量化和编码四个步骤完成。通常取样和保持是利用同一个电路连续过程进行的,量化和编码也是在转换过程中同时实现。

模拟/数字(A/D)转换

一,逐次逼近式模/数(A/D)转换器原理

二,逐次逼近A/D本组成

三,典型模/数转换器AT89C2051

三、本课题要研究或解决的问题和拟采用的研究手段(途径):单片机系统: AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。

摘要

AT89C2051是一个功能强大的单片机,它将AT89C51的P0口、P2口、EA/Vcc、ALE/PROG、 口线简化后,形成的一种仅20个引脚的单片机,相当于INTEL8031的最小应用系统。这对于一些不太复杂的控制场合,仅用一片AT89C2051就足够了。由于将多功能的8位CPU和2KB闪速存储器以及模拟电压比较器集成到单个芯片上,从而成为一种多功能的微处理器,这为许多嵌入式控制提供了一种极佳的方案,使传统的51系列单片机的体积大、功耗大、可选模式少等诸多困扰设计工程师们的致命弱点不复存在。

关键词:AT89C2051 闪速存储器 模拟电压比较器 多功能的微处理器

目 录

第一章 引言 2

1.1A/D转换器 2

1.1.1 A/D转换器的基本原理 2

1.1.2 A/D转换器的构成 2

1.1.3 集成A/D转换器及应用 2

2.1器件和原理 2

2.1.1 AT89C2051为什么可以不需要外部的A/D芯片? 2

2.1.2 AT89C2051的A/D转换是如何实现的? 2

3.1电路 2

3.1.1电路原理和器件选择 2

3.1.2地址分配和连接 2

4.1逐次逼近式 2

4.1.1逐次逼近式模/数(A/D)转换器原理 2

4.1.2逐次逼近式A/D转换器基本组成 2

4.1.3典型模/数转换器AT89C2051 2

4.1.3.1芯片简介 2

4.1.3.2 AT89C2051工作时序 2

4.1.3.3 AT89C2051与微处理器的连接 2

5.1程序设计 2

5.1.1程序功能 2

5.1.2主要器件和变量的说明 2

5.1.3程序代码 2

参考文献 4

附录 A 4

附录 B 4

致谢 4

引言

AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。

AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。

同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。

1.1 A/D转换器

1.1.1, A/D转换器的基本原理

模拟电子开关S在采样脉冲CPS的控制下重复接通,断开的过程.S接通时,ui(t)对C充电,为采样过程;S断开时,C上的电压保持不变,为保持过程.在保持过程中,采样的模拟电压经数字化编码电路转换成一组n位的二进制数输出.t0时刻S闭合,CH被迅速充电,电路处于采样阶段.由于两个放大器的增益都为1,因此这一阶段uo跟随ui变化,即uo=ui.t1时刻采样阶段结束,S断开,电路处于保持阶段.若A2的输入阻抗为无穷大,S为理想开关,则CH没有放电回路,两端保持充电时的最终电压值不变,从而保证电路输出端的电压uo维持不变.

(1)分辨率

A/D转换器的分辨率用输出二进制数的位数表示,位数越多,误差越小,转换精度越高.例如,输入模拟电压的变化范围为0~5V,输出8位二进制数可以分辨的最小模拟电压为5V2-8=20mV;而输出12位二进制数可以分辨的最小模拟电压为5V2-12≈1.22mV.

(2)相对精度

在理想情况下,所有的转换点应当在一条直线上.相对精度是指实际的各个转换点偏离理想特性的误差.

(3)转换速度

转换速度是指完成一次转换所需的时间.转换时间是指从接到转换控制信号开始,到输出端得到稳定的数字输出信号所经过的这段时间0≤uiVREF/14≤ui<3VREF/14时,7个比较器中只有C1输出为1,CP到来后,只有触发器FF1置1,其余触发器仍为0.经编码器编码后输出的二进制代码为d2d1d0=001.

1.1.2, A/D转换器的构成

3VREF/14 ≤ui<5VREF/14时,比较器C1,C2输出为1,CP到来后,触发器FF1,FF2置1.经编码器编码后输出的二进制代码为d2d1d0=010.5VREF/14≤uiuo,说明数字过大了,故将最高位的1清除;若ui<UO,说明数字还不够大,应将这一位保留.然后,再按同样的方式将次高位置成1,并且经过比较以后确定这个1是否应该保留.这样逐位比较下去,一直到最低位为止.比较完毕后,寄存器中的状态就是所要求的数字 量输出.

基本原理

3位逐次逼近型A/D转换器

转换开始前,先使Q1=Q2=Q3=Q4=0,Q5=1,第一个CP到来后,Q1=1,Q2=Q3=Q4=Q5=0,于是FFA被置1,FFB和FFC被置0.这时加到D/A转换器输入端的代码为100,并在D/A转换器的输出端得到相应的模拟电压输出uo.uo和ui在比较器中比较,当若ui

第二个CP到来后,环形计数器右移一位,变成Q2=1,Q1=Q3=Q4=Q5=0,这时门G1打开,若原来uc=1,则FFA被置0,若原来uc=0,则FFA的1状态保留.与此同时,Q2的高电平将FFB置1.

第三个CP到来后,环形计数器又右移一位,一方面将FFC置1,同时将门G2打开,并根据比较器的输出决定FFB的1状态是否应该保留.

第四个CP到来后,环形计数器Q4=1,Q1=Q2=Q3=Q5=0,门G3打开,根据比较器的输出决定FFC的1状态是否应该保留.

第五个CP到来后,环形计数器Q5=1,Q1=Q2=Q3=Q4=0,FFA,FFB,FFC的状态作为转换结果,通过门G6,G7,G8送出.

工作原理

基本原理:对输入模拟电压和基准电压进行两次积分,先对输入模拟电压进行积分,将其变换成与输入模拟电压成正比的时间间隔T1,再利用计数器测出此时间间隔,则计数器所计的数字量就正比于输入的模拟电压;接着对基准电压进行同样的处理.

1.1.3, 集成A/D转换器及应用

A/D转换器的功能是将输入的模拟信号转换成一组多位的二进制数字输出.不同的A/D转换方式具有各自的特点.并联比较型A/D转换器转换速度快,主要缺点是要使用的比较器和触发器很多,随着分辨率的提高,所需元件数目按几何级数增加.双积分型A/D转换器的性能比较稳定,转换精度高,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低,在对转换精度要求较高,而对转换速度要求较低的场合,如数字万用表等检测仪器中,得到了广泛的应用逐次逼近型A/D转换器的分辨率较高,误差较低,转换速度较快,在一定程度上兼顾了以上两种转换器的优点,因此得到普遍应用.

系统板上硬件连线

1). 把“单片机系统板”区域中的P1端口的P1.0-P1.7用8芯排线连接到“动态数码显示”区域中的A B C D E F G H端口上,作为数码管的笔段驱动。

(2). 把“单片机系统板”区域中的P2端口的P2.0-P2.7用8芯排线连接到“动态数码显示”区域中的S1 S2 S3 S4 S5 S6 S7 S8端口上,作为数码管的位段选择。

(3). 把“单片机系统板”区域中的P0端口的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端口上,A/D转换完毕的数据输入到单片机的P0端口

(4). 把“模数转换模块”区域中的VREF端子用导线连接到“电源模块”区域中的VCC端子上;

(5). 把“模数转换模块”区域中的A2A1A0端子用导线连接到“单片机系统”区域中的P3.4 P3.5 P3.6端子上;

(6). 把“模数转换模块”区域中的ST端子用导线连接到“单片机系统”区域中的P3.0端子上;

(7). 把“模数转换模块”区域中的OE端子用导线连接到“单片机系统”区域中的P3.1端子上;

(8). 把“模数转换模块”区域中的EOC端子用导线连接到“单片机系统”区域中的P3.2端子上;

(9). 把“模数转换模块”区域中的CLK端子用导线连接到“分频模块”区域中的 /4 端子上;

(10). 把“分频模块”区域中的CK IN端子用导线连接到“单片机系统”区域中的 ALE 端子上;

(11). 把“模数转换模块”区域中的IN3端子用导线连接到“三路可调压模块”区域中的 VR1 端子上;

程序设计内容

(1). 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。

(2). 进行A/D转换之前,要启动转换的方法:

ABC=110选择第三通道

ST=0,ST=1,ST=0产生启动转换的正脉冲信号

汇编源程序

CH EQU 30H

DPCNT EQU 31H

DPBUF EQU 33H

GDATA EQU 32H

ST BIT P3.0

OE BIT P3.1

EOC BIT P3.2

ORG 00H

LJMP START

ORG 0BH

LJMP T0X

ORG 30H

START: MOV CH,#0BCH

MOV DPCNT,#00H

MOV R1,#DPCNT

MOV R7,#5

MOV A,#10

MOV R0,#DPBUF

LOP: MOV @R0,A

INC R0
使用89C2051实现A/D的使用方法和程序A/D转换设计 at89c2051串口程序

DJNZ R7,LOP

MOV @R0,#00H

INC R0

MOV @R0,#00H

INC R0

MOV @R0,#00H

MOV TMOD,#01H

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256

SETB TR0

SETB ET0

SETB EA

WT: CLR ST

SETB ST

CLR ST

WAIT: JNB EOC,WAIT

SETB OE

MOV GDATA,P0

CLR OE

MOV A,GDATA

MOV B,#100

DIV AB

MOV 33H,A

MOV A,B

MOV B,#10

DIV AB

MOV 34H,A

MOV 35H,B

SJMP WT

T0X: NOP

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256

MOV DPTR,#DPCD

MOV A,DPCNT

ADD A,#DPBUF

MOV R0,A

MOV A,@R0

MOVC A,@A+DPTR

MOV P1,A

MOV DPTR,#DPBT

MOV A,DPCNT

MOVC A,@A+DPTR

MOV P2,A

INC DPCNT

MOV A,DPCNT

CJNE A,#8,NEXT

MOV DPCNT,#00H

NEXT: RETI

DPCD: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH,00H

DPBT: DB 0FEH,0FDH,0FBH,0F7H

DB 0EFH,0DFH,0BFH,07FH

END

2.1 器件和原理

2.1.1.AT89C2051为什么可以不需要外部的A/D芯片?

AT89C2051和89C51相比,除去掉了Po口和P2口,并在P1口的P1.0、P1.1与P3口的P3.6间嵌入了一个精确的模拟比较器外,其他硬件资源完全相同。

AT89C2051是ATMEL公司生产的带2K字节闪速可编程可擦除只读存储器(EEPROM)的8位单片机,它具有如下主要特性:

·和MCS-51产品的兼容

·2K字节可重编程闪速存储器

·耐久性:1,000写/擦除周期

·2.7V~6V的操作范围

·全静态操作:0Hz~24MHz

·两级加密程序存储器

·128×8位内部RAM

·15根可编程I/O引线

·两个16位定时器/计数器

·六个中断源

·可编程串行UART通道

·直接LED驱动输出

·片内模拟比较器

·低功耗空载和掉电方式

此外,AT89C2051设有静态逻辑,可以在低到零频率的条件下工作,支持两种软件可选的省电模式。

AT89C2051有20个引脚,AT89C2051的硬件引脚如图1-1所示。从图中可以看出,除了缺少89C51通用单片机的一些常用引脚外,AT89C2051的P1.0、P1.1与P3口的P3.6还被赋予了其他的功能,即含有模拟输入和比较的功能,这就是我们为什么可以采用AT89C2051而不需要外部A/D芯片实现数据采集的关键。

图1-1 AT89C2051的引脚封装

AT89C2051芯片的20个引脚功能为:

1). Vcc:电源电压。

2). GND:地。

3). P1口:P1口是一8位双向I/O口。口引脚P1.2~P1.7提供内部上拉电阻。 P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚P1.2~P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。

P1口还在闪速编程和程序校验期间接收代码数据。

4). P3口:P3口的P3.0~P3.5、P3.7是带有内部上拉电阻的七个双向I/0引脚。P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入“1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3口引脚将用上拉电阻而流出电流(IIL)。

P3口还用于实现AT89C2051的各种功能,如下表1-1所示。

表1-1 P3口的功能

P3口引脚 功能

P3.0 RXD(串行输入端口)

P3.1 TXD(串行输出端口)

P3.2 INT0(外中断0)

P3.3 INT1(外中断1)

P3.4 TO(定时器0外部输入)

P3.5 T1(定时器1外部输入)

P3口还接收一些用于闪速存储器编程和程序校验的控制信号。

5). RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。

6). XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。

7). XTAL2:作为振荡器反相放大器的输出。

从上述引脚说明可看出,AT89C2051没有提供外部扩展存储器与I/O设备所需的地址、数据、控制信号,因此利用AT89C2051构成的单片机应用系统不能在AT89C2051之外扩展存储器或I/O设备,也即AT89C2051本身即构成了最小单片机系统。

可知,P1.0引脚与比较器的同相输入端相接,P1.1与比较器的反相输入端相接,比较器的输出端在片内与P3.6相接。而P3.6并无片外引脚,因此,AT89C2051的P1口有完整的8条片外引脚,而P3口只有7条I/O线的片外引脚,可供片外使用的I/O线为15条。

2.1.2.AT89C2051的A/D转换是如何实现的?

AT89C2051A/D转换电路如图1-2所示,其A/D转换原理如下:比较器IC1的同相输入端P1.0与P1.4之间接有电阻R0,而被测电压是通过P1.1输入至比较器IC1的反相端,这样,当被测电压u从Pl输入并开始测量时,先使P1.4置低电位、C4对地放电,使P1.0的电位为零。由于此时P1.1的电位高于P1.0的电位,因此,IC1的输出端P3.6为低电位。

图1-2 AT89C2051A/D转换电路

进入测量程序后,具体的转换步骤如下。

·先使P1.4为高电位,VCC就会通过R9、R10向C4充电,P1.0的电位就会随时间按指数规律上升。

·当P1.0的电位上升至与P1.1的电位相同或稍高一点时,IC1的输出端P3.6会由低电位变为高电位。

·由此,我们可用程序控制C4充电的同时,不间断检测P3.6的电位,当P3.6电位发生高跳时,就认为P1.0的电压与P1.1的电压相等

·由于C4的充电电压是可以通过充电时间的长短来准确计算的,所以,计算出C4的充电压,也就间接地测出了被测电压的值。

89C2051有很宽的工作电源电压,可为2.7~6V,当工作在3V时,电流相当于6V工作时的1/4。89C2051工作于12Hz时,动态电流为5.5mA,空闲态为1mA,掉电态仅为20nA。这样小的功耗很适合于电池供电的小型控制系统。

89C2051片内含有2k字节的Flash程序存储器,128字节的片内RAM,与80C31内部完全类似。由于2051内部设计全静态工作,所以允许工作的时钟为0~20MHz,也就是说,允许在低速工作时,不破坏RAM内容。相比之下,一般8031对最低工作时钟限制为3.5MHz,因为其内部的RAM是动态刷新的。89C2051不允许构造外部总线来扩充程序/数据存储器,所以它也不需要ALEPSEN、RD、WR一类的引脚。

89C2051在内部I/O控制上继承了MCS51的特性: 5路2级优待中断,串等口,2路定时器/计数器,内部组成参见图4。

89C2051设计有2个程序保密位,保密位1被编程之后,程序存储器不能再被编程除非做一次擦除,保密位2被编程之后,程序不能被读出。

3.1 电路

由于不需要外部的A/D芯片,所以本例的电路非常简单,只需要最简单的单片机系统,而输入的信号只需要接入规定的引脚就可以了。具体的电路如图1-3所示。

3.1.1.电路原理和器件选择

在这里列出和本例相关的、关键部分的器件名称及其在电路中的主要功能。

·89C2051:单片机,进行数据采集和转换的工作。

·WU1:12MHz的晶振。

·SW-PB:复位开关。

3.1.2.地址分配和连接

只列出和本例相关的、关键部分的单片机与各个模块管脚的连接和相关的地址分配。

·P1.0:模拟量输入。

·P1.1:DA输入比较基准电压。

·P3.7:LED的显示输出。

·XTAL1:晶振的引脚1。

·XTAL2:晶振的引脚2。

·U1:外部的信号输入。

·U2:比较电压输入。

GND

图1-3转换电路示意图

4.1 逐次逼近式

4.1.1、逐次逼近式模/数(A/D)转换器原理

实现A/D转换的方法有多种,而逐次逼近式A/D转换具有速度快,分辨率高等优点获得了广泛的应用。这种A/D转换器的比较过程与天平的称重的过程相似。若一台天平具有32克、16克、 8克、 4克、 2克和1克等6种砝码,需要称量的物体重量为27.4克。称量从最重的砝

M=D5*32+D4*16+D3*8+D2*4+D1*2+D0*1=27(克)

4.1.2、逐次逼近式A/D转换器基本组成

控制逻辑(SAR):移位寄存器、数据寄存器、时序电路及去留码逻辑电路;

DAC:产生电子砝码;

比较器:对输入电压与电子砝码进行比较,并由控制逻辑决定该砝码的去留。

设转换器的位数n=4,相应的电子砝码分别为2.5V、1.25V、0.625V、0.3125V。Vi=3V,则转换过程及结果如表所示。

4.1.3、典型模/数转换器AT89C2051

4.1.3.1. 芯片简介

主要功能

分辨率:8位

转换误差:

±1/2LSB~±1LSB

转换时间:100 S

时钟频率:

640KHZ

测量路数:8路

输出:三态缓冲

单一5V供电,对应输入模拟电压范围3V至6V

4.1.3.2. AT89C2051工作时序

①选择当前转换的通道,即将通道编码送地址锁存器;

②通过执行OUT指令在START,ALE上产生一个正脉冲,锁存通道编码并启动A/D;

③A/D转换开始后,EOC变低,经过64个时钟周期后,转换结束,EOC变高;

④转换结束后,通过执行IN指令设法在OE脚上产生一个正脉冲,打开输出缓冲器的三态门读入转换数据。

4.1.3.3.AT89C2051与微处理器的连接

⑴ 直接连接

AT89C2051具有三态输出缓冲器,可以与CPU直接连接。

若地址译码器的输出Y1的地址为84H~87H,则采用无条件传送方式从输入通道IN7读入一个模拟量的程序为:

MOV AL,07H

OUT 84H,AL

CALL DELAY120

IN AL,84H

若采用中断方式,可用AT89C2051的EOC输出端作为CPU的中断申请信号,在中断服务程序中读入转换后的数据。

⑵ 通过并行接口芯片同CPU连接

问题:用一片8255A并行接口芯片控制AT89C2051的转换过程;

分析:8255A有三个8位的并行口,可用PB口输出0809的通道选择编码和控制ADC的启动,PC口输入ADC的状态。 PA口作为他用,

实现:首先完成CPU与8255的连接,然后根据分析完成ADC与8255的连接

Y0地址为80H~83H

Y1 地址为84H~87H

例:对AT89C2051的IN0至IN7巡回进行采样一次,并将采样的数据存放在以DATA开始的内存单元中。

第一步:程序初始化

第二步:输出通道号

启动ADC

第三步:判ADC转换

结束否?结束则读入数据,存入内存。否则再判

第四步:修改循环变量

判测量完否?

MOV AL,98H ; 8255方式0,PA口输入,

OUT 83H,AL ; PB口输出,PC口高四位输入

MOV SI,OFFSET DATA ; 置内存首址

MOV AX,0H ; 开关初始编码

MOV CX,8

AGA:MOV AL,AH ; 输出开关编码

OUT 81H,AL

ADD AL,10H ; 启动ADC

&nb

sp; OUT 81H,AL

SUB AL,10H

OUT 81H,AL

LOP: IN AL,82H ; 检查EOC

TEST AL,80H

JZ LOP ; EOC=0,继续查询

IN AL,84H ; EOC=1,读入数据

MOV [SI],AL ; 存入内存

INC SI ; 修改指针

INC AH ; 修改开关编码

LOOP AGA ;

5.1 程序设计

5.1.1.程序功能

该程序的功能是查询当前的A/D转换是否完成,并且完成对A/D转换后的数据的读取。

5.1.2.主要器件和变量的说明

程序中的变量及功能如表1-2所示。

表1-2 变量及功能

变量 说明

P1.0 模拟量输入

P1.1 DA输入比较基准电压

P36 比较器内部判断脚

adcdata ad转换变量

Delay() 延时程序

adcread(void) adc转换程序

5.1.3.程序代码

由于没有片外的器件,在程序编制时,也较为简单。在主程序中定义函数和变摹,并通过延时程序完成对外部信号A/D采样的时间控制。单片机进行A/D转换的源程序流程图如图1-4所示,代码如下。

图1-4 单片机A/D转换程序流程图

#include<reg52.h>

#include<absacc.h>

#include<stdio.h>

#include<math.h>

#define uchar unsigned char

#define uint unsigned int

sbit P36 = P3^6; //比较器内部判断角

// 内部标志位定义

bit less; //大小比较,1。代表小于,0。代表大于

// 全局变量定义

uchar timer1; &nb

sp; //通用延时计数器

uchar adcdata; //ad转换变量

void Delay(unsigned int number); //毫秒延时

uchar adcread(void); //adc转换程序

void main(void) using0

{

TMOD=0X11; //计数器设定

IP=0X8; //优先级的设定

IE=0X8A; //中断允许

TCON=5; //外部中断低电平触发

TR0=1; //打开定时器中断

TR1=0;

ET0=1;

ET1=0;

P1=0Xff

Delay(120);

while(1);

{

adcdata=adcread(); //读取数据进行A/D转换

}

}

//毫秒延时

void Delay(unsigned int number)

{

unsingned char temp;

for(;number!=0;number--)

for(temp=112;temp!=0;temp--)

}

// 6位 ADC转换

uchar adcread(void)

{

uchar i=0x3f,temp=0; //初始化转换变量

P36=1; //比较器端口置1

P1=3;_nop_();_nop_(); //从零开始转换

while((i--)&&(P36)) //开始数据读取和比较

{

temp+=4;

P1=temp13;

_nop_();

}

temp>>=2;

return temp; //转换完毕,返回

}

总 结

人生最美好的大学生活就要划上句号了,并将随着时间的流逝,逐渐成为回忆。它到底在我的生命中留下了什么?对我的未来又有着怎样的影响?我的理想实现了多少?虽然我现在还不知道答案,但我相信,它是我生命的一个里程碑,记载着我的一段最为美丽和宝贵的人生。不能忘记恩师的谆谆教诲和父母的殷切希望,更不能忘记培养我的母校。我相信社会可以让我更加成熟, 工作也会让我施展才能!7月,我将远行,带着对母校的深深眷恋和对未来的无限憧憬,告别我的学生时代。如今掉头一去是风吹黑发,也许回首再来,已是雪满白头了!让我们一起期待明天会更好!

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/52510.html

更多阅读

滴水观音的繁殖方法和养殖技巧方法 滴水观音怎样繁殖

滴水观音的繁殖方法和养殖技巧方法——简介滴水观音名字的由来是因为它在开的花非常像观音,而且在水分充足的情况下会从叶子的尖端向下滴水,虽然有这么美的名字,需要注意的是滴水观音的根茎是有毒的,所以在养殖过程中一定要注意。滴水观

发财树的养殖方法和注意事项 发财树摆放禁忌

发财树的养殖方法和注意事项——简介发财树的养殖方法和注意事项,特点:耐阴,耐旱要诀:防湿,防冻发财树的养殖方法和注意事项——工具/原料盆土水肥料发财树的养殖方法和注意事项——方法/步骤发财树的养殖方法和注意事项 1、一、环境的

富贵竹的养殖方法和注意事项 富贵竹养几支最旺运

?平时客厅最适合放的装饰植物莫过于富贵竹了,不仅好看,还能够净化空气。富贵竹给人的感觉就是高端大气上档次。让我们一起来看看富贵竹的养殖方法和注意事项。富贵竹有两种种植方法,一种是水养,还有一种就是土培了。如果买的时候是长

林蛙油的发泡方法和简单的食用方法 林蛙油最简单的吃法

林蛙油的发泡方法和简单的食用方法——简介林蛙油还有大量的雌性激素及可供人体吸收的多种微量元素,在清朝菜肴中誉为“八珍之首”,经常食用林蛙油可以提高人体免疫力,改善支气管及肺部疾病,尤其对女性的卵巢有很好的滋补作用。林蛙油

声明:《使用89C2051实现A/D的使用方法和程序A/D转换设计 at89c2051串口程序》为网友执着的放不下分享!如侵犯到您的合法权益请联系我们删除