基于单片机的数字电压表的设计(共26页).doc

上传人:飞****2 文档编号:5490996 上传时间:2022-01-08 格式:DOC 页数:26 大小:1.06MB
返回 下载 相关 举报
基于单片机的数字电压表的设计(共26页).doc_第1页
第1页 / 共26页
基于单片机的数字电压表的设计(共26页).doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《基于单片机的数字电压表的设计(共26页).doc》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表的设计(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上基于单片机的数字电压表的设计任务书1课程设计的内容和要求(包括原始数据、技术要求、工作要求等):一、设计电压测量电路数字式电压表是电压测量的常用仪表,本课题即要求应用单片机、A/D转换器及其他器件组成数字式电压检测仪表。二、主要技术指标与要求:2.1基本要求:(1)电压测量范围0-5V;(2)能用数码管显示电压值;(3)测量精度达0.1V;(4)要求系统具备复位功能;2.2发挥部分:(1)电压测量范围520V;(3)电压表具备20V超量程报警功能;(4)测量精度:0-5V内可调可达0.02V,5-20V可达0.1V;(5)尽可能减少芯片的使用节能成本;三设计思路(1)

2、方案的对比和确定(2)硬件电路设计a) AT89S52-24PU是DIPloma-40集成电路芯片,该芯片有4个八位并行的双向I/O口,分别为P0、P1、P2、P3、口. AT89S52具有较大程序存储空间和数据存储空间能满足用户的需要易于实现功能拓展,AT89S52内部置有ISP在线编程技术可以应用下载线直接连到计算机的并口相连就可烧写程序。b) ADC0809CCN是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换。c)LED84S -LE

3、D动态显示模块. 12引脚,包含四个数码管,应用起来相当简便。(3)程序设计i. 由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。ii. 由于ADC0809的参考电压VREFVCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF)(4)结果分析参照实验现象和结果进行必要的分析和思考 2对课程设计成果的要求包括图表、实物等硬件要求:(1)设计电路,安装调试或仿真,分析实

4、验结果,并写出设计说明书。(2)做出实物,有良好的性能。3主要参考文献:1 何立民. 单片机高级教程,M. 北京:北京航空航天大学出版社,20072 肖洪兵 高茂科. CAI课件 自主开发3 杭和平. 单片机原理与应用M. 北京:机械工业出版社,20084. ATMEL公司AT89S52的技术手册4.豆丁文档. 基于单片机的数字电压表的设计 6 吴金戌等8051单片机实践与应用北京:清华大学出版社,20027 张友德等 单片微型机原理、应用和实验 复旦大学出版社 8 徐爱军. 单片机高级语言C51M. 北京:电子工业出版社,2001 9 深圳市中源单片机发展有限公司AT89C52 Datash

5、eets 10 赵伟军.PROTEL99SE教程.人民邮电出版社.20044课程设计工作进度计划:序号起 迄 日 期工 作 内 容12010-12-20布置任务,教师讲解设计方法及要求22010-12-21学生查找阅读资料,并确定方案32010-12-22学生讨论方案52010-12-242010-12-29制作实物并写说明书62010-12-30答辩72010-12-31答辩主指导教师苏泽光日期: 2010 年 12 月 20日单片机课程设计题 目: 基于单片机的数字电压表 学院名称: 指导老师: 班 级: 学 号: 学生姓名: 2010年12月31日 目录专心-专注-专业基于单片机的数字电

6、压表的设计内容摘要:在电子信息科技高速的时代,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受青睐。在现代检测技术中,常用高精度数字电压表进行检测,将检测到的数据送入微型计算机系统,完成计算、存储、控制等功能。本文中数字电压表的控制系统采用AT89S52单片机,A/D转换器采用ADC0809为主要硬件,LED动态显示模块、电源模块、量程选择模块和报警系统,实现数字电压表的硬件电路与软件设计。该系统能完成电压量的采集、A/D转换、手动量程切换、实时显示采集到电压量和声光提示等功能。依据实际的情况还可以添加自动量程切换工能。关键词:AT89S52、A/D转

7、换ADC0809、数码产品、四位LED动态扫描、功能实现。引言:20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流或交流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高

