基于STC89C52单片机的模数转换

基于STC89C52单片机的模数转换
基于STC89C52单片机的模数转换

基于STC89C52单片机的动态数码管显示C语言程序

* 实验说明 : 8位数码管显示0~F #include #define GPIO_DIG P0 //段选 #define GPIO_PLACE P1 //位选 //--定义全局变量--// unsigned char code DIG_PLACE[8] = { 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选控制查表的方法控制unsigned char code DIG_CODE[17] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 }; //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 unsigned char DisplayData[8]; //用来存放要显示的8位数的值 void DigDisplay(); //动态显示函数 void main(void) { unsigned char i; for(i=0; i<8; i++) { DisplayData[i] = DIG_CODE[i]; } while(1) { DigDisplay(); } } void DigDisplay() { unsigned char i; unsigned int j; for(i=0; i<8; i++) { GPIO_PLACE = DIG_PLACE[i]; //发送位选 GPIO_DIG = DisplayData[i]; //发送段码 j = 10; //扫描间隔时间设定 while(j--); GPIO_DIG = 0x00;//消隐 } }

STC89C52单片机详细介绍

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL 搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 单片机总控制电路如下图4—1: 图4—1单片机总控制电路 1.时钟电路 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引

脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图4—2(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。 外部方式的时钟电路如图4—2(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。

数模模数转换实验报告

数模模数转换实验报告 一、实验目的 1、了解数模和模数转换电路的接口方法及相应程序设计方法。 2、了解数模和模数转换电路芯片的性能和工作时序。 二、实验条件 1、DOS操作系统平台 2、数模转换芯片DAC0832和模数转换器ADC0809芯片。 三、实验原理 1、数模转换: (1)微机处理的数据都是数字信号,而实际的执行电路很多都是模拟的。因此微机的处理结果又常常需要转换为模拟信号去驱动相应的执行单元,实现对被控对象的控制。这种把数字量转换为模拟量的设备称为数模转换器(DAC),简称D/A。 (2)实验中所用的数模转换芯片是DAC0832,它是由输入寄存器、DAC 寄存器和D/A 转换器组成的CMOS 器件。其特点是片内包含两个独立的8 位寄存器,因而具有二次缓冲功能,可以将被转换的数据预先存在DAC 寄存器中,同时又采集下一组数据,这就可以根据需要快速修改DAC0832 的输出。 2、模数转换: (1)在工程实时控制中,经常要把检测到的连续变化的模拟信号,如温度、压力、速度等转换为离散的数字量,才能输入计算机进行处理。实现模拟量到数字量转换的设备就是模数转换器(ADC),简称A/D。

(2)模数转换芯片的工作过程大体分为三个阶段:首先要启动模数转换过程。其次,由于转换过程需要时间,不能立即得到结果,所以需要等待一段时间。一般模数转换芯片会有一条专门的信号线表示转换是否结束。微机可以将这条信号线作为中断请求信号,用中断的方式得到转换结束的消息,也可以对这条信号线进行查询,还可以采用固定延时进行等待(因为这类芯片转换时间是固定的,事先可以知道)。最后,当判断转换已经结束的时候,微机就可以从模数转换芯片中读出转换结果。 (3)实验采用的是8 路8 位模数转换器ADC0809 芯片。ADC0809 采用逐次比较的方式进行A/D 转换,其主要原理为:将一待转换的模拟信号与一个推测信号进行比较,根据推测信号是大于还是小于输入信号来决定增大还是减少该推测信号,以便向模拟输入逼近。推测信号由D/A 转换器的输出获得,当推测信号与模拟信号相等时,向D/A 转换器输入的数字就是对应模拟信号的数字量。ADC0809 的转换时间为64 个时钟周期(时钟频率500K 时为128S)。分辨率为 8 位,转换精度为±LSB/2,单电源+5V 供电时输入模拟电压范围为04.98V。 四、实验内容 1、把DAC0832 的片选接偏移为10H 的地址,使用debug 命令来测试 DAC0832 的输出,通过设置不同的输出值,使用万用表测量Ua 和Ub 的模拟电压,检验DAC0832 的功能。选取典型(最低、最高和半量程等)的二进制值进行检验,记录测得的结果。实验结果记录如下:

∑-△模数转换器的原理及应用

∑-△模数转换器的原理及应用 张中平 (东南大学微电子机械系统教育部重点实验室,南京210096) 摘要:∑-△模数转换器由于造价低、精度高、性能稳定及使用方便等特点,越来越广泛地使用在一些高精度仪器仪表和测量设备中,介绍该转换器的基本原理,并重点举例介绍AD7708芯片的应用,该芯片是16 bit模数转换器,与24 bit AD7718引脚相同,可直接升级。 关键词:模数转换器;寄存器;串行口 我们通常使用的模数转换器(ADC)大多为积分型和逐次逼近型,积分型转换效果不够好,转换过程中带来的误差比较大;逐次逼近型转换效果较好但制作成本较高,尤其是高位数转换,转换位数越多,精度越高,制作成本就越高。而∑-△ADC可以以相对逐次逼近型简单的电路结构,而得到低成本,高位数及高精度的转换效果∑-△ADC大多设计为16或24 bit转换精度。近几年来,在相关的高精度仪器制作领域该转换器得到了越来越广泛的应用[1]。 1 ∑-△ADC的基本工作原理简介 ∑-△模数转换器的工作原理简单的讲,就是将模数转换过后的数字量再做一次窄带低通滤波处理。当模拟量进入转换器后,先在调制器中做求积处理,并将模拟量转为数字量,在这个过程中会产生一定的量化噪声,这种噪声将影响到输出结果,因此,采用将转换过的数字量以较低的频率一位一位地传送到输出端,同时在这之间加一级低通滤波器的方法,就可将量化噪声过滤掉,从而得到一组精确的数字量[1,2]。 2 AD7708/AD7718,∑-△ADC的应用 AD7708/AD7718是美国ADI公司若干种∑ΔADC中的一种。其中AD7708为16 bit转换精度,AD7718为24 bit转换精度,同为28条引脚,而且相同引脚功能相同,可以互换。为方便起见,下面只介绍其中一种,也是我们工作中用过的AD7708。 2.1AD7708的工作原理 同其它智能化器件一样,AD7708也可以用软件来调节其所具有的功能,即通过微控制器MCU编程向AD7708的相应寄存器填写适当的参数。AD7708芯片中共有11个寄存器, 当模式寄存器(Mode Regis-ter)的最高位后,其工作方框图[2]如图1所示。

基于STC89C52单片机毕业设计完整版附原理图pcb图源程序仿真图

基于STC89C52单片机的电子密码锁 学生姓名: xx 学生学号: xxxxx 院(系):电气信息工程学院 年级专业: 2010级电子信息工程2班 指导教师:陶文英 二〇一三年六月 摘要

随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事情屡见不鲜,电子密码锁具有安全性能高,成本低,功耗低,操作简单等优点使其作为防盗卫士的角色越来越重要。 从经济实用角度出发,采用51系列单片机,设计一款可更改密码,LCD1602显示,具有报警功能,该电子密码锁体积小,易于开发,成本较低,安全性高,能将其存储的现场历史数据及时上报给上位机系统,实现网络实时监控,方便管理人员及时分析和处理数据。其性能和安全性已大大超过了机械锁,特点有保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零;密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;误码输入保护。当输入密码多次错误时,报警系统自动启动;电子密码锁操作简单易行,受到广大用户的亲睐。 关键词单片机, 密码锁, 更改密码, LCD1602 目录

错误!未定义书签。 1 绪论 1.1电子密码锁简介 (1) 1.2 电子密码锁的发展趋势 (1) 2 设计方案 (3) 3 主要元器件 (4) 3.1 主控芯片STC89C52 (4) 3.2 晶体振荡器 (8) 3.3 LCD显示密码模块的设计 (9) 3.3.1 LCD1602简介 (9) 3.3.2 LCD1602液晶显示模块与单片机连接电路 (11) 4 硬件系统设计 (12) 4.1 设计原理 (12) 4.2 电源输入电路 (12) 4.3 矩阵键盘 (13) 4.4 复位电路 (14) 4.5 晶振电路 (14) 4.6 报警电路 (15) 4.7 显示电路 (15) 4.8 开锁电路 (16) 4.9 电路总体构成 (16) 5 软件程序设计 (18) 5.1 主程序流程介绍 (18) 5.2 键盘模块流程图 (19) 5.3 显示模块流程图 (21) 5.4 修改密码流程图 (22) 5.5 开锁和报警模块流程图 (23) 6 电子密码锁的系统调试及仿真 (25) 6.1硬件电路调试及结果分析 (25) 6.2软件调试及功能分析 (25) 6.2.1调试过程 (25) 6.2.2 仿真结果分 (26)

STC89C52单片机用户手册

STC89C52RC单片机介绍 STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051. 工作电压:~(5V单片机)/~(3V单片机) 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz 用户应用程序空间为8K字节 片上集成512字节RAM 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O口用时,需加上拉电阻。 ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒 即可完成一片 具有EEPROM功能 具有看门狗功能 共3个16位定时器/计数器。即定时器T0、T1、T2 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒 通用异步串行口(UART),还可用定时器软件实现多个UART 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) PDIP封装 STC89C52RC单片机的工作模式 掉电模式:典型功耗<μA,可由外部中断唤醒,中断返回后,继续执行

原程序 空闲模式:典型功耗2mA 正常工作模式:典型功耗4Ma~7mA 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备 STC89C52RC引脚图 STC89C52RC引脚功能说明 VCC(40引脚):电源电压 VSS(20引脚):接地 P0端口(~,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。

数模转换器和模数转换器实验报告

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 TPC-USB通用微机接口实验系统 系别计算机系 专业网络工程 班级/学号 学生 _ 实验日期 成绩_______________________ 指导教师王欣

实验五数/模转换器和模/数转换器实验 一、实验目的 1. 了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法。 2. 了解模/数转换器的基本原理,掌握ADC0809的使用方法。 二.实验设备 1.PC微机系统一套 2.TPC-USB通用微机接口实验系统一套 三.实验要求 1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。 2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)使用方法。在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。 3.实验前仔细阅读理解教材相关章节的相关容,实验时必须携带教材及实验讲义。 四.实验容及步骤 (一)数/模转换器实验 1.实验电路原理如图1,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub),编程产生以下锯齿波(从Ua和Ub输出,用示波器观察) 图1 实验连接参考电路图之一 编程提示: 1. 8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:

