课程设计(论文)基于单片机的05v数字电压表设计.doc
摘 要本文介绍了用ADC0809集成电压转换芯片和AT89S51单片机设计制作的多路数据采集系统。在测量仪器中,电压表是必须的,而且电压表的好坏直接影响到测量精度。具有一个精度高、转换速度快、性能稳定的电压表才能符合测量的要求。为此,我们设计了数字电压表,此作品主要由A/D0809转换器和单片机AT89S51构成,A/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由数码管显示采集的电压值。此设计通过调试完全满足设计的指标要求。电路设计简单,设计制作方便,有较强的实用性关键字:ADC0809;单片机AT89S51;数字电压表 AbstractThe introduction to this text is designed with ADC0809 integratedvoltage chip and AT89S51 one-chip computer. In the voltmeter, the collection of the data is necessary, the quality of and the data collector influences the precision of measurement of the measuring instrument directly. The voltmeter with high, quickly, steady performance of conversion speed of a precision could accord with the demands for measurement. For this reason, we have designed the digital voltmeter, this device is formed by A/D0809 converter and one-chip computer AT89S51 mainly, A/D converter finishes to the collection of the analog signal and conversion function under the control of the one-chip computer, shown the voltage value gathered by the digital tube finally. This designs and totally meets the index demand designed through debugging.The circuit is simple in design. Design and make it conveniently,so that there is stronger practicability.Keywords: ADC0809;AT89S51;digital voltmeter目 录引言11. 设计内容及要求 21.1 设计要求 21.2 设计方案 21.3 方案选择及论证21.3.1 单片机系统21.3.2 A/D模数转换电路21.3.3 数码管显示电路32. 系统电路总设计 32.1电路设计原理 32.1.1 AT89S51单片机简介 32.2单片机最小系统图 72.3显示部分 72.4数模转换器ADC0809部分 82.4.1 A/D模数转换电路82.4.2 ADC0809的内部逻辑结构82.4.3 信号引脚 93. 程序流程图 104. 组装调试内容及步骤 114.1 所用元器件 114.2需要仪器仪表 114.3软件工具 114.4制作过程 114.5调试过程 114.5.1 硬件调试 114.5.2 软件调试124.5.3 误差分析125. 总结设计电路的特点和方案的优缺点及课题的核心 136. 结论及心得体会 13谢辞 15参考文献 16附录 17引言课程设计,是锻炼大学生动手能力的一门课程,为以后走上工作岗位提供一个很好的锻炼机会。运用自己学到的知识,通过查找资料,制定设计方案,绘制原理图,制作PCB板,焊接元器件,组装调试电路,通过测试电路参数,计算理论与实际的误差,论证自己的设计方案。遇到问题及时解决问题,从中总结经验与教训,最后写出设计论文。电子技术日新越益的发展,各种新型电子器件和集成电路应用越来越广泛,电子系统功能越来越强大,电路图也越来越复杂,印刷电路板的走线越来越复杂和精密,以往用手工的方法绘制电路原理图和设计线路板已经很难适应当前电子工业飞速发展的形势。所幸的是计算机的发展和普及较好地解决了这个问题。目前,人们可以在计算机上利用各种商品化的软件对电子线路进行各种有效的分析和设计。课程设计即为电子电路的设计、仿真、安装、调试、印制电路板的设计。单片机以其高可靠性,高性价比,低电压,低功耗等一系列优点,今几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统,智能化仪器仪表,及通讯设备和日常消费类产品,玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中。如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等,无不含有CPU控制器,即单片机。本设计是用单片机系统和一个集成数模转换芯片ADC0809实现把模拟电压转换成数字显示。本系统是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等领域,显示出强大的生命力。与此同时,由数模集成转换芯片扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。 1 设计内容及要求1.1 设计要求此次课程设是设计一个数字电压表,其具体指标要求如下:(1) 采集数据范围: 05 V(2) 供电电压: 5V(3) 数据显示: 4位有效数字(4) 显示方式: LED或LCD显示1.2 设计方案基于本电路的设计要求,以89s51单片机为核心芯片同时辅以外围电路。硬件电路如下图所示。硬件电路结构由4 部分组成,即单片机部分, LED 显示部分,A/D 转换部分。简而言之,就是以89s51 为主芯片,它通过编程完成对电压的测量,然后数据通过单片机的P2、P3口输出到外围电路进行显示,不过,我们在这之前首先要经过A/D 转换,将转换后的数字量送入单片机。显示部分用的是4 位8 段的共阴数码管,用来显示具体的电压值,小数点部分由单片机控制。显示部分是用共阴数码管,由4个单个构成,数码管显示处理简单,工作电流要在1mA左右,用单片机的P1口做段选控制,P3.0,、P3.1,P3.2,P3.3口做位选控制。A/D 转换部分用ADC0809。ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。1.3 方案选择及论证1.3.1 单片机系统方案一:采用专用的数字信号处理器(例如DSP),其特点是处理速度快,精度高、效果好,但此类处理器价格昂贵,市场上少有,不易购买。方案二:采用通用的微处理器(如MCS-51系列);这种处理器的性能优良、价格便宜,容易购买。对于要求较高的数字处理场合不适用,但本系统设计要求不高,所以本系统采用 AT89S51。1.3.2 A/D模数转换电路A/D转换器芯片种类繁多,按其变换原理分类,双积分式、量化反馈式、逐次比较式等A/D转换器。方案一:双积分式A/D转换器双积分式A/D转换器是一种间接A/D转换技术。首先将模拟电压转换成积分时间,然后用数字脉冲计时方法转换成计数脉冲数,最后转换成二进制数或BCD码输出。因此,双积分式A/D转换时间较长,一般大于4050ms。但其外接元件少,使用方便,具有极高的性价比。本设计要求采样频率fs8kHz(即采样周期Ts<125ms),因此,双积分式A/D转换器转换速度过低,不适合用。方案二:并行A/D转换器并行式A/D转换器是一种转换速度最快、转换原理最直观的A/D转换技术。并行A/D转换需要大量的低漂移电压比较器,不容易实现,市场难以买到,且价格昂贵。方案三:逐次比较式A/D转换器这种A/D转换器目前种类多、数量大、应用广,且价格便宜,该芯片有8通道。本设计要求字长为8位,该芯片能够满足设计需要。因此选用该种类中的ADC0809作为A/D转换的芯片。1.3.3 数码管显示电路:一般采用LCD点阵式模块作为显示,它能显示丰富的字符,耗电省,但目前价格稍贵,不适合本系统,所以我采用四位LED数码管作为显示器,虽然它耗电量大,显示单一,但已经完全满足本系统的要求。2 系统电路总设计2.1 电路设计原理 本次设计的电路由AT89S51单片机,4位数码管,74LS02与非门,ADC0809芯片构成。 图2.1 硬件电路模块系统要采集数据为5V电压。系统开启后,系统启动自检程序,然后启动ADC0809芯片进行数据采集和转换,当转换成功结束后,单片机把A/D输出的数字量数据读入并进行相应的数据处理,最后通过软件译码把采集的电压值显示在数码管显示器上。2.1.1 AT89S51单片机简介MCS-51单片机是目前应用最广、品种最多的单片机。它具有集成度高,系统结构简单,扩展方便,可靠性高,处理功能强、速度快,容易产品化等优点。综合以上因素,采用P87LPC76x单片机为核心原本应该是本次设计的最佳选择,然而P87LPC76x单片机很难买到,桂林市都没有卖的。另外使用P87LPC76x使外围电路变得简单,实现的功能不多。由于它与我们平时熟悉的51 系列差别很大,编程有一定难度。再加之它的价格偏贵,所以最终放弃了P87LPC76X系列单片机而选择了熟悉的AT89S51单片机为核心。 单片机AT89S51及其接口在这块芯片上,集成了一台微型计算机的各个部分。其中P0、P1、P2、P3为可编程IO口,程序计数器Pc是16位专用寄存器,用它来存放与指示下一条要执行的指令地址;指令寄存器是8位寄存器,用于暂时存放指令、等待译码。另外还有指令译码器、数据指针寄存器DPTR、累加能ACC、算术逻辑部件ALU、程序状态字寄存器PSW等,它们都与内部总线连接,组成一台完整的计算机。AT89S51单片机芯片可以用MCS-51系列单片机芯片来代表。MCS51单片机芯片采用40引脚双列直插封装(DIP)方。a 引脚排列 b 逻辑符号 图2.2 MCS-51 系列单片机接口AT89S51是高性能单片机,因为受到集成电路芯片引脚数目的限制,所以有许多引脚具有双功能。这40 条引脚大致可分为地址总线和控制总线等几部分。它们的功能简要说明如下; (1)主电源引出端Vss和VccVss(第20引出端):接地。Vcc(第40引出端);主电源十5V。 (2)时钟振荡电路引脚XTALI和XTAL2: XTAL1 (第18引出端)内部振荡电路反相放大器输入端,是外接晶体的一个引脚。若采用外部振荡电路时,XTAL1必须接地。 XTAL2 (第19 引出端)内部振荡电路反相放大器输出端,是外接晶体的另一个引脚。所谓振荡是指中央处理器CPU用外部振荡器,此引脚接外部振荡源,用于输入外部振荡脉冲,该信号直接送至内部时钟电路。在使用内部振荡电路时,XTAL1、XTAL2这两个端用来外接石英晶体,振荡频率为晶振频率,振荡信号送至内部时钟电路产生时钟脉冲信号。 (3)控制总线: ALEPROG (第30 端) ALE为地址锁存允许信号。在访问外部存储器时,ALE用来把扩展地址低8位锁存到外部锁存器。在不访问外部存储器时,ALE引脚以不变的频率(时钟振荡器频率的16)周期性地发出正脉冲信号,因而它又可用作外部定时或其他需要。但要注意,在遇到访问外部数据存储器时,会丢失一个ALE脉冲,ALE能驱动11个LSTTL门输入。在8751单片机内部EPROM编程期间,此引脚接编程脉冲(PROG功能)。RSTVPD(第9端)复位信号输入端。当RST引脚持续两个机器周期(24个时钟周期)以上的高电平时使单片机完成复位操作。复位不影响内部RAM中的数据。复位后,PC0000H,指向程序存储器0000H地址单元,使CPU从首地址0000H单元开始重新执行程序。所以单片机系统在运行出错或进入死循环时,可按复位键重新启动。此引脚还可接上备用电源。当主电源VCC一旦发生断电(称掉电或失电),降到一定低电压值时,由VPD向内部RAM提供电源,以保护片内RAM中的信息不丢失,使上电后能继续正常运行。 PSEN (第29端)外部程序存储器ROM的选通信号。当从外部程序存储器取指令(或数据)期间,PSEN产生负脉冲作为外部ROM的选通信号。而在访问外部数据RAM或片内ROM时,不会产生有效的PSEN信号。PSEN可驱动八个LSTTL门输入端。 EA/VPP (第31端)EA访问外部程序存储器控制信号。对8051和8071,它们的片内有4KB的程序存储器,当EA为高电平时,CPU访问程序存储器有两种情况:一种情况是访问的地址空间在04KB(0000H0FFFH)范围内,CPU访问片内程序存储器,另一种情况是访问的地址超出4KB 时,CPU 将自动执行外部程序存储器的程序,即访问外部ROM对于8031,EA必须接地,只能访问外部ROM。第二功能为对8751的EPROM编程期间,接21v编程电源。 (4)IO线P0、P1、P2和P3: P0 口(P0.0P0.7) (3239端)是一个8 位漏极开路的双向IO 口,每位能驱动八个LSTTL负裁。第二功能是在访问外部存储器时它分时作为低8位地址线和8位双向数据线。当P0口作为普通输入口使用时,应先向口锁存器写“1”。 P1 口(Pl.0P1.7) (18端)是一个内部带上拉电阻的准双向IO 口,每位能驱动四个LSTTL负载。当P1口作为普通输入口使用时,应先向口锁存器写“1”。 P2 口(P2.0P2.7) (2128端)也是一个内部带上拉电阻的8 位准双向IO 口,每位能驱动四个LSTTL负载。第二功能是在访问外部存储器时,作为高8位地址线。 P3 口(P3.0P3.7) (1017端)也是一个内部带上拉电阻的8 位准双向IO 口,每位能驱动四个LSTTL负载P3口除了作为一般准双向口使用外,每个引脚还有各自的第二功能,详见表2-1。表2.1 P3 口各位的第二功能P3 口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0 输入) P3.3 INT1(外部中断1 输入) P3.4 T0(定时器0 外部输入) P3.5 T1(定时器1 外部输入) P3.6 WR(外部数据存贮器写脉冲输出) P3.7 RD(外部数据存储器读脉冲输出) (5)振荡电路和时钟电路: MCS-51片内有一个高增益反相放大器,其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体和微调电容,构成振荡器,如图2.3(a)所示。电容c1和c2对频率有微调作用,电容容量的选择范围为530PF,振荡频率的选择范围为1.212MHZ。 在使用外部时钟时,8051的XTAL2用来纳入外时钟信号,而XTAL1则接地;对于CHMOS 型8051 单片机,外时钟信号必须从XTAL1 纳入,而XTAL2 悬空。 如图2 (b)所示。图2.3 振荡电路和时钟电路Ri当前选中的寄存器区中可作地址寄存器的2个寄存器R0、R1(i0,1) direct直接地址,即8位的内部数据存储器单元或特殊功能寄存器的地址。 data包含在指令中的8位常数。datal6包含在指令中的16位常数。Rel-8位的带符号的偏移量。用于SJMP或所有的条件转移指令中。偏移量按相对于下一条指令的第一个字节地址与跳转后指令第一个字节地址之差计算,在128127范围内取值。 DPTR-数据指针,可用作16位的地址寄存器。 Bit-内部RAM或特殊功能寄存器中的直接寻址位。 Cy进位标志或进位,或位处理机中的累加器。 间址寄存器或基址寄存器的前缀。如Ri,ADPTR。(X)x中的内容 (x)由x寻址的单元中的内容。2.2 单片机最小系统图 图2.4 单片机最小系统原理图单片机最小系统由复位电路,12MHZ晶体震荡电路,和AT89S51单片机构成,。按键K1是单片机的复位键。当单片机出现不正常时来实现强制复位,让单片机重新恢复正常工作状态。几个接口用来功能扩展。此模块是电路的控制部分,用来做处理器系统。2.3 显示部分图2.5 显示部分原理图7段数码管(LED)。LED数码管是我们经常用到的元件,其实LED数码就是把多个LED发光二极管装在一起,一个LED就叫一段,而在数码管中要有7 段发光的二极管才能显示09数字,所以也称7段数码管。单片机应用系统中可以通过驱动电路来驱动数码管的发亮,根据电路的不同数码管的发亮程度可以是不一样的。具有显示醒目直观,电路简单易懂,显示程序容易编译等优点。 数码管的结构简单原理易懂,而且最大的优点就是可以发光发亮,不管在白天还是夜晚都可以实现电路应用。因此我的电路中将用7段数码管做显示电路。LED数码管从触发的方式可以分为共阴和共阳两种,共阴就是从低电位触发,共阳就是从高电位触发。本课程设计选的是共阴数码管。2.4 数模转换器ADC0809部分2.4.1 A/D模数转换电路:图2.6所示为本系统采用的A/D模数转换电路。74LS02为ADC0809提供选通和工作启动信号。ADC0809的ABC端为通道号选择端口。图2.6 A/D转换器电路ADC0809是典型的8位8通道逐次逼近式A/D转换器,CMOS工艺。2.4.2 ADC0809的内部逻辑结构ADC0809内部逻辑结构如图2.7所示。图2.7中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换。地址锁存与译码电路完成对A、B、C三个地址位进行锁存和译码,其译码输出用于通道选择,如表2.2所示。八位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。输出锁存器用于存放和输出转换得到的数字量。 图2.7 ADC0809内部逻辑结构2.4.3 信号引脚ADC0809芯片为28引脚双列直插式封装,其引脚排列见图2.8。 表2.2 通道选择C B A 选择的通道0 0 00 0 10 1 00 1 11 0 01 0 1 1 1 0 1 1 1 IN0IN1IN2IN3IN4IN5IN6IN7 图2.8 ADC0809 引脚图对ADC0809主要信号引脚的功能说明如下:(1) IN7IN0:模拟量输入通道ADC0809对输入模拟量的要求主要有:信号单极性,电压范围05V若信号过小还需进行放大。另外,模拟量输入在A/D转换过程中其值不应变化太快,因此对变化速度快的模拟量,在输入前应增加采样保持电路。(2)A、B、C:地址线A为低位地址,C为高位地址,用于对模拟通道进行选择,引脚图1中为ADDA、ADDB和ADDC,其地址状态与通道相对应关系见表2.2。(3)ALE:地址锁存允许信号对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。(4) START:转换启动信号 START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。(5) D7D0:数据输出线为三态缓冲输出形式,可以和单片机的数据线直接相连。(6)OE:输出允许信号用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高电阻;OE=1,输出转换得到的数据。(7)CLK:时钟信号ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚.通常使用频率为500kHz的时钟信号。(8)EOC转换结束状态信号EOC=0,正在进行转换;EOC=1,转换结束。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。(9)Vcc:+5V电源(10)Vref:参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref (+) =+5V,Vref(-) =0V)模拟输入与数字量输出的关系为NVIN-VREF(-)×256/VREF(+)-VREF(-), 当VREF(+)+5V,VREF(-)0V,若输入模拟电压为2.5V,则转换后的数字量N128,即10000000B。 3 程序流程图 图3.1 程序流程图4 组装调试内容及步骤4.1 所用元器件:(1)排阻 1K 1个(2)电阻 4个。(3)电容: 3个(4)四位共阴数码管 1个(5)AT89S51 单片机 1片(6)12MHZ晶振 1个(7) 按键 1 个(8)ADC0809 1片(9) 74LS02 1片4.2 需要仪器仪表(1)四位半万用表(2)直流稳压电源(3)程序烧录器(4)电烙铁 4.3 软件工具(1) Keil uVision2(2)流程图编辑器(3)Easy 51Pro4.4 制作过程:本次课程设计采用Protel 99 SE软件制作电路版,先在SCH 文件里画电路原理图,然后生成PCB文件。在PCB文件里设计电路元件位置及版的大小后布线,检查无错后打印在光滑的转移纸上通过熨斗把布线转移到铜板上,再拿到三氯化铁里进行腐蚀,留下布线痕迹,接下来把墨迹去掉,打孔,檫上松香水、晾干,焊接元件就可以进行调试和测试。4.5 调试过程4.5.1 硬件调试单片机系统的硬件调试和软件调试是不可能完全分开的,许多硬件错误是在软件调试中发现和被纠正的,但通常是先排除明显的硬件故障以后,再和软件结合起来调试。做好电路板后就开始调试电路。但是电路设计不可能一次调试就成功的,在硬件、软件方面或多或少都会有问题。首先检测电路板中有没有线路连接不好或断路情况,还要检查器件管脚和电路板的焊接是否出现虚焊或漏焊情况。再用万用表测量电路中的各点参数来检查电路,分析错误。电路板做好以后先不忙插芯片,先用万用表仔细检查有无断线 、有无虚焊等情况在检测单片机电路部分满足设计要求后,将单片机芯片安装好后,开始进行系统预调试。接上电源后测量各芯片电源电压情况如下表4-1。 表4-1 各芯片电源电压电源 VCC=5.00V GND=0V芯片 ADC0809 89s51 电源电压(V) 5.00 5.00 可见各芯片工作电压正常,另外用手触摸各芯片,均没有强烈发烫,所以可以开始系统调试。 4.5.2 软件调试在基本上排除了目标样机的硬件故障以后,就可以进入软硬件综合调试阶段,这阶段的任务主要是排除软件错误,也解决硬件的遗留问题。软件调试可以一个一个模块的进行。首先检查程序编写语法及结构方面基本正确后,本次设计使用的是WAVE编辑工具进行编译、仿真。在刚开始仿真时,曾出现标号方面的错误,经检查后很快解决了这一问题。但这是初步的调试,还需要硬件部分电路的调试。把这个程序通过C Keil 编译之后,生成 .hex 二进制文件。利用烧录器把.hex 文件烧到单片机上去。此时运行单片机,要是数码管能正常显示并且带有闪烁,这说明了数码管显示电路是正确的。要是数码管闪烁过于迟钝,都说明了延时时间过长,造成频率多点形成的,此时要修改一下延时作用的循环语句就可以了。同时,也要注意了延时的时间也不是越短越好:要是时间过短,显示就过于短暂,人眼还没有看清楚就一下子过去了。因此,延时时间也适中。实践证明:数码管显示电路完全显示正确,并且带有闪烁感,但人眼完全可以分辩得出来,达到了良好效果。4.5.3 误差分析作为测量仪表,精度一定要高,误差也不能太大。可以将此电压表与标准的万用表分别测量同一电压进行比较得出结果。 由于实验室提供的直流电压的量程最大为0V,故我们可以从0 到5V之间代表性的选择10个测量点来进行比较,以万用表测量的电压为准。得出的结果如表4.2所示:经分析,认为误差来自于两个方面,第一是由于单片机的A/D 数据采集对于电源的要求远高于其他数字电路对电源电压的要求,所以会产生一定的误差。第二是由于在程序中的数据处理的时候,对于5000/255的结果,做了近似约为19的处理,造成了一定程度上的误差。表4.2 误差表测量点 数字电压表 万用表 误 差 0 0.00 0.00 0.00 0.5 0.5130.510.0031.01.0071.020.0131.51.5011.530.0292.02.0142.060.046 2.52.5082.580.0723.03.0023.090.0883.53.5153.610.0954.04.0064.150.1445.04.8454.980.1455 总结设计电路的特点和方案的优缺点及课题的核心和实用价值:本信号采集系统采用AT89S51作为控制芯片,在其控制下保证了系统的正常工作。优质的ADC0809模数转换芯片保证了该系统可以有很高的数据采集和转换精度。由于使用了结构简单的动态数码管显示电路,使得采集来的数据可以被直接的观察。但是由于ADC0809自身存在精度误差,它是八位的A/D,理论误差精度为0.02V,由于我们是把连续的信号数值转换为离散的数值,在数值处理方面有所欠缺,但基本达到了设计要求。本次的数字电压表虽然功能单一,结构简单,却让我更深入的了解了测量仪器的一些工作原理,所以该设计有一定的启发性,而且结合我们专业的特点,对我们将来的学习工作也有很大的帮助,因此该设计课题对我们是一个很好的锻炼。6 结论及心得体会:通过这次课程设计,从原理图的设计、布PCB图,电路板的制作到写课程设计论文等,使我深入了解到课程设计在大学学习的重要性。成功的完成课程是既增强了自己动手能力,为以后的就业工作增加了筹码。也为大四后学期的毕业设计提供了宝贵的经验。通过这次课程设计,我对以前学习的理论知识有了更深入的理解。经过查阅有关方面的书籍,获得了许多专业方面的知识,拓展了视野。学会了如何查找资料把有用的东西加以理解、吸收变成自己的东西。经过自己独立完成电路设计,制作电路板的整个课程设计过程,提高了理论水平和实际的动手能力。在设计的过程中,由于错误的理解了单片机的ALE端的作用,将其直接与单片机的ALE端相连,直接导致了单片机工作的不正常,也使得我的进度一度陷入了困境,后经有经验的同学指点,才发现问题;而在调试过程中,我提高了分析问题和解决问题的能力。尤其是程序的编写与调试费了不少时间与精力,开始是数码管扫描时间长,数码管是一个一个数值显示而不是连续的显示。而把扫描频率提高后,数码管显示又太暗了,在测量P1口电压后才发现原来是输出电流小,查资料后才知道原来是P1口带负载能力较小,用到此口做输出口时需要加一上拉电阻。外加一1K*10的上拉电阻数码管显示立即变亮。除此以外,我还发现自己的基础知识不够扎实,对于学过的东西没有仔细思考和掌握,导致对于滑动变阻器错误的连线,使得数码转换的数值不够正确,后仔细检查才发现并改正。通过这次课程设计,我把学到的知识应用到实际当中,理论与实际相结合,让我真正体会到了学习的乐趣,增强了学习兴趣,加强了我对学习的欲望,和有所学有所用的探索精神,在调试过程中也锻炼了不达目的决不放弃的毅力,在绝望中寻找希望的乐观豁达的精神。总而言之,这样的课程设计是很好的锻炼机会,对我们各个方面的能力都有所提高,为我们将来走出学校,从事工作奠定了一定的基础。谢 辞本次课程设计我学到了比上次更多的知识,有很大一部分是从课本上学不到的,为此我要感谢那些给予我帮助的老师和同学们,没有你们的帮助我无法顺利完成本次课程设计。本设计是在翟江辉老师悉心指导下完成的。在论文的选题、具体工作中,翟江辉老师及我班贤飞,骆兆刚等同学渊博的知识、严谨的学习态度给我留下了深深的印象,在设计、制作到论文的完成过程中,都给了我很大的启示和帮助。在此,我要向翟江辉老师表示衷心的感谢和深深的敬意。这次课程设计的这段时间里,我周围的同学也给予了我很多的帮助和激励。在此,我向他(她)们表示衷心的感谢,感谢他(她)们在学习上和精神上给我的帮助。另外,因为要准备考研,所以这次课程设计有些仓促,准备有些不足。在课题的改进与拓展方面没有做深入的研究。如果我做的过压报警器有什么不好的或者需要改进的的地方还请老师给予指正。我衷心地希望老师能给我更多的意见和帮助。 参考文献1 胡健.单片机实用教程M.北京:兵器工业出版社,2001.2.2 孙焕文.电子测量(第二版)M.北京:中国计量出版社,1988.6.3 陈尚松.电子测量与仪器.北京:电子工业出版社,2005年4 黄冰,覃伟年,黄知超.微机原理及应用M.重庆:重庆大学出版社,2003.1.5 谢自美.电子线路设计·实验·测试(第二版)M.武汉:华中科技大学出版社,2000.7.6 何立民.单片机应用技术选编M.北京:航空航天大学出版社,1998.1.7 孙安青. 单片机实验及实践教程. P.2102158 Susan Garrod,Robort Borns.Digitel-Analysic,Application & DesignM.Holt Rinehart andWinston,Inc.,1991.附 录1Pcb图:附 录2程序:#include<reg51.h>#include<absacc.h>#include"Test.h"#define uchar unsigned char#define uint unsigned intuchar code dispbit=0xf7,0xfb,0xfd,0xfe;/ S1=P33; / S2=P32;/ S3=P31;/ S4=P30;ucharcodedispcode= 0xEB,0x28,0xB3,0xBA,0x78,0xDA,0xDB,0xA8,0xFB,0xFA,0x00;/0,1,2,3,4,5,6,7,8,9sbit Choos=P20; void Delay(uchar Time); uchar disbuf4=0,0,0,0;uchar dispcout;uchar getdata8=0;unsigned long temp;uchar i;