8、、测量速度快等特点而倍受青睐。市场前景可观。一、 系统方案选择和论证:1、 设计要求1.1基本要求:(1)电压测量范围0-5V;(2)能用数码管显示电压值;(3)测量精度达0.1V;(4)要求系统具备复位功能;1.2发挥部分:(1)电压测量范围520V;(3)电压表具备20V超量程报警功能;(4)测量精度:0-5V内可调可达0.02V,5-20V可达0.1V;(5)尽可能减少芯片的使用节能成本;2、系统基本方案2.1建议数字电压表系统框图如图12.2主控部分的选择 方案一:用以AT89S52为核心的单片机控制系统方案,AT89S52具有较大程序存储空间和数据存储空间能满足用户的需要易于实现功能

9、拓展,AT89S52内部置有ISP在线编程技术可以应用下载线直接连到计算机的并口相连就可烧写程序,可代替市场上专用的程序烧写器,既经济又实用,从而提高了系统性价比。 方案二:用AT89S52作为主控制系统易于实现对程序的编写,但是用户在编写较长程序时它的程序存储空间和数据存储空间不能满足需求,且其不支持ISP在线编程技术,需要专用的烧写器来烧写程序,故成本高,进而降低了系统性价比。 方案三:应用ICL7107集成芯片制作的方案。ICL7107是一块应用非常广泛的集成电路,它包含3 1/2位数字A/D转换器,可直接驱动LED数码管,内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动调零功能

10、等。ICL7107是一种制作数字电压表典型的应用电路。由于该集成芯片在使用上有一定的局限性,不可编程故不能实现功能拓展,无法满足作品的设计要求故不可取。 综合以上三种方案分析,采用AT89S52作为主控制系统,可以大大提高系统功能的性能指标,还可以简化系统电路,成本低,故采用方案一。2.3显示器的选择 方案一:运用液晶显示器主要能显示大量的文字、数字和图形,而且清晰化程度高,成本高。而次作品主要是简单的显示数字,故不采纳。 方案二:运用点阵显示器主要能显示文字、数字,但其内部结构较为复杂,不易连接,故不使用它。 方案三:运用数码管显示数字比较直观,且其在使用方面连线比较简单、成本低。 综合各方

11、面考虑系统的性价比故采用方案三。2.4 A/D转换器的选择 方案一:采用双积分A/D转换器MC14433.它有多路调制的BCD码输出端和超量程输出端,采用动态扫描显示,便于实现自动控制。单芯片只能完成A/D转换功能,要实现显示功能还需配合其它驱动芯片等,使得整部分硬件电路板布线复杂,加重了电路设计和实际焊接的工作。 方案二:采用A/D转换芯片ADC0809。ADC0809是一块8路8位模数转换芯片,将模拟电路和数字电路集成在一个用28个功能端的电路内,包含了A/D转化、逻辑控制、译码驱动等电路,其转换时间为100S左右,符合作品8路采集要求且电路设计简单,电路板布线不复杂,便于焊接、调试。综上

12、所述,故采用方案二。二、 系统的硬件设计与实现1、系统硬件概述 该作品由六大部分组成,分别是主控模块、A/D转换模块、显示模块、声光报警模块、量程选择模块、直流稳压电源模块。2、主要单元电路的设计2.1 AT89S52单片机数字电压表的控制模块采用AT89S52单片机,AT89S52是DIPloma-40集成电路芯片,该芯片有4个八位并行的双向I/O口,分别为P0、P1、P2、P3、口。如图2示。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有

13、内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(

14、定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2

15、口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。P3.0 RXD(串行输入)P3.1 TXD(串

16、行输出)P3.2 INT0(外部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)20引脚为接地端;40引脚为电源端;31引脚需要接高电位使单片机选用内部程序存储器;18、19脚接上一个12MHZ的晶振为单片机提供时钟信号,第9脚为复位引脚,单片机只有满足这些条件才能正常工作。 图 2 AT89S52引脚图 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个

17、6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,2.2主控模块如图3:a) :把“单片机系统”区域中的P1.0P1.7与“动态数码显示”区域中的abcdefgdp端口用8芯排线连接。b) 把“单片机系统”区域中的P2.0P2.3与“动态数码显示”区域中的S1S2S3S4端口用8芯排线连接。c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。d) 把“单片机

18、系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。e) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。f) 把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。 图 3 主控模块2.3 显示模块2.3.1显示模块芯片介绍LED84S四位八段数码管四位数码管,内部的4个数码管共用adp这8根数据线,为人们的使用提供了方便,因为里面有4个数码管,所以它有4个公共端,加上adp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为