(UREF表示参考电压,N表示数数据),这里的参考电压为PC机的+5V电源。 2. 产生锯齿波只须将输出到DAC0832的数据由0循环递增。 3. 参考流程图(见图2): 图2 实验参考流程图之一 (二)模/数转换器 1. 实验电路原理图如图3。将实验(一)的DAC的输出Ua,送入ADC0809通道1(IN1)。 图3 实验连接参考电路图之二 2. 编程采集IN1输入的电压,在屏幕上显示出转换后的数据(用16进制数)。编程提示: 1. ADC0809的IN0口地址为298H,IN1口地址为299H。 2. IN0单极性输入电压与转换后数字的关系为:

STC89C52单片机用户手册

STC89C52F单片机介绍 STC89C52F单片机是宏晶科技推出的新一代高速 /低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: * 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051. * 工作电压:5.5V?3.3V (5V单片机)/3.8V?2.0V (3V单片机) * 工作频率范围:0?40MHz相当于普通8051的0?80MHz实际工作频率可达48MHz *用户应用程序空间为8K字节 * 片上集成512字节RAM * 通用I/O 口(32个),复位后为:P1/P2/P3/P4是准双向口 /弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口 用时,需加上拉电阻。 * ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿真器,可通过串口( RxD/P3.0,TxD/P3.1 )直接下载用户程序,数秒 即可完成一片 * 具有 EEPROM能 *具有看门狗功能 * 共3个16位定时器/计数器。即定时器T0、T1、T2 * 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒 * 通用异步串行口( UART,还可用定时器软件实现多个 UART * 工作温度范围:-40?+85C(工业级)/0?75C(商业级) * PDIP封装 STC89C52F单片机的工作模式 *掉电模式:典型功耗<0.1吩,可由外部中断唤醒,中断返回后,继续执行原程序

单片机AD模数转换实验报告

1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图 四、实验程序流程框图和程序清单。

1、 查询法: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB , LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回

基本模数转换器(ADC)的设计

《数字逻辑电路分析与设计》课程 项目 实施报告 题目(A):基本模数转换器(ADC)的设计 组号: 8 任课教师:。。。 组长:。。。。 成员:。。。。 成员:。。。 成员:。。。 成员:。。。 联系方式:。。。 二零一四年十月二十五日

基本模数转换器(ADC )的设计 一.设计要求 (1) 设计一个每单次按下按钮,就能够实现数模转换的电路,并用LED 显示对应输入模拟电压(0—3V )的等级,当输入电压>3V 后,有“溢出”显示。 (2) 功能模块如图: (3) 图中的“模数转换”为本教材第六章的并行ADC 转换电路。在此基础上自行设计按键、LED 显示、模拟电压调节等模块,实现单次模数转换的功能。 模拟电压 调节模数转换LED 显示 按键 5V 电源

自行设计溢出标记的显示。 (4) 本电路的测试方法是,通过一个电位器对电源电压连续分压,作为ADC 的输入电压,每按下一次按键时,ADC 电路进行一次ADC 转换,并将转换的结果用数码管显示出来。注意不要求显示实际的电压值,仅显示模拟电压的量化等级。 二.电路原理图 LED 显示

三.设计思路 根据题目要求,我们的电路本应分五个个模块,但实验室缺少8-3编码器不能实现转化,所以只能有四个一下模块:模拟电压调节;比较电路;记忆模块;LED显示。模拟电压的调节可以用划变电阻来调节电压,理想中数模转化模块应由比较器,D触发器和编码器来实现,在我们的实际电路中我们只用了前两者。最终我们用LED的亮灭来显示结果。 具体原理叙述如下: 在比较电压时,将参考电压V ref经电阻分压器产生一组不同的量化电平V i:v1=1/16V ref,v2=3/16V ref,v3=5/16V ref ,v4=7/16V ref ,v5=9/16V ref ,v6=11/16V ref ,v7=13/16V ref ,v8=15/16V ref ,这些量化电平分别送到相应lm339比较器的反相输入端,而输入电压V同时作用于lm339比较器的同相输入端。 当V大于V i时,第i个比较器输出状态1,即高电平;反之,比较器输出状态0,即低电平。比较器的输出加到D触发器的输入端,在时钟脉冲CP的作用下,把比较器的输出存入触发器,得到稳定的状态输出Q,再由LED的亮暗状态显示,高电平则亮,低电平就暗。 当V≥15/16 V ref的时候,即V超过该转换器的最大允许的输入电压的时候产生“溢出”,我们使用了一个红色的报警LED亮作为显示。 此外,鉴于会因为按键时间的长短不一而造成的脉冲不整齐的问题,需要

基于STC89C52单片机的数字温度计

基于STC89C52单片机的数字温度计 成员姓名:邹远淳徐冰孙顺新唐高峰 专业班级:自动化2班 指导教师:杨伟新

目录 摘要··················································P1 1绪论·················································P2 2系统组成及工作原理···································P3 2.1总体设计方案········································P3 2.2系统模块组成········································P3 3系统电路设计·········································P4 3.1 STC89C52单片机主控制器······························P4 3.2 LED数码管显示模块···································P5 3.3温度检测模块·········································P7 4系统软件设计·········································P8 5系统测试·············································P9 5.1主要指标测试·········································P9 5.2测试结果分析·········································P9 参考文献·················································P10 附录··················································P11

单片机AD模数转换实验报告

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图

四、实验程序流程框图和程序清单。 1、 查询法: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码 送位选信号延时1ms 熄灭第四位数码管 延时1ms 返回

模数转换器ADC0809应用原理

AD0809应用原理--很全面的资料 1. 0809的芯片说明: ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当O E端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2).引脚结构 IN0-IN7:8条模拟量输入通道

