版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 职 职 业 业 技 技 术 术 学 学院 院 . . . 2 / 75脉宽调制实现电机转速控制、数字电压表、电子钟、温度测量、整点报时设计学院学院、专专业业 职业技术学院职业技术学院 电气系电气系 应用电应用电子子 研研 究方究方 向向 AD0804AD0804 脉宽调制研究脉宽调制研究 学学 生姓生姓 名名 晖晖学学 号号 20102212012010221201班班 级级 电子电子 10221022指导教师指导教师 胡继胜胡继胜 指导教师职秤指导教师职秤 教教 授授20122012 年年 1010 月月 2222 日日AD0804AD0804 脉宽调制脉宽调制设计晖职业技术学
2、院电气系应用电子职业技术学院电气系应用电子 . . . II / 75摘要 随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。作为重量测量仪器,智统的电子测量与仪器带来了巨大的冲击和革命性的影响。作为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量秤,成为测量领域的主流产品。巨大优点,并开始逐渐取代传统型的机械杠杆测量
3、秤,成为测量领域的主流产品。在设计中主要问题和技术难度在于如何实现高精度的测量,且所测结果的重复性在设计中主要问题和技术难度在于如何实现高精度的测量,且所测结果的重复性好。本文设计的电子秤以单片机为主要部件,用好。本文设计的电子秤以单片机为主要部件,用 C C 语言进行软件设计,硬件则以语言进行软件设计,硬件则以DS18B20DS18B20 与与 ADC084ADC084 驱动电路。驱动电路。A/DA/D 转换的结果送单片机进行数据处理包括软件滤转换的结果送单片机进行数据处理包括软件滤波并显示,电机驱动电路。其数据显示部分采用波并显示,电机驱动电路。其数据显示部分采用 LCD12864LCD1
4、2864 显示,成本低且能很显示,成本低且能很好地实现所要求的功能。好地实现所要求的功能。关键词 单片机;脉宽调制;数字电压表;温度测量;转速控制;时钟显示TheThe DesignDesign ofof TheThe High-precisionHigh-precision ElectronicElectronic ScaleScaleRen GeSchool of Physics and Electronic Information, Huai Bei Normal University, Anhui Huaibei, 235000AbstractAbstractWith the rapi
5、d development of technology of the times, the achievements of microelectronics and computers and other modern electronic technology play huge and revolutionary impact on the traditional electronic measuring instrument. As a weight measuring instruments, intelligent electronic scale has shown its hig
6、h accuracy . . . III / 75and speed. It has advantages in real-time measurement and monitoring, and began to gradually replace traditional mechanical scales. Intelligent electronic scale has become the mainstream products in the field of measurement. In this paper, the microcontroller is used as the
7、main the componentof the electronic scale, C language is utilized as the software and thestrain gauge pressure sensor is used as the main hardware. Because the output is analogand the value of it is relativesmall, HX711 with precision is 24 bits is used as the main AD converter and amplifier, theacc
8、uracy of the scale is 0.01g. The results of AD converterare sampled by the microcontroller, and the information is filtered and displayed. The results are shown in LCD, the system has low cost and can be realizedeasily.KeywordsKeywordsSingle-chip microcomputer;High-precision;Software filter目录目录1 1 绪
9、论绪论 1 11.11.1 概述概述 1 11.21.2 论文的主要任务论文的主要任务 1 1 . . . IV / 752.2.系统与工作原理系统与工作原理112.12.1 系统组成系统组成 2 22.22.2 系统工作原理系统工作原理 2 23 3 系统的硬件设计系统的硬件设计3 33.13.1 主控芯片主控芯片 STC89C52STC89C52 单片机基本系统单片机基本系统 3 33.23.2 A/DA/D 转换芯片转换芯片 AD0804AD0804 接口电路的设计接口电路的设计 6 63.33.3 压电传感器的电路压电传感器的电路 11114 4 系统软件设计系统软件设计14144.1
10、4.1 系统主函数系统主函数 15154.24.2 A/DA/D 数据采集子函数数据采集子函数 15154.34.3 软件滤波子函数与显示函数软件滤波子函数与显示函数 16165 5 DS18B20DS18B20 温控电路温控电路 17175.15.1 DS18B20DS18B20 芯片封装结构:芯片封装结构:17175.25.2 DS18B20DS18B20 引脚功能引脚功能18185.35.3控制器对控制器对 18B2018B20 操作流程操作流程18185.45.4 DS18B20DS18B20 芯片与单片机的接口芯片与单片机的接口20206 6 电机路电机路.23236.16.1 电机
11、电路图电机电路图.23236.26.2 电机工作理电机工作理.23237 7 蜂鸣器驱动路蜂鸣器驱动路.2323 . . . V / 757.17.1 蜂鸣器驱动路图蜂鸣器驱动路图.24247.17.1 工作原理工作原理.2424结论结论.25.25附录系统电路图与程序代码附录系统电路图与程序代码.2626致致.68.68本组成员本组成员.70.70 . . . 1 / 751绪论 1.1 概述随着科技的迅猛发展,电子技术在生活中得到了广泛的应用。这给电子技术的发展带来了空前的机会,同时也带来了很大的挑战1。电子技术逐渐的向着集成化、高速、高精度、智能化的方向发展。常规的测试仪器仪表已不能满足
12、市场的需求,这就给高精度仪器仪表带来发展机遇。而且,在未来相当长得时间都将会向着这个方向发展。这就出现了这样的矛盾:旧的电子技术产品不能满足高速发展的市场经济的需求2。我设计的是通过ADC084实现脉宽调制来控制电机转速;DS1302实现实时温度测量;数字电压表;时钟显示等。1.2 论文的主要任务本文设计的以单片机为核心控制部件,用C语言作为编程语言来进行软件设计,以AD0804为主要器件,制作出一套测量围在0100%脉宽调制,通过调节电位器输出的电量是模拟量,数值在0255围;再经过换算成05v电压。然后,A/D 转换的结果才能送单片机进行数据处理并显示。其数据显示部分采用LCD 显示,成本
13、低且能很好地实现所要求的功能。2 系统组成与工作原理2.1 系统组成本高精度电子秤系统可分为单片机控制电路、A/D 转换电路、复位电路、传感器、时钟电路、LCD 显示、滤波电路等几部分,其系统组成如图 1 所示。MCU单片机电位器电机控制电路LCD 显示电路复位电路时钟电路A/D 转换电路按键控制电路温度电路报警电路 . . . 2 / 75图 1 系统组成框图2.2 系统工作原理系统原理如图 1 所示,系统通过传感器将压力这种物理量转化为电信号,即传感器部的电阻应变片感应到压力后,电阻发生微小变化,通过全桥测量电路将电阻的微小变化转化成电压的微小变化 adc08004adc08004 将信号
14、调整到 A/D 能采集的围,然后由 A/D 进行采集转换,接着把采集到的位高低电平通过口送到单片机进行处理,单片机处理后,把数字信号输送到显示电路中,由显示电路输出测量结果。整个系统实现了用单片机来控制输出,在线性度的确定过程中,需要对程序进行反复的修改,最终实现设计的要求。系统的关键技术在于将物理量转化为可以传递处理的电信号。本设计笔者使用了 adc0804 来解决这一技术难题。HX711 直接将压力传感器送出的微弱电信号,经过部放大和 24 位 A/D 转换器,转化为处理器可以识别和处理的数字量3。通过软件方法,将 A/D 所采集的数字量进行滤波和标定,最终输出重量值。并由LCD 显示屏进
15、行显示。 3 系统的硬件设计3.1 主控芯片 STC89C52 单片机基本系统3.1.1STC89C52 单片机性能介绍STC89C52 是一种低功耗、高性能 8 位微控制器,具有 8K 的可编程 flash 存储器5。使用高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。512 字节 RAM, 32 位 I/O 口线,看门狗定时器,置 4KB EEPROM,MAX810 复位电路,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口。另外 STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种可选择节电模式。空闲模式下, CPU 停止工作,
16、允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM 容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHZ,6T/12T 可选。片上 flash 允许程序存储器在线可编程,也适于常规编程器6。在单芯片上,拥有灵巧的 8 位 CPU 和在系统上可编程闪烁存储单元,使得 . . . 3 / 75STC89C52 为众多嵌入式控制应用系统提供灵活、有效的解决方案,因此笔者在设计时选择了 51 单片机作为解决方案。时时钟钟电电路路(控控制制器器)4SFR和和RAM2 ROM3CPU1定定时时/计计数数器器5并并行行端端口口6中中断断系系
17、统统8串串行行端端口口7系系 统统 总总 线线时时钟钟源源T0 T1P0 P1 P2 P3TXD RXD INT0 INT1图 2 单片机部结构STC89C52 具有以下标准功能:8K 字节闪烁存储器,256 字节读写存储器,32位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6向量 2 级中断结构,全双工串行口,片晶振与时钟电路。另外,STC89C52 可降至0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许读写存储器、定时器/计数器、串口、中断继续工作。掉电保护方式下,读写存储器容被保存,振荡器被冻结,单片机一切工作
18、停止,直到下一个中断或硬件复位为止。图 2 所示为单片机部结构。3.1.2 STC89C52 单片机引脚功能VCC:电源。P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有部上拉电阻。在闪烁编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻6。 . . . 4 / 75P1 口:P1 口是一个具有部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动
19、 4 个 TTL 逻辑电平。对 P1 端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流。P2 口:P2 口是一个具有部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流。在访问外部程序存储器或用 16 位地址读取外部数据存储器时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的部上拉发送“1” 。在使用 8 位地址访问外部数据存储器时,P2 口输出
20、 P2 锁存器的容。在闪烁编程和校验时,P2口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有部上拉电阻的 8 位双向 I/O 口,P3 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流。RST:复位输入。当晶振工作时,RST 引脚持续 2 个机器周期高电平将使单片机复位。EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行部程序指令,EA 应该接 VCC。在闪烁编
21、程期间,EA 也接收 12 伏 VPP 电压。XTAL1:振荡器反相放大器和部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.1.3 复位电路单片机上电时,当振荡器正在运行时,只要持续给出 RST 引脚两个机器周期的高电平,便可完成系统复位。外部复位电路是为提供两个机器周期以上的高电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST上的电压是 VCC 上的电压与电容器上的电压之差,因而 RST 上的电压与 VCC 上的电压一样。随着充电的进行,电容器上的电压不断上升,RST 上的电压就随着下降,RST 脚上只要保持 10ms 以上高电平,系统就会有效复位。
22、电容 C1 可取 10-33F,R 取 10K,充电时间常数为 1010-610103=100ms。复位电路的实现可以有很多种方法,但是从功能上一般分为两种:一种是电 . . . 5 / 75源复位,即外部的复位电路在系统通上电源之后直接使单片机工作,单片机的起停通过电源控制;另一种方法是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。本设计使用了第二种方法,其电路图如图 3 所示。图 3STC89C52 单片机复位、晶振电路图3.1.4 晶振电路STC89C52 单片机有一个用于构成部振荡器的反相放大器,XTAL1 和 XTAL2 分别是放大器的输入、输出端,外接石英晶
23、体或瓷振荡器以与补偿电容 C2、C3 构成并联谐振电路。当外接石英晶体时,电容 C2、C3 选 30pF10pF;当外接瓷振荡器时,电容 C2、C3 选 40pF10pF。STC89C52 系统中晶振频率一般在 1.2-12MHz 选择。外接电容 C2、C3 的大小会影响振荡器频率的高低、振荡频率的稳定度、起振时间与温度稳定性。在本系统中,选择了 12MHz 石英晶振,电容 C1、C2为 30pF。其电路图如图 3 所示。3.2 A/D 转换芯片 HX71 AD0804AD0804 接口电路的设计3.2.2AD08043.2.2AD0804简介简介ADC0804ADC0804的管脚图如下所示的
24、管脚图如下所示 . . . 6 / 75它的主要电气特性如下:它的主要电气特性如下: 工作电压:工作电压:5V5V,即,即 VCCVCC5V5V。 模拟输入电压围:模拟输入电压围:0 05V5V,即,即0Vin0Vin5V5V。 分辨率:分辨率:8 8位,即分辨率为位,即分辨率为1/21/28 8=1/256=1/256,转换值介于,转换值介于0 0255255之间。之间。 转换时间:转换时间:100us100us(f fCKCK640KHz640KHz 时)时) 。 转换误差:转换误差:1LSB1LSB。 参考电压:参考电压:2.5V2.5V,即,即 V Vrefref2.5V2.5V。1.
25、ADC08041.ADC0804的转换原理的转换原理ADC0804ADC0804是属于连续渐进式(是属于连续渐进式(SuccessiveSuccessive ApproximationApproximation MethodMethod)的)的 A/DA/D 转换器,这类型的转换器,这类型的 A/DA/D 转换器除了转换速度快(几十转换器除了转换速度快(几十至几百至几百 usus) 、分辨率高外,还有价钱便宜的优点,普遍被应用于微电、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。脑的接口设计上。以输出以输出8 8位的位的 ADC0804ADC0804动作来说明动作来说明“连续
26、渐进式连续渐进式 A/DA/D 转换器转换器”的转的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)换原理,动作步骤如下表示(原则上先从左侧最高位寻找起) 。第一次寻找结果:第一次寻找结果:1000000010000000 (若假设值(若假设值输入值,则寻找位假输入值,则寻找位假设位设位1 1)第二次寻找结果:第二次寻找结果:1100000011000000 (若假设值(若假设值输入值,则寻找位假输入值,则寻找位假 . . . 7 / 75设位设位1 1)第三次寻找结果:第三次寻找结果:1100000011000000 (若假设值(若假设值 输入值,则寻找位该输入值,则寻找位该假设位假
27、设位0 0)第四次寻找结果:第四次寻找结果:1101000011010000 (若假设值(若假设值输入值,则寻找位假输入值,则寻找位假设位设位1 1)第五次寻找结果:第五次寻找结果:1101000011010000 (若假设值(若假设值 输入值,则寻找位该输入值,则寻找位该假设位假设位0 0)第六次寻找结果:第六次寻找结果:1101010011010100 (若假设值(若假设值输入值,则寻找位假输入值,则寻找位假设位设位1 1)第七次寻找结果:第七次寻找结果:1101011011010110 (若假设值(若假设值输入值,则寻找位假输入值,则寻找位假设位设位1 1)第八次寻找结果:第八次寻找结果
28、:1101011011010110 (若假设值(若假设值 输入值,则寻找位该输入值,则寻找位该假设位假设位0 0) 这样使用二分法的寻找方式,这样使用二分法的寻找方式,8 8位的位的 A/DA/D 转换器只要转换器只要8 8次寻次寻找,找,1212位的位的 A/DA/D 转换器只要转换器只要1212次寻找,就能完成转换的动作,其中的次寻找,就能完成转换的动作,其中的输入值代表图输入值代表图1 1的模拟输入电压的模拟输入电压 VinVin。电路如图 4 所示。图 4HX711 接口电路图2.2.分辨率与部转换频率的计算分辨率与部转换频率的计算 . . . 8 / 75 对对8 8位位 ADC08
29、04ADC0804而言,它的输出准位共有而言,它的输出准位共有2828256256种,即它的分种,即它的分辨率是辨率是1/2561/256,假设输入信号,假设输入信号 VinVin 为为0 05V5V 电压围,则它最小输出电压电压围,则它最小输出电压是是5V/2565V/2560.01953V0.01953V,这代表,这代表 ADC0804ADC0804所能转换的最小电压值。所能转换的最小电压值。 表表1 1列出的是列出的是8 81212位位 A/DA/D 转换器的分辨率和最小电压转换值。转换器的分辨率和最小电压转换值。表表1 1 A/DA/D 转换器的分辨率和最小电压值转换器的分辨率和最小电
30、压值位数目位数目分辨率分辨率最小电压转换值最小电压转换值8 81/2561/2560.01953V0.01953V10101/10241/10240.00488V0.00488V12121/40961/40960.00122V0.00122V 至于部的转换频率至于部的转换频率 fCKfCK,是由图,是由图2 2的的 CLKRCLKR(1919脚)脚) 、CLKCLK ININ(4 4脚)所连接的脚)所连接的 R R()() 、C(150PF)C(150PF)来决定。来决定。图图2 2 ADC0804ADC0804与与 CPLD&FPGACPLD&FPGA、80518051单片机
31、等典型连接图单片机等典型连接图频率计算方式是:频率计算方式是:fCKfCK1/(1.1RC)1/(1.1RC)若以图若以图2 2的的 R R10K10K、C C150PF150PF 为例,则部的转换频率是为例,则部的转换频率是 . . . 9 / 75fCKfCK1/1/(1.1101.110 K150PFK150PF)606KHz606KHz 更换不同的更换不同的 R R、C C 值,会有不同的转换频率,而且频率愈值,会有不同的转换频率,而且频率愈高代表速度愈快。但是需要注意高代表速度愈快。但是需要注意 R R、C C 的组合,务必使频率围是在的组合,务必使频率围是在100KHz100KHz
32、1460KHz1460KHz 之间。之间。3.ADC08043.ADC0804的控制方法的控制方法3.2.4ADC0804ADC0804的时序图 要求要求 ADC0804ADC0804进行模拟进行模拟/ /数字的转换,其实可以直接由下面的时序数字的转换,其实可以直接由下面的时序图与图图与图2 2信号的流向来配合了解。信号的流向来配合了解。图图3 3 ADC0804ADC0804控制信号时序图控制信号时序图 以图以图2 2、图、图3 3信号流向而言,控制信号流向而言,控制 ADC0804ADC0804动作的信号应该只有动作的信号应该只有CSCS、WRWR、RDRD。其中。其中 INTRINTR
33、由高电位转为低电位后,代表由高电位转为低电位后,代表 ADC0804ADC0804完成这完成这次的模拟次的模拟/ /数字转换,而数字转换,而 DB0DB0DB7DB7代表是转换后的数字资料。代表是转换后的数字资料。 图图3 3的动作大概可分成的动作大概可分成4 4个步骤区间个步骤区间S0S0、S1S1、S2S2、S3S3,每,每个步骤区间的动作方式如下:个步骤区间的动作方式如下: 步骤步骤 S0S0:CSCS0 0、WRWR0 0、RDRD1 1(由(由 CPLDCPLD 发出信号要求发出信号要求ADC0804ADC0804开始进行模拟开始进行模拟/ /数字信号的转换)数字信号的转换) 。 步
34、骤步骤 S1S1:CSCS1 1、WRWR1 1、RDRD1 1(ADC0804ADC0804进行转换动作,进行转换动作,转换完毕后转换完毕后 INTRINTR 将高电位降至低电位,而转换时间将高电位降至低电位,而转换时间100us100us) 。 步骤步骤 S2S2:CSCS0 0、WRWR1 1、RDRD0 0(由(由 CPLDCPLD 发出信号以读发出信号以读取取 ADC0804ADC0804的转换资料)的转换资料) 。 . . . 10 / 75 步骤步骤 S3S3:CSCS1 1、WRWR1 1、RDRD1 1(由(由 CPLDCPLD 读取读取 DB0DB0DB7DB7上的数字转换
35、资料)上的数字转换资料) 。由上述步骤说明,可以归纳出所要设计的由上述步骤说明,可以归纳出所要设计的 CPLDCPLD 动作功能有:动作功能有: 负责在每个步骤送出所需的负责在每个步骤送出所需的 CSCS、WRWR、RDRD 控制信号。控制信号。 在步骤在步骤 S1S1时,监控时,监控 INTRINTR 信号是否由低电位变高电位,如信号是否由低电位变高电位,如此以便了解此以便了解 ADC0804ADC0804的转换动作结束与否。的转换动作结束与否。 在步骤在步骤 S3S3,读取转换的数字资料,读取转换的数字资料 DB0DB0DB7DB7。3.2.3 LCD 显示模块 . . . 11 / 75
36、 . . . 12 / 75 . . . 13 / 75 . . . 14 / 75图 9 液晶显示电路4 系统软件设计系统软件采用了模块化设计,主要包括毫秒级延时子函数、A/D 数据采集子函数、软件滤波子程序、LCD 显示子函数和主函数。4.1 系统主函数在系统通电后,主程序首先完成系统初始化,其中包括系统变量定义和给系统变量赋初值等,然后调用 A/D 采集函数,将 A/D 采集模块输出的 24 位二进制 . . . 15 / 75串行数据转化为十进制,接着进行调零和定标,最后分离出 6 位十进制数据的千位、百位、十位和个位,调用数码管显示函数,将对应的数值送到对应的地址上进行显示。系统主函
37、数流程图如图 10 所示。开始系统初始化A/D采集进制转换、零点标定分离千、百、十及各位数据显示图 10 系统主函数流程图4.2A/DA/D 数据采集子函数A/D 数据采集子程序主要是采集压电传感器的输出小信号,前 24 个 ADSK 脉冲采集 24 位串行二进制数据,接下来的 13 个 ADSK 脉冲选择下次 A/D 采集的通道和增益,本设计采用 1 个 ADSK 脉冲,选择通道 A,增益为 128。4.3 软件滤波子函数与显示函数在测量的过程中传感器所采集输出的信号为毫伏级别的微电量,这样就容易受到外界条件的干扰。传感器本身的特性限制,在测量中也会输出偏差较大的值。A/D 转换器在转化的过
38、程中也会出现与真值偏差较大的数据。各种不同的误差积攒在一起就会出现误差的放大,这样就会出现测量不准确,测量值重复性太差等特点。笔者在设计的时候,充分考虑了这些造成误差的因素,最后设计了软件滤 . . . 16 / 75波的方案。具体实现方法是所采到的数据先取十个值进行累加,并计算出平均值。然后将每次所得的数据替换已有的数据,并重新计算平均值。最后所得到的值,即为需要显示的真实值。通过软件的方式来补偿系统误差,达到高精度测量的设计要求11。显示部分可以将处理得出的信号在显示器上显示,让人们直观的看到被测体的质量。LCD液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍时仪表,到便携式微型计
39、算机以与一些文字处理机都广泛利用了液晶显示器,流程图如图11所示。图 11 LCD 显示流程图5 .DS18B20 温控电路18B2018B20 温度传感器应用解析温度传感器应用解析温度传感器的种类众多,在应用与高精度、高可靠性的场合时 DALLAS(达拉斯)公司生产的 DS18B20 温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得 DS18B20 更受欢迎。对于我们普通的电子爱好者来说,DS18B20 的优势更是开始x = 0 x = 0 x = 0 x = 0 x = 0.4x = 0.4x = 0.4x = 0.4x = 0.8x = 0.8x =
40、 0.8x = 0.8x =1x =1x =1x =1H / mH / mH / mH / mx = 0 x = 0 x = 0 x = 0 x = 0.4x = 0.4x = 0.4x = 0.4x = 0.8x = 0.8x = 0.8x = 0.8x =1x =1x =1x =1H / mH / mH / mH / m确定要显示的数据2q / Lh-10 0 5 10 15 20 x = 0 x = 0.4x = 0.8x =1H / m 15 200 5 10 15 20 x = 0 x = 0.4x = 0.8x =1H / m 15 202q / Lh-10 0 5 10 15 2
41、0 x = 0 x = 0.4x = 0.8x =1H / m 15 200 5 10 15 20 x = 0 x = 0.4x = 0.8x =1H / m 15 20向 LCD 送控制字,选通片选x = 0 x = 0.4x = 0 x = 0.4x = 0.8x = 0.846x =1H / m46x =1H / m2q / L462q / Lh-1h-12q / L462q / Lh-1h-1x = 0 x = 0.4x = 0 x = 0.4x = 0.8x = 0.846x =1H / m46x =1H / m2q / L462q / Lh-1h-12q / L462q / Lh-
42、1h-1送入控制字,确定显示位置2q / Lh-10 5 10 15 202q / Lh-10 5 10 15 202q / Lh-10 5 10 15 202q / Lh-10 5 10 15 20写入数据并显示46464646结束 . . . 17 / 75我们学习单片机技术和开发温度相关的小产品的不二选择。了解其工作原理和应用可以拓宽您对单片机开发的思路。DS18B20 的主要特征:? 全数字温度转换与输出。? 先进的单总线数据通信。? 最高 12 位分辨率,精度可达土 0.5 摄氏度。? 12 位分辨率时的最大工作周期为 750 毫秒。? 可选择寄生工作方式。? 检测温度围为55C +
43、125C (67F +257F)? 置 EEPROM,限温报警功能。? 64 位光刻 ROM,置产品序列号,方便多机挂接。? 多样封装形式,适应不同硬件系统。5.15.1 DS18B20DS18B20 芯片封装结构:芯片封装结构:5.25.2 DS18B20DS18B20 引脚功能:引脚功能:GND 电压地 DQ 单数据总线 VDD 电源电压 NC 空引脚DS18B20 工作原理与应用:DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解 18B20 的部存储器资源。18B20 共
44、有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放 DS18B20ID 编码,其前 8 位是单线系列编码(DS18B20 的编码是 19H),后面 48 位是芯片唯一的序列号,最后8 位是以上 56 的位的 CRC 码(冗余校验)。数据在出产时设置不由用 . . . 18 / 75户更改。DS18B20 共 64 位 ROM。RAM 数据暂存器,用于部计算和数据存取,数据在掉电后丢失,DS18B20 共 9 个字节 RAM,每个字节为 8 位。第 1、2 个字节是温度转换后的数据值信息,第 3、4 个字节是用户 EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新
45、。第 5 个字节则是用户第 3个 EEPROM 的镜像。第 6、7、8 个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是部温度转换、计算的暂存单元。第 9 个字节为前 8 个字节的 CRC 码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20 共 3 位 EEPROM,并在 RAM 都存在镜像,以方便用户操作。RAM 与 EEPROM 结构图:图 2我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为DS18B20 的硬件简单结果就会导致软件的巨大开消,也是尽力减少有形资产转化为无形资产的投入,是一种较好的节约之
46、道。5.35.3 控制器对控制器对 18B2018B20 操作流程:操作流程:1, 复位:首先我们必须对 DS18B20 芯片进行复位,复位就是由控制器(单片机)给 DS18B20 单总线至少 480uS 的低电平信号。当 18B20接到此复位信号后则会在 1560uS 后回发一个芯片的存在脉冲。2, 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在 1560uS 后接收存在脉冲,存在脉冲为一个 60240uS 的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是 . . . 19 / 75控制器与 18B20 间的数据通信。如果复位低电平的时间不足或是单总线的电路
47、断路都不会接到存在脉冲,在设计时要注意意外情况的处理。3, 控制器发送 ROM 指令:双方打完了招呼之后最要将进行交流了,ROM 指令共有 5 条,每一个工作周期只能发一条,ROM 指令分别是读 ROM 数据、指定匹配芯片、跳跃 ROM、芯片搜索、报警芯片搜索。ROM指令为 8 位长度,功能是对片的 64 位光刻 ROM 进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的 ID 号来区别,一般只挂接单个 18B20 芯片时可以跳过 ROM 指令(注意:此处指的跳过 ROM 指令并非不发送 ROM 指令,而是用特有的一条“
48、跳过指令”)。ROM 指令在下文有详细的介绍。4, 控制器发送存储器操作指令:在 ROM 指令发送给 18B20 之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为 8 位,共 6 条,存储器操作指令分别是写 RAM 数据、读 RAM 数据、将 RAM 数据复制到 EEPROM、温度转换、将 EEPROM 中的报警值复制到 RAM、工作方式切换。存储器操作指令的功能是命令 18B20 作什么样的工作,是芯片控制的关键。5, 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待 18B20
49、执行其指令,一般转换时间为 500uS。如执行数据读写指令则需要严格遵循 18B20 的读写时序来操作。数据的读写方法将有下文有详细介绍。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过 ROM 指令、执行温度转换存储器操作指令、等待 500uS 温度转换时间。紧接着执行第二个周期为复位、跳过 ROM 指令、执行读RAM 的存储器操作指令、读数据(最多为 9 个字节,中途可停止,只读简单温度值则读前 2 个字节即可)。其它的操作流程也小异,在此不多介绍。 . . . 20 / 755.45.4 DS18B20DS18B20 芯片与单片机的接口:芯片与单片机的接口:如图所示
50、,DS18B20 只需要接到控制器(单片机)的一个 I/O 口上,由于单总线为开漏所以需要外接一个 4.7K 的上拉电阻。如要采用寄生工作方式,只要将 VDD 电源引脚与单总线并联即可。但在程序设计中,寄生工作方式将会对总线的状态有一些特殊的要求。图 5DS28B20 芯片 ROM 指令表:Read ROM(读 ROM)33H (方括号中的为 16 进制的命令字)这个命令允许总线控制器读到 DS18B20 的 64 位 ROM。只有当总线上只存在一个 DS18B20 的时候才可以使用此指令,如果挂接不只一个,当通信时将会发生数据冲突。Match ROM(指定匹配芯片)55H这个指令后面紧跟着由
51、控制器发出了 64 位序列号,当总线上有多只 DS18B20 时,只有与控制发出的序列号一样的芯片才可以做出反应,其它芯片将等待下一次复位。这条指令适应单芯片和多芯片挂接。Skip ROM(跳跃 ROM 指令)CCH这条指令使芯片不对 ROM 编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。Search ROM(搜索芯片)F0H在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的 64 位 ROM。Alarm Search(报警芯片搜索)ECH在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于 TH
52、 或 . . . 21 / 75小于 TL 报警条件的芯片做出反应。只要芯片不掉电,报警状态将被保持,直到再一次测得温度什达不到报警条件为止。DS28B20 芯片存储器操作指令表:Write Scratchpad (向 RAM 中写数据)4EH这是向 RAM 中写入数据的指令,随后写入的两个字节的数据将会被存到地址 2(报警 RAM 之 TH)和地址 3(报警 RAM 之 TL)。写入过程中可以用复位信号中止写入。Read Scratchpad (从 RAM 中读数据)BEH此指令将从 RAM 中读数据,读地址从地址 0 开始,一直可以读到地址9,完成整个 RAM 数据的读出。芯片允许在读过程
53、中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。Copy Scratchpad (将 RAM 数据复制到 EEPROM 中)48H此指令将 RAM 中的数据存入 EEPROM 中,以使数据掉电不丢失。此后由于芯片忙于 EEPROM 储存处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持 10MS,来维持芯片工作。Convert T(温度转换)44H收到此指令后芯片将进行一次温度转换,将转换的温度值放入 RAM 的第 1、2 地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,
54、总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。Recall EEPROM(将 EEPROM 中的报警值复制到 RAM)B8H此指令将 EEPROM 中的报警值复制到 RAM 中的第 3、4 个字节里。由于芯片忙于复制处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。另外,此指令将在芯片上电复位时将被自动执行。这样 RAM 中的两个报警字节位将始终为 EEPROM 中数据的镜像。Read Power Supply(工作方式切换)B4H此指令发出后发出读时间隙,芯片会返
55、回它的电源状态字,“0”为寄生电源状态,“1”为外部电源状态。 . . . 22 / 75DS18B20 复位与应答关系示意图:图 6每一次通信之前必须进行复位,复位的时间、等待时间、回应时间应严格按时序编程。DS18B20 读写时间隙:DS18B20 的数据读写是通过时间隙处理位和命令字来确认信息交换的。写时间隙:写时间隙分为写“0”和写“1”,时序如图 7。在写数据时间隙的前15uS 总线需要是被控制器拉置低电平,而后则将是芯片对总线数据的采样时间,采样时间在 1560uS,采样时间如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。每一位的发送都应该有一个至少 15u
56、S 的低电平起始位,随后的数据“0”或“1”应该在 45uS 完成。整个位的发送时间应该保持在 60120uS,否则不能保证通信的正常。读时间隙:读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少 1uS 的低电平,表示读时间的起始。随后在总线被释放后的 15uS 中 DS18B20 会发送部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。每一位的读取之前都由控制器加一个起始信号。注意:如图 8 所示,必须在读间隙开始的 15uS 读取数据位才可以保证通信的正确。 . . . 23 / 75在通信时是以 8 位“0”或“1
57、”为一个字节,字节的读或写是从高位开始的,即 A7 到 A0.字节的读写顺序也是如图 2 自上而下的。6 电机电路6.16.1 电机驱动电路图电机驱动电路图6.26.2 电路原理电路原理 单片机给出一个高低电平来控制三极管的导通与截止;此时的三单片机给出一个高低电平来控制三极管的导通与截止;此时的三极管是工作在饱和与截止区且具有滤波作用;极管是工作在饱和与截止区且具有滤波作用;R7R7 的电阻是提供电机的的电阻是提供电机的电流;电流; . . . 24 / 757.蜂鸣器驱动电路7.17.1 蜂鸣器驱动电路图蜂鸣器驱动电路图7.27.2 工作原理工作原理片机给出一个高低电平来控制三极管的导通与
58、截止;从而使蜂鸣器的片机给出一个高低电平来控制三极管的导通与截止;从而使蜂鸣器的贴片振荡;高电平时导通,低电平时截止。贴片振荡;高电平时导通,低电平时截止。结结论论在设计制作高精度电子秤的过程中,我深切体会到理论与实践相结合的重要性。本系统的制作主要应用到了模拟电子技术、数字电子技术、单片机控制技术、电子工艺和 C 程序设计等多方面的知识,所设计的基于 MCS-51 单片机程序控制的高精度数字电子秤,达到了设计要求,同时也使我的动手能力和电子设计能力得到了极大锻炼。特别是在线性度的确定过程中,实验测试数据用 MATLAB 绘图,可以得出真值和砝码值的关系接近为一条直线,所以就可以得出它们之间的
59、线性关系。接着用最小二乘法对实验测试数据进行拟合,最终完成定标。这一过程很好地将理论与实践结合起来了。同时通过多次测量数据,得出的值更接近真实值。这样利用实验数据进行分析,使设计更有说服力,也增强了本设计电子秤的准确性和精确性。进一步肯定了设计的正确性。本次论文设计展示了自己的能力,更让笔者体会到了电子技术与设计的趣味,以与其强大深远的实用性。也使我们深切认识到自身知识能力尚存在许多不足。设计中还存在一些不尽完美的地方,硬件电路部分的焊接没有做到最简单方便,布局还可以更合理,软件设计部分还需要进一步的完善。今后,我将更加努力学习,不断完善自己的专业知识,提高专业技能。 . . . 25 / 7
60、5附录 系统电路图与程序代码原理图原理图 . . . 26 / 75 . . . 27 / 75/*/*主函数主函数*/*/#include#include#include#include #include#include#define uchar unsigned char#define uint unsigned int#define nop() _nop_()/*电机*/sbit PWM=P24;bit flag;uint t;uchar val;void main() . . . 28 / 75 beep=0; Init_12864(); timer(); while(1) val=AD_0804(); disp(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包园林苗木合同范例
- 公司人员聘用合同范例
- 口罩机器购买合同范例
- 医药otc销售合同范例
- 困难劳动合同范例
- 招标和造价合同范例
- 定制柜门购销合同范例
- 医疗器材购销合同范例
- 小餐厅转让合同范例
- 政府厨房维修合同范例
- 2022-《参与感:小米口碑营销内部手册》
- 三级医院医疗设备配置标准
- 合法离婚协议书(2篇)
- 水轮发电机组大修质量标准
- 项目主要技术方案计划表
- 汽车零部件开发质量管理课件
- 20m29.6m30.4m20m钢箱梁桥实例设计内容与表达
- 冀教版四年级上册英语Unit 4单元测试卷(含听力音频)
- 【真题】北京市西城区六年级语文第一学期期末试卷 2021-2022学年(有答案)
- VMWare Horizon7平台集成指南
- 口腔专科护理知识考核试题与答案
评论
0/150
提交评论