19、112脚,下图中的数字与之一一对应。 图4 LED84S引脚图 4位数码管引脚图数码管使用注意事项说明:()数码管表面不要用手触摸,不要用手去弄引角;()焊接温度:度;焊接时间:()表面有保护膜的产品,可以在使用前撕下来。 图5 实物图2.3.2 显示模块的连接a) 把“单片机系统”区域中的P1.0P1.7与“动态数码显示”区域中的abcdefgdp端口用8芯排线连接。 b) 把“单片机系统”区域中的P2.0P2.3与“动态数码显示”区域中的S1S2S3S4端口用8芯排线连接。如图6 图6 与AT89S52相连显示接线图2.4 A/D转换模块/D转换器用于实现模拟量向数字量的转换,由于模数转换

20、电路的种类很多,选择/D的转换器件主要从速度、精度和价格方面考虑。目前最常用的是双积分式和逐次逼近式/D转换器。双积分式/D转化器的优点是转换精度高,抗干扰性能好,价格便宜;但转换速度较慢。因此这种转换器主要用于速度要求不高的场合。逐次逼近式/D转换器是一种速度较快、精度较高的转换器,其转换时间大约在几微秒到几十微秒之间。该系统采用的模数转换器芯片为adc809,该芯片为8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100S左右。2.4.1ADC0809的内部逻辑结构ADC0809的内部逻辑结构图如图 7所示图7 ADC0809的内部逻辑结构图图

21、中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是种经济的多路采集方法。地址锁存与译码电路完成对A、B、C 3个地址进行锁存译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线。表1为通道选择表 C B A被选择的通道 0 0 0IN0 0 0 1IN1 0 1 0IN2 0 1 1IN3 1 0 0IN4 1 0 1IN5 1 1 0IN6 1 1 1IN7表 1 通道选择表2.4.2 ADC0809引脚功能 (1)ADC0809引脚图8 图8 ADC0809CCNADC0809芯片为DIP-28,其主要信号引

22、脚的功能说明如下:IN7IN0模拟量输入通道。 A、B、C地址线。通道端口选择线,A为低地址,C为高地址,引脚图中ADDC、ADDB和 ADDC。其地址状态与通道对应关系见表6.1 ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。 START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始 进行A/D转换;在A/D转换期间,START应保持低电平。写为ST。 D4D0数据输出线。为三态缓冲输出形式。可以和单片机的数据线直接相连。D0为最低位,D7为最高。 OE输出允许信号。用于控制三态门输出锁存器向单片机输出转换得到的数据。O

23、E=0,输 出数据线呈高阻;OE=1,输出转换所得到的数据。 CLK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟 信号引脚。通常使用频率为500KHZ的时钟信号。 EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可 作为查询的状态标志,又可以作为中断请求信号使用。 VCC+5V电源。 Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。起典型 值为+5VVref(+)=5V,Vref(-)=-5V。2.4.3 AT89S52与ADC0809接口电路 AT89S52与ADC0809接口电路如图9 ADC

24、0809数模转换接线图a) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。b) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。c) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。d) 把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。e) 把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。f) 把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。g) 把“单片机系统”区域中的P0.0P

25、0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。接口电路的连接要涉及两个问题:一是由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。二是由于ADC0809的参考电压VREFVCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF) 2.4.4封装规格:DIP-28: 2.5量程选择模块 量程模块根据电阻分压原理而设计,该系统的量程模块

26、由一个15K的电阻和10K的滑动电阻串上8个1K的电阻构成分压模式,根据作品设计要求采集电压值的量程可在0V5V, 5V20V之内的电压量进行选择,图(8)中SW开关就起到选择量程的作用,AT89S52的P3.3 P3.5所对应接的按键开关和发光二极管起到这里则起来到选择量程通道的作用。 三、 系统的软件设计 1、系统软件概述 基于单片机的数字电压表是一种实时测试电压变化量的数码智能产品。该系统由AT89S52单片机系统、转换模块、LED动态显示模块、电源模块、量程选择模块组成。 该系统能完成电压量的采集、转换、手动量程切换、实时显示采集到电压量等功能。依据实际的情况还可以添加自动量程切换功能