如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。 4.电路原理图 5.程序设计: (1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。 (2).进行A/D转换之前,要启动转换的方法: ABC=110选择第三通道 ST=0,ST=1,ST=0产生启动转换的正脉冲信号 . (3). 关于0809的计算: ad0809是根据逐位逼近的方法产生数据的。。 参考电压为0-5V的话。以0809八位255的转换精度每一位的电压值为(5-0)/255≈0. 0196V 设输入电压为X则: X-27*0.0196>=0则AD7=1否则AD7=0。 X-26*0.0196>=0则AD6=1否则AD6=0。 X-20*0.0196>=0则AD0=1否则AD0=0。 (27指2的7次方。26-------20同理) 若参考电压为0-1V (1-0)/255≈0.0039V精度自然高了。。可测量范围小了。 1)汇编源程序: CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0

AD转换实验报告

A/D转换实验报告

摘要 本设计是利用AT89C51、ADC0809、CD4027芯片为核心,加以其他辅助电路实现对信号的A/D转换,其中以单片机AT89C51为核心控制A/D转换器。先是对信号进行采集,然后用ADC0809对信号实现从模拟量到数字量的转换。改变采样数据,调整电路,使其达到精确转换。

目录 1.方案设计与论证 (1) 1.1理论分析 (1) 1.2输出、输入方案选择 (1) 1.3显示方案 (2) 1.4时钟脉冲选择 (2) 2.硬件设计 (2) 2.1A/D转换器模块 (2) 2.2单片机模块 (3) 2.3JK触发器模块 (4) 3软件设计 (4) 4.仿真验证与调试 (5) 4.1测试方法 (5) 4.2性能测试仪器 (7) 4.4误差分析 (7) 5.设计总结及体会 (5) 附录(一)实物图 (6) 附录(二)软件程序 (6)