27、。本系统成本低廉,功能实用它以可靠的性能、便捷的使用和极低的功耗特性而获得广阔的市场前景。 2、数字电压表程序流程图及显示子函数2.1程序流程图:2.2 显示子程序七段数码管显示四位数字的C代码: #include/#includeunsigned char a,b,c,d;unsigned char code dispbitcode=0x10,0x20,0x40,0x80,0x00;/共阴位码unsigned char code dispcode= 0X3F,/*0*/ 0X06,/*1*/ 0X5B,/*2*/ 0X4F,/*3*/ 0X66,/*4*/ 0X6D,/*5*/ 0X7D,/

28、*6*/ 0X07,/*7*/ 0X7F,/*8*/ 0X6F,/*9*/;/共阴段码/*延时子程序*/void delay(unsigned int x)/最小1毫秒unsigned char j;while(x-) for(j=0;j125;j+) ;/*显示子程序*/void display(unsigned char qian,unsigned char bai,unsigned char shi,unsigned char ge) P3=dispbitcode0; P0=dispcodeqian; /显示千位 delay(5); /P3=dispbitcode5; /P2=dispc

29、ode11; P3=dispbitcode1; P0=dispcodebai; /显示佰位 delay(5); /P3=dispbitcode5; /P2=dispcode11; P3=dispbitcode2; P0=dispcodeshi; /显示十位 delay(5); /P3=dispbitcode5; /P2=dispcode11; P3=dispbitcode3; P0=dispcodege; /显示个位 delay(5);void main(void) while(1) unsigned int abcd=1024; /一定要注意数据类型之前我一直用的是char(0225)导致千

30、位无法显示 a=abcd/1000;/送去显示 b=abcd%1000/100; c=abcd%1000%100/10; d=abcd%1000%100%10; display(a,b,c,d); 四、系统测试 1、测试仪器与设备 测试仪器及设备如表4.1所示 表4.1 测试仪器及设备 2、测试指标和误差分析 (1)基本要求 05V预置电压与实测电压的偏差测试如表4-2所示 表4-2 预置电压与实测电压的偏差输入档位/V预置电压/V实测电压/V误差/V000.0000.0200.021.501.5001.4800.022.502.5002.4700.033.503.5003.4700.0350

31、5.0005.1000.10(2)发挥部分 5V20V预置电压与实测电压的偏差测试如表4-3所示 表4-2 预置电压与实测电压的偏差 (3)实物测试图3、测试结果分析 根据检测结果,分析该数字电压表的技术性能指标: 误差比较小,达到了电路的设计要求,从测试数据可以看出技术指标达到设计要求,在 电压值小时相对误差较大,主要是采样电压值较小,导致采样电压时,测量分辨率不够高,使相对误差大,解决这一问题的一种办法是在小电压时使用软件编程解决,提高采样电压的 次数求平均值,从而提高分辨率,减小相对误差。影响电压表精度的另一个器件是所采样电 压,一般需要选择压值稳定性好,精度高的电源。由于条件所限测试采

32、样的电压源提供的电 压很不稳定,导致采集到的电压值存在一定的误差。 四、 总结 1、作品总结 由于使用的是高效单片机作为核心的测量系统,以及灵敏度和精度较高的A/D转换器,使本直流电压表具有精度高、灵敏度强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。本系统以AT89S52单片机为核心部件,结合模数电路的设计原理,利用电阻分压的原理选择测试点电压的技术,并配合一套独特的程序完成了题目所有的功能。在设计中力求发 挥软件灵活方便的特点,来满足系统的设计要求。 设计与调试过程:首先,我们翻阅了不少有关的资料,通过自学,讨论,以及与指导老师的交流,最终确定了方案的可行

33、性以及优越性;其次,通过计算与测试实验,还有运用PROTEL99SE进行仿真实验分析,最终确定了元件的接法以及元件的参数选择,特别是那个整流桥堆、SCR、C1的耐压值、最大电流值,还有R2、R3和RG、R7阻值的选择与分配.。再次,购买元器件,和老板们打交道,不仅体验了社会上的好多没有怎么接触的事情,更是一次对电子产品的系统性学习和反思。最后,运用焊接工具,我们耐心地制作,中间确确实实遇到了不少问题,但是我们还是撑过来了,最终获得了成功。遇到的问题有:1. 元件参数不当引起元器件烧坏;2. 焊接工艺技术不够导致电路板外观难看;3. 接通电源后由于不小心导致烙铁烫坏了导线的绝缘皮层;4. 元件参