1.方案设计与论证 1.1理论分析 8位A/D转换由芯片内部的控制逻辑电路、时序产生器、移位寄存器、D/A转换器及电压比较器组成,它具有将模拟量转换成数字量的特性,其原理图如下: AD转换原理图(1) 1.2输出、输入方案选择 A/D转换器有多路选择器,可选择八路模拟信号IN0~IN7中的一路进入A/D转换。现在选择IN0通道作为输入,则对应的地址码位ADD C=0、ADD B=0、ADD A=0。当转换完成后,OE=1,打开三态输出锁存缓冲器,将转换数据从D7~D0口输出到单片机的P0端口。 IN口输入D端口输出 A/D转换器 图(2)

1.3显示方案 单片机控制数码管显示有两种动态和静态两种方法,由于静态控制数码管每次只能显示一位,造成资源浪费,所以选择动态扫描,并增加变换频率。 1.4时钟脉冲选择 方案一:可以直接用矩形波来控制 方案二:ALE通过JK触发器完成二分频,然后 Q端接CLK。因为晶振的频率是12MHz,ALE的频率为12NHz×1/6=2MHz,经过JK 触发器二分频后就是1MHz. 2.硬件设计 2.1 A/D转换器模块 A/D转换电路图(3) 模拟量从IN0端口输入,经电压比较器后输入到控制电路,转换后从D0~D7口输出,地址码位ADD C=0、ADD B=0、ADD A=0。OE 端输出允许控制信号,EOC转换结束控制信号,EOC=0,转换结束后EOC=1。START转换启动信号,上升沿将片内寄存器清零,下降

TLC549模数转换器的控制实验

A/D芯片TLC549的转换与数据采集实验 1、实验目的 (1) 掌握A/D转换与单片机的接口方法; (2)掌握A/D芯片TLC549的编程方法; (3)掌握数据采集程序的设计方法; 2、实验内容 利用实验开发装置上的TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果在数码管上进行显示。 3、I/O地址 A/D转换芯片 TLC549 CLK P1.5 时钟位 DAT P1.7 数据位 CS P1.6 选片位 4、实验线路 将TLC549的CLK接P1.5、DAT接P1.7、CS接P1.6,将模拟电压输入端连到电位器的电压输出端,并接万用表进行输入电压测量。 5、实验步骤 在PC机输入源程序并汇编,然后下载到单片机上,进行调试。 调节电位器,电压从0V到5V变化,记录数码管的显示数值。记录到表中。

6、实验报告 (1) 整理好实验程序和实验记录,进行数据处理分析并做图。 (2) 数据采集中,如何实现精确的定时数据采集? (3) 数码管动态扫描显示程序设计中,显示刷新的时间如何确定? TLC549实验程序 #include "reg52.h" #include #define uchar unsigned char #define uint unsigned int /*************************************************** TLC549 A/D转换 ****************************************************/ sbit CLK=P1^5; sbit DAT=P1^7; sbit CS =P1^6; uchar TLC549ADC(void) { uchar i,x; CLK=0; DAT=1; CS=0; for(i=0;i<8;i++) { CLK=1; x<<=1; if(DAT==1) x++; CLK=0; } CS=1; return (x); } uint y; uchar x; void main() { while(1)