34、数的测量方法不熟,导致焊接的进度比较慢;2、自我总结 经过三周的努力和合作我们小组终于如期完成了积分式数字直流电压表作品设计与制作,在刚开始设计时觉得在设计方案和编程方面不知道如何入手,觉得困难比较多,经过组员的讨论与老师的指点及以往的经验积累,最后终于完成了作品设计要求实现的功能,通过这次实训作品的设计使我们认识到自己的水平还很有限,还有很多不足的地方还有待于提高 。 在本次的单片机课程设计中,我们遇到不少的问题,与此同时也就解决了不少的问题,理所当然也就培养了解决问题的能力。在收获知识的同时,还收获了阅历,收获了成熟,我们通过查找大量资料,请教老师,以及自己不懈的努力,不仅培养了独立思考、

35、动手操作的能力,在各种其它能力上也都有了提高。当然,总所周知,结果并不是最重要的,更为重要的是,我们享受了这个过程,这个过程中的悲与喜,快乐与失望;更为重要的是,我们通过前几次实验的失败,从中汲取经验教训,学会了要怀疑书本,书本上的东西不一定都是正确的,实践是检验真理的惟一标准,一切要以事实说话,不能凭空想象;更重要的是这个过程引发了我对知识与实践的思考,动手能力和创新能力远远重要于那些死板的知识本身,只有给知识一双可以飞翔的翅膀,我们才能做那只可以潇潇洒洒的雄鹰。 总之,通过这次电子技术课程设计,我们是受益匪浅的。3谢辞感谢领导和老师给予我们这个锻炼的机会,为我们提供了一个展示自己才能,开拓

36、创新 思维,激发创新灵感,交流学习互动的平台。通过这次课程设计的设计与制作,极大地提高了我们的动手能力和兴趣,磨练了我们的意志,同时也培养了我们独立思考的能力。感谢指导老师还有其他同学的帮助与指导,才能顺顺利利的 才能按时按量的完成这次实训作品的设计与制作。 六、参考文献 1 何立民. 单片机高级教程,M. 北京:北京航空航天大学出版社,20072 肖洪兵 高茂科. CAI课件 自主开发3 杭和平. 单片机原理与应用M. 北京:机械工业出版社,20084. ATMEL公司AT89S52的技术手册4.豆丁文档. 基于单片机的数字电压表的设计 6 吴金戌等8051单片机实践与应用北京:清华大学出版

37、社,20027 张友德等 单片微型机原理、应用和实验 复旦大学出版社 8 徐爱军. 单片机高级语言C51M. 北京:电子工业出版社,2001 9 深圳市中源单片机发展有限公司AT89C52 Datasheets 10 赵伟军.PROTEL99SE教程.人民邮电出版社.2004 附录一:系统总原理图 附录二:系统总程序清单设计C语言源程序#include unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; /八段显示码unsigned char code dispcode=0x3f,0x06,0x5b,

38、0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00; /共阴段码unsigned char dispbuf8=10,10,10,10,0,0,0,0; /数组定义unsigned char dispcount; /函数定义unsigned char getdata;unsigned int temp;unsigned char i;sbit ST=P30; /P3.0与ADC0809的ST端子相连sbit OE=P31; /P3.1与ADC0809的OE端子相连sbit EOC=P32; /P3.2与ADC0809的EOC端子相连sbit CLK=P33; /P3

39、.3与ADC0809的CLK端子相连void main(void) /主函数 ST=0; OE=0; ET0=1; ET1=1; EA=1; TMOD=0x12; /定时模块 TH0=216; TL0=216; TH1=(65536-4000)/256; TL1=(65536-4000)%256; TR1=1; TR0=1; ST=1; ST=0; while(1) if(EOC=1) OE=1; getdata=P0; OE=0; temp=getdata*235; temp=temp/128; i=5; dispbuf0=10; dispbuf1=10; dispbuf2=10; disp

40、buf3=10; dispbuf4=10; dispbuf5=0; dispbuf6=0; dispbuf7=0; while(temp/10) dispbufi=temp%10; temp=temp/10; i+; dispbufi=temp; ST=1; ST=0; void t0(void) interrupt 1 using 0 /子函数 CLK=CLK;void t1(void) interrupt 3 using 0 TH1=(65536-4000)/256; TL1=(65536-4000)%256; P1=dispcodedispbufdispcount; P2=dispbitcodedispcount; if(dispcount=7) P1=P1 | 0x80; dispcount+; if(dispcount=8) dispcount=0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