(完整版)STC89C52RC单片机手册

STC89C52单片机用户手册 [键入作者姓名] [选取日期]

STC89C52RC单片机介绍 STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: 1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意 选择,指令代码完全兼容传统8051. 2.工作电压:5.5V~ 3.3V(5V单片机)/3.8V~2.0V(3V单片机) 3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作 频率可达48MHz 4.用户应用程序空间为8K字节 5.片上集成512字节RAM 6.通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉, P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O口用时,需加上拉电阻。 7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片 8.具有EEPROM功能 9.具有看门狗功能 10.共3个16位定时器/计数器。即定时器T0、T1、T2 11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可 由外部中断低电平触发中断方式唤醒 12.通用异步串行口(UART),还可用定时器软件实现多个UART 13.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 14.PDIP封装 STC89C52RC单片机的工作模式 掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序

实验十ADC0832数模转换的显示

实验报告十 实验名称:ADC0832数模转换的显示 目的:ADC0832是8脚双列直插式双通道A/D转换器,能分别对两路模拟信号实现模—数转换,可以用在单端输入方式和差分方式下工作。ADC0832采用串行通信方式,通过DI 数据输入端进行通道选择、数据采集及数据传送。8位的分辨率(最高分辨可达256级),可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 ADC0832的工作原理: 正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时使用并与单片机的接口是双向的,所以在I/O口资源紧张时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟(CLK)输入端输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第一个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第二、三个脉冲下沉之前DI端应输入两位数据用于选择通道功能。 通道地址通道 工作方式说明 SGL/DIF ODD/SIGN 0 1 0 0 + - 差分方式 0 1 - + 1 0 + 单端输入方式 1 1 + 表1:通道地址设置表 如表1所示,当此两位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当两位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当两位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第三个脉冲的下降之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据最高位Data7,随后每一个脉冲的下降沿DO端输出下一位数据。直到第11个脉冲时发出最低位数据Data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下降沿输出Data0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D 转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。时序说明请参照图4。

基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计 1 设计内容及要求 设计题目:基于STC89C52单片机最小系统的设计及制作。 设计要求:输入信号为传感器、电压、电流、开关等形式,单片机型号可以自己选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显示器等。(注:可以采用单片机、传感器电路模块以及集成电路芯片制作。) 使用器材:感光板及常用PCB制版器材、常用电子装配工具、万用表、示波器及电子元器件(详见附录)。 2 STC89C52单片机 2.1 STC89C52单片机简介 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。用专业语言讲,单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片。 2.2 单片机的特点 (1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪声性能优于一般通用的CPU。单片机程序指令,常数及表格等固体化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。 (2)控制功能强 为了满足对控制对象的要求,单片机的指令系统均有极丰富的条件:分支转移能力、I/O口的逻辑操作机位处理能力,非常适用于专门的控制功能。 (3)低电压,低功耗,便于生产携带 为了便于广泛使用于便携式系统,许多单片机内的工作电压仅为 1.8V~3.6V,工作电流仅为数百微安。 (4)易扩展 片内具有计算机正常运行所需的部件。芯片外部有许多供扩展用的三总线及

STC89C52RC单片机的特点

STC89C52RC 单片机介绍 STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051 单片机,12 时钟/机器周期和 6 时钟/机器周期可以任意选择。 主要特性如下: 1. 增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051. 2. 工作电压:5.5V? 3.3V (5V单片机)/3.8V?2.0V (3V单片机) 3. 工作频率范围:0?40MHz,相当于普通8051的0?80MHz,实际工作频率可达 48MHz 4. 用户应用程序空间为8K 字节 5. 片上集成512 字节RAM 6. 通用I/O 口(32 个)复位后为:,P1/P2/P3/P4 是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电 阻。 7. ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿 真器,可通过串口(RxD/P3.0,TxD/P3.1 )直接下载用户程序,数秒即可完成一片 8. 具有EEPROM 功能 9. 具有看门狗功能 10. 共3 个16 位定时器/计数器。即定时器T0、T1、T2 11. 外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒 12. 通用异步串行口(UART ),还可用定时器软件实现多个UART 13. 工作温度范围:-40?+85 C (工业级)/0?75 C(商业级) 14. PDIP 封装 STC89C52RC 单片机的工作模式 掉电模式:典型功耗<0.1卩可由外部中断唤醒,中断返回后,继续执行原程序 空闲模式:典型功耗2mA 典型功耗正常工作模式:典型功耗4Ma?7mA 典型功耗掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备 STC89C52RC 引脚功能说明 VCC (40 引脚):电源电压 VS S(20 引脚):接地 P0端口(P0.0?P0.7 P0.7, 39?32引脚):P0 口是一个漏极开路的8位双向I/O 口。作为输出端口,每个引脚能驱动8 个TTL 负载,对端口P0 写入每个引脚能驱动写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时在访问外部程序和数据 存储器时,P0 口也可以提供低8 位地址和8 位数据的复用总线位数据的复用总线。此时,P0 口内部上拉电阻有效。在Flash ROM 编在程时,P0 端口接收指令字节端口接收指令字节;而在校验程序时,则输出指令字节则输出指令字节。验证时,要求外接上拉电阻。 P1端口(P1.0?P1.7, 1?8引脚):P1 口是一个带内部上拉电阻的8位双向I/O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1 口作输入口使用时,因为 有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。 此外,P1.0 和P1.1 还可以作为定时器/计数器 2 的外部技术输入(P1.0/T2 )和定时器/计数器 2 的触发输入(P1.1/T2EX ),具体参见下表: 在对Flash ROM 编程和程序校验时,P1 接收低8 位地址。

相关文档
最新文档