电子系统设计报告

合集下载

电子系统设计实验报告aw60

电子系统设计实验报告aw60

竭诚为您提供优质文档/双击可除电子系统设计实验报告aw60篇一:嵌入式实验报告Aw60实验一名称:编程环境与数据排序姓名:李懿学号:1214098同组:孙垭琪实验日期:20XX.10.28一、实验目的掌握Freescale68hc08汇编语言设计和调试方法,熟悉proemulator、cw08、sD-1型嵌入式微控制器在线实验开发系统的使用方法。

二、实验内容1.实验环境pc机、Dp-01多mcu实验平台、codewarrior集成开发环境、proemulator模拟软件2.硬件接线无3.实验内容:(1)利用汇编语言编写程序,把Freescale68hc908gp32内部RAm$50~$5F单元中的16个无符号数按从小到大的顺序排列,结果放到内部RAm$60~$6F单元中,$50~$5F中数的顺序保持不变。

(2)利用c语言编程完成实验内容(选做内容)三、实验方案及流程图1.实验要求:(1)通过cwIDe或proemulator调试程序并查看运行结果。

(预习时完成)(2)利用cwIDemon08接口把程序下载到mcu实验平台,通过单步、断点等多种调试方式运行程序并查看运行结果。

(3)完成实验报告的撰写。

2.实验方案:本实验采用软件设置断点的方法完成程序调试,查验实验结果。

无须进行硬件连线。

实验采用冒泡法进行数据排序,程序流程如图1所示。

图1冒泡法排序流程图四、实验程序清单DATA1eQu$70DATA2eQu$80n1eQu$A0n2eQu$b0TempeQu$c0FLAgeQu$D0ADDRess1eQu$e0ADDRess2eQu$F0oRg$0070Dc.b$10,$20,$80,$72,$23,$32,$43,$54,$64,$76,$98,$43 ,$76,$87,$62,$62oRg$8000main:moV#$10,n2moV#$01,FLAgLDhx#DATA1sThxADDRess1LDhx#DATA2sThxADDRess2Loop:LDhxADDRess1LDA,xAIx#1sThxADDRess1LDhxADDRess2sTA,xAIx#1sThxADDRess2 DbnZn2,Loop L1:moV#$0F,n2 LDhx#DATA2 moVn2,n1 bcLR0,FLAgL2:LDA,xAIx#1cmp,xbcsL3bseT0,FLAg sTATemp LDA,xAIx#-1sTA,xAIx#1 LDATemp sTA,xL3:DbnZn1,L2bRcLR0,FLAg,L4DbnZn2,L1bRA$L4:oRg$FFFeDc.wmainenD五、实验结果及体会1、实验结果2、实验体会实验二名称:三字节(压缩bcD码形式)无符号十进制数加法程序一、实验目的掌握Freescale68hc08汇编语言设计和调试方法,熟悉proemulator、cw08、sD-1型嵌入式微控制器在线实验开发系统的使用方法。

电子系统设计实验报告

电子系统设计实验报告

基于单片机和FPGA的等精度频率计一、设计任务工作频率通信系统极为重要的参数,频率测量是通信系统基本的参数测试之一。

本设计的主要任务是使用单片机与 EDA 技术设计制作一个简易的等精度频率测试仪,可对输入周期信号的频率进行测量、显示。

被测信号的频率范围和测试的精度要求见相应的设计任务书。

二、设计框图图 1 硬件系统原理框图等精度频率计的主系统硬件框图如图1 示,主要由以下几部分组成:(1)信号整形电路:用于对于放大信号进行放大和整流,以作为PLD 器件的输入信号(2)测频电路:是测频的核心电路模块,由FPGA 或CPLD 器件组成。

(3)单片机电路模块:用于控制FPGA 的测频操作和读取测频数据,并做出相应处理。

(4)数码显示模块:用8 个数码管显示测试结果,考虑到提高单片机I/O 口的利用率,降低编程复杂性,提高单片机的计算速度以及降低数码显示器对主系统的干扰,可以采用串行静态显示方式。

三、测频原理分析3.1 等精度频率测试的原理频率是一个基本的物理量,其它的物理量可以转换为频率进行测量。

测试频率的基本方法包括直接测频和测周法。

其中直接测频法是产生一个标准宽度(例如1s)的时基信号,然后在这个信号时间范围内打开闸门对被测频率信号进行计数。

此方法的弱点之一是高精度的标准时基信号不容易获得;其二,这种方法对于高频信号的测量精度比较有保证,但是对于低频信号由于计数周期有限测试精度较低。

测周法是用被测信号作为闸门信号、对标准脉冲信号进行计数,显然这种方法适合测量低频信号的频率。

等精度测频法的核心思想是用两个计数器分别对标准和被测脉冲进行计数,计数的时间严格同步于被测脉冲。

这种方法的最大优点是测试的精度和被测信号的频率无关,因而可以做到等精度测量。

其测试原理如图2 示。

预置闸门信号是测试命令,即测频的使能信号,该信号为高电平的期间进行测频。

但是当预置闸门信号为高电平时,测频并不是立即开始,而是要等到被测信号的上升沿到来以后,实际闸门信号跳为高电平,测频才真正开始。

电子系统设计创新与实践实习报告

电子系统设计创新与实践实习报告

电子系统设计创新与实践实习报告——数控直流电流源制作学院:信息科学与工程学院班级:通信工程09-1姓名:学号:指导老师:摘要此次实习我的选题为数控直流源的设计与制作,我们小组在参考传统电流源以及普通数控电流源的基础上,在充分考虑性价比的同时提高数控电流源的准确性,再通过软件控制来实现数控直流源的工作。

本系统主要由直流电流源和单片机控制系统两部分组成。

直流电流源采用连续调整型恒流源,电源电路分为四个模块电路:比较放大器、MOS型调整管、采样电阻和负载。

根据题目要求,我们采用的是8位A/D转换芯片ADC0832,8位D/A转换芯片DAC0832,通过AT89C52单片机控制系统进行校正,同时它还负责键盘输入和LCD显示功能,人机界面友好。

关键字:直流源、AT89C52、DAC0832、ADC0832、LCD1602一、数控电流源简介所谓恒流源就是输出电流极其稳定不随负载变化。

为了保证电流不变,输出电压必须始终符合V=I*R。

即负载需要多大电压,恒流源就必须输出多大电压,“无条件”予以满足。

负反馈的作用就是“使之稳定”。

通过时刻“检查”控制对象的状态,并进行调整。

发现小了,就设法使之增大,发现大了,就设法使之减小。

形象地说,电流负反馈电路则是采样输出电流,计算误差,据此调节自身状态,使输出电流稳定,因而,输出特性接近恒流源。

随着电子技术的不断进步,对电子仪器的要求也不断提高。

电源作为电路的动力源泉更是扮演着越来越重要的角色,然而传统的电流源不论是在控制精度还是输出特性上都无法满足要求。

再者单片机技术的不断发展和D/A,A/D技术的不断成熟使得数控电源成为可能,数控电流源不论是在控制精度还是在可操作性上都有传统电源无法比拟的优势。

二、设计任务及要求1.设计任务: 设计并制作数控直流电流源。

输入交流36V,50HZ;输出直流电压<=10V。

其原理示意图如下:2.设计要求1)输出电流范围:200mA~2000mA;2)可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值≤给定值的1%+10 mA;3)具有“+”、“-”步进调整功能,步进≤10mA;4)改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的1%+10 mA;5)纹波电流≤2mA;三、数控电流源硬件系统整体设计AT89C52单片机、A/D、D/A芯片,键盘,LCD,显示器构成系统的控制电路;比较放大器、负载、调整管及采样单元构成恒流源电路。

电子系统设计实验报告

电子系统设计实验报告

实验报告格式要求二.实验目的、任务和要求:本实验要求设计SCI串行接口芯片, 其功能包括串行及并行数据的接收和互相转换。

三.实验系统结构设计分析1.模块划分思想和方法:该芯片需根据功能分为串并转换电路和并串转换电路两部分。

实现串并转换的关键器件就是移位寄存器, 其功能可以使串行输入的数据先寄存到一个位矢量中, 等到一组数据全部输入完毕后再一起处理, 并行输出。

而实现并串转换的关键器件是锁存器, 它可以将并行输入的数据先锁存起来, 再一位一位的转化成串行数据。

计数器在这一芯片中也起到了重要作用, 因为计数器可以产生时间脉冲的分频, 用于配合时间脉冲控制各器件的工作。

2.各模块引脚定义和作用.串并电路:输入: rxd读入数据, clk系统时钟, reset计数器复位端, rd读入控制四进制计数器:C4四分频十进制计数器:Count_10计数分量, C10四十分频(c4的十分频)移位寄存器:Read读入数据, d0~d9并行输出(d0起始端, d1~d8数据端, d9校验位(本实验中不起作用))锁存器:K0~k7数据位状态发生器:RdST读入状态(0为读入, 1为寄存器已满)四.实验代码设计以及分析:1.给出模块层次图;2.按模块完成的代码及注释.USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCI ISPORT(cs,rxd,clk,SCIrd,reset,SCIwr,in7,in6,in5,in4,in3,in2,in1,in0: IN STD_LOGIC;rdFULL,tdEMPTY,c4:buffer std_logic;e7,e6,e5,e4,e3,e2,e1,e0,wxd:OUT STD_LOGIC);END SCI;ARCHITECTURE WORK OF SCI ISSIGNAL wr,rd,read,c10,d9,d8,d7,d6,d5,d4,d3,d2,d1,d0,k7,k6,k5,k4,k3,k2,k1,k0,mid: STD_ULOGIC;SIGNAL wri : STD_LOGIC_vector(7 downto 0);SIGNAL count_10 ,counter_8:std_logic_vector(3 downto 0);BEGINPROCESS(cs)BEGINrd<=cs OR SCIrd;wr<=cs OR SCIwr;END PROCESS;//注释: 片选输入, cs=1时, 串入并出为“写”, 并入串出为“读”;cs=0时, 串入并出为“读”, 并入串出为“写”;PROCESS(rxd)BEGINread<=rxd;END PROCESS;PROCESS(clk)VARIABLE count_4 : STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINIF(clk'EVENT AND clk='1')THENIF(count_4="00")THENcount_4 := "01";c4 <= '1';ELSIF(count_4="01")THENcount_4 := "11";c4 <= '1';ELSIF(count_4="11")THENcount_4 := "10";c4 <= '0';ELSIF(count_4="10")THENcount_4 := "00";c4 <= '0';END IF;END IF;END PROCESS;PROCESS(c4)BEGINIF(c4'EVENT AND c4='1')THENIF(rd='1')THENd0<=read;d1<=d0;d2<=d1;d3<=d2;d4<=d3;d5<=d4;d6<=d5;d7<=d6;d8<=d7;d9<=d8;END IF;END IF;END PROCESS;PROCESS(c4,reset,rd)BEGINIF(reset='0' OR rd='0')THEN count_10<="0000";c10 <= '0';ELSIF(c4'EVENT AND c4='1')THENIF(count_10="0000" AND rxd='1' AND rdFULL='0')THEN count_10 <= "0001";c10 <= '0';ELSIF(count_10="0001")THENcount_10 <= "0010";c10 <= '0';ELSIF(count_10="0010")THENcount_10 <= "0011";c10 <= '0';ELSIF(count_10="0011")THENcount_10 <= "0100";c10 <= '0';ELSIF(count_10="0100")THENcount_10 <= "0101";c10 <= '0';ELSIF(count_10="0101")THENcount_10 <= "0110";c10 <= '0';ELSIF(count_10="0110")THENcount_10 <= "0111";c10 <= '0';ELSIF(count_10="0111")THENcount_10 <= "1000";c10 <= '0';ELSIF(count_10="1000")THENcount_10 <= "1001";c10 <= '0';ELSIF(count_10="1001")THENcount_10 <= "1010";c10 <= '0';ELSIF(count_10="1010")THENcount_10 <= "1011";c10 <= '1'; END IF;END IF;END PROCESS;PROCESS(c10)BEGINIF(c10'EVENT AND c10='1')THENk7<=d8;k6<=d7;k5<=d6;k4<=d5;k3<=d4;k2<=d3;k1<=d2;k0<=d1;END IF;END PROCESS;PROCESS(rd)BEGINIF(rd='0')THENe7<=k7;e6<=k6;e5<=k5;e4<=k4;e3<=k3;e2<=k2;e1<=k1;e0<=k0;END IF;END PROCESS;PROCESS(rd,c10)BEGINIF(rd='0')THEN rdFULL<='0';ELSIF(c10='1')THENrdFULL<='1';ELSE rdFULL<='0';END IF;END PROCESS;process(wr)beginif(wr='0')thenwri(0)<=in0;wri(1)<=in1;wri(2)<=in2;wri(3)<=in3;wri(4)<=in4;wri(5)<=in5;wri(6)<=in6;wri(7)<=in7;end if;end process;process(c4)beginif(c4'event and c4='1')thenif(wr='0')thencounter_8<="0000";elsif(wr='1' and counter_8="0000")then counter_8<="0001"; elsif(counter_8="0001")then counter_8<="0010";elsif(counter_8="0010")then counter_8<="0011";elsif(counter_8="0011")then counter_8<="0100";elsif(counter_8="0100")then counter_8<="0101"; elsif(counter_8="0101")then counter_8<="0110";elsif(counter_8="0110")then counter_8<="0111";elsif(counter_8="0111")then counter_8<="1000";elsif(counter_8="1000")then counter_8<="1001";end if;end if;end process;process(wr,counter_8)beginif(wr='1' and counter_8="1001")thenmid<='1';tdEMPTY<='1';elsif(wr='0')thenmid<='0';tdEMPTY<='0';end if;end process;process(counter_8)beginif(wr='0' or mid='1')thenwxd<='0';elsif(wr='1' and mid='0')thenif(counter_8="0001")thenwxd<=wri(0);elsif(counter_8="0010")thenwxd<=wri(1);elsif(counter_8="0011")thenwxd<=wri(2);elsif(counter_8="0100")thenwxd<=wri(3);elsif(counter_8="0101")thenwxd<=wri(4);elsif(counter_8="0110")thenwxd<=wri(5);elsif(counter_8="0111")thenwxd<=wri(6);elsif(counter_8="1000" )thenwxd<=wri(7);end if;end if;end process;END WORK;五.仿真图(输入输出波形)以及分析:六.实验问题分析和经验总结:在该实验的设计中, 我们发现时序逻辑中最重要的部分就是时间信号对各进程的控制, 因为为了保持各进程在时间上的同步性和正确性, 需要用一个或几个相关联的时间信号来控制各进程。

应用电子设计课程报告

应用电子设计课程报告

应用电子设计课程报告院系:光电技术学院专业:电子科学与技术班级:光电子07级1班姓名:孙少鹏(2007031013)梅威(2007031029)指导教师:王建波目录一、课题名称.................................................... - 1 -二、内容摘要.................................................... - 1 -三、系统设计.................................................... - 1 -1. 设计要求................................................. - 1 -2. 设计方案................................................ - 1 -(1)整体设计思路与理论分析.............................. - 1 - (2)单元硬件电路设计................................... - 2 - (3)系统工作原理概述.................................... - 7 -四、系统组装调试................................................ - 7 -五、PCB设计与实际PCB图........................................ - 8 -六、方案优缺点及与其他方案比较.................................. - 9 -七、实验心得体会................................................ - 9 -八、实验元器件列表............................................. - 10 -九、参考文献................................................... - 10 -应用电子课程设计报告一、课题名称循环彩灯控制器设计时间:2011.6.10使用芯片:CD4017 NE555二、内容摘要循环彩灯是日常生活和商业活动中常用的装饰手段。

Altium Design实验报告

Altium Design实验报告

课程名称:电子系统设计实验项目:PCB设计基础(二)指导教师:张秀梅专业班级:10电子本姓名:孟宪娇学号: 201000802062 成绩:实验目的:1.掌握创建层次电路原理框图方法。

2. 掌握PCB设计初步。

3. 掌握PCB的覆铜和补泪滴,完成PCB的分层设计。

实验步骤:1.创建层次电路原理框图。

2.绘制电路原理图。

3.设计PCB。

4.给布完线的PCB覆铜和补泪滴,测量板子的长度和宽度。

实验过程:1.创建层次电路原理框图。

1)创建层次原理图文件(同电路原理图文件一样,扩展名.SchDoc)2)执行Place/Sheet Symbol命令或单击布线工具栏上的按钮。

3)放置十字光标上的方块电执行路,按TAB键,出现“方块电路属性设置”对话框,设置属性。

4)执行Place/Add Sheet Entry命令或单击布线工具栏上的按钮,放置端口符号,按TAB键,出现“方块电路端口属性设置”对话框,设置其属性。

5)将放置并修改属性的方块图用导线或总线连接即可。

2.绘制电路图1)创建PCB工程文件,添加原理图文件,保存在同一路径下。

2)绘制键盘电路,并进行电气规则检查,生成网络表格,原理图打印输出。

○1电气规则检查步骤: 单击【项目管理】|【项目管理选项】命令,弹出Options for PCB Project对话框,该对话框主要设置检查的项目和范围,设定电路检查连接的规则,其中包括以下内容:●Error Reporting标签:用于设置错误报告的类型。

用户可以设置所有可能出现的错误报告类型。

报告类型有Error、Warning、Fatal Error和No Report。

●Connection Matrix标签:用于设置电路的电气连接属性。

如果要设置当无源器件的管脚连接时系统产生警告信息,可以在矩阵右侧找到无源器件管脚(Passive Pin)这一行,然后再在矩阵上部找到未连接(Unconnected)这一列,改变由这个行和列决定的矩阵中的方框的颜色,即可改变电气连接检查后错误报告的类型。

电子系统设计实习报告

电子系统设计实习报告

一、实习背景随着科技的不断发展,电子系统设计在各个领域中的应用越来越广泛。

为了提高自己的实践能力和综合素质,我选择了电子系统设计实习。

本次实习旨在通过实际操作,掌握电子系统设计的基本方法,提高自己的动手能力和设计水平。

二、实习目的1. 掌握电子系统设计的基本原理和流程。

2. 学会使用常用电子设计工具,如EDA软件、PCB设计软件等。

3. 提高动手能力,学会焊接、调试等基本技能。

4. 培养团队合作精神,提高沟通协调能力。

三、实习内容1. 电子系统设计基础知识实习期间,我学习了电子系统设计的基本原理,包括模拟电路、数字电路、微控制器等。

通过学习,我对电子系统设计有了初步的认识,了解了各个模块的功能和作用。

2. EDA软件使用为了提高设计效率,我学习了Altium Designer软件,通过实际操作,掌握了电路原理图绘制、PCB设计、仿真等基本技能。

在绘制电路原理图时,我学会了如何使用元件库、布线规则等,使电路图更加规范。

3. PCB设计在PCB设计方面,我学习了Altium Designer软件的PCB设计功能,掌握了元件布局、布线、测试点设置等技巧。

通过实际操作,我完成了一个简单的PCB设计,并进行了焊接和调试。

4. 焊接与调试在焊接方面,我学习了手工焊接的基本技能,包括烙铁的使用、焊接方法、焊接注意事项等。

在调试方面,我学会了使用示波器、万用表等工具,对电路进行测试和故障排查。

5. 项目实践在实习期间,我参与了一个电子系统设计项目,负责电路设计、PCB设计和调试。

通过团队合作,我们成功完成了项目,并进行了演示。

四、实习心得体会1. 实践是检验真理的唯一标准。

通过实习,我深刻体会到理论知识的重要性,同时也认识到实际操作技能的必要性。

2. 团队合作是完成项目的关键。

在实习过程中,我学会了与团队成员沟通、协作,共同解决问题,提高了自己的沟通协调能力。

3. 持续学习是提高自己的重要途径。

电子系统设计领域不断更新,我们需要不断学习新技术、新方法,以适应行业发展的需求。

电子系统综合设计实验报告

电子系统综合设计实验报告

电子系统综合设计实验报告所选课题:±15V直流双路可调电源学院:信息科学与工程学院专业班级:学号:学生姓名:指导教师:2016年06月摘要本次设计本来是要做±15V直流双路可调电源的,但由于买不到规格为±18V 的变压器,只有±15V大小的变压器,所以最后输出结果会较原本预期要小。

本设计主要采用三端稳压电路设计直流稳压电源来达到双路可调的要求。

最后实物模型的输出电压在±13左右波动。

1、任务需求⑴有+15V和-15V两路输出,误差不超过上下1.5V。

(但在本次设计中,没有所需变压器,所以只能到±12.5V)⑵在保证正常稳压的前提下,尽量减小功效。

⑶做出实物并且可调满足需求2、提出方案直流可变稳压电源一般由整流变压器,整流电路,滤波器和稳压环节组成如下图a所示。

⑴单相桥式整流作用之后的输出波形图如下:⑵电容滤波作用之后的输出波形图如下:⑶可调式三端集成稳压器是指输出电压可以连续调节的稳压器,有输出正电压的LM317三端稳压器;有输出负电压的LM337三端稳压器。

在可调式三端集成稳压器中,稳压器的三个端是指输入端、输出端和调节端。

LM317的引脚图如下图所示:(LM337的2和3引脚作用与317相反)3、详细电路图:因为大容量电解电容C1,C2有一定的绕制电感分布电感,易引起自激振荡,形成高频干扰,所以稳压器的输入、输出端常 并入瓷介质小容量电容C5,C6,C7,C8用来抵消电感效应,抑制高频干扰。

参数计算: 滤波电容计算:变压器的次级线圈电压为15V ,当输出电流为0.5A 时,我们可以求得电路的负载为I =U /R=34Ω时,我们可以根据滤波电容的计算公式: C=т/R,来求滤波电容的取值范围,其中在电路频率为50HZ 的情况下,T 为20ms 则电容的取值范围大于600uF ,保险起见我们可以取标准值为2200uF 额定电压为50V的点解电容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子系统设计报告设计题目:基于单片机的简易电压表设计指导老师://///////专业班级://///////报告人姓名://///////// (签名) 学号://////////信息工程学院通信工程教研室摘要数字电压表简称DVM,它是采用了数字化测量技术,把连续模拟量(直流输入电压)转换成不连续,离散的数字形式加以现实的仪表。

传统的指针是电压表功能单一,精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高,抗干扰能力强,可扩展性强,集成方便,不可与PC进行实时通信。

目前由各种单片机A/D转换器构成的数字电压表,已被广泛的应用为电子及其电工的测量,工业自动化仪表,自动测试系统等智能化测量领域,显示出强大的生命力。

数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式,并加以显示,这有别于传统的指针加刻度盘进行读数的方法,避免了读数的视差和视觉的疲劳,目前数字电压表的核心部件是A/D转换器,转换器的精度很大程度上影响着数字电压表的准确度。

本设计主要分为两部分:软件仿真原理图及软件程序。

而软件仿真又大体可分为单片机小系统电路、A/D转换电路、LCD显示电路,各部分电路的设计及原理将会在软件仿真设计部分详细介绍;程序的设计使用C语言编程,利用keil软件对其编译,详细的设计算法将会在程序设计部分详细介绍。

关键字:数字电压表转换A/D转换器目录第一章绪论 (3)第二章设计准备知识 (3)2.1设计目的 (3)2.2设计要求或内容 (3)2.3设计软件及材料 (3)2.3.1单片机软件开发工具keil介绍 (3)2.3.2仿真软件protues介绍 (4)2.3.3ADC0804 介绍 (4)2.3.4液晶显示器 (4)第三章整体设计过程 (4)3.1设计思路 (4)3.2模块分析 (5)3.2.1AT89C51单片机 (5)3.2.2A/D转换 (6)3.2.3显示电路 (6)3.3程序设计 (7)3.3.1程序设计总方案 (7)3.3.2系统子程序设计 (7)3.4软件调试 (8)第四章显示结果及误差分析 (8)4.1 显示结果 (8)4.2误差分析 (10)第五章出现的问题及解决 (10)5.1问题 (10)5.2改进 (11)第六章设计总结 (11)第七章附件:(程序) (12)7.1主程序 (12)7.2SMC1602 (13)7.3AD转换程序 (16)第一章绪论在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础[2]。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。

数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。

第二章设计准备知识2.1设计目的基于51单片机,编写实验程序,使用LCD液晶显示所要测试模拟电压的数字电压值,使用软件仿真实现实验结果。

掌握模数转换器件ADC0804的应用原理,学习液晶显示原理。

2.2设计要求或内容a)模数转换器件选用ADC0804b)可以测量0—5V的电压值,精度为0.02Vc)须有显示d)此题可用proteus仿真实现2.3设计软件及材料2.3.1单片机软件开发工具keil介绍Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点是,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

2.3.2仿真软件protues介绍Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、A VR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译。

2.3.3ADC0804 介绍ADC0804是属于连续渐进式(Successive Approximation Method)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。

以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。

2.3.4液晶显示器或称LCD(Liquid Crystal Display),为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。

液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。

它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。

第三章整体设计过程3.1设计思路数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。

按系统实现要求,决定控制系统采用AT89C51单片机,A/D转换由于仿真软件里的ADC0804元件有问题,这里用ADC0808代替,它和ADC0804区别很小。

采用ADC0808。

数字电压表系统整体框图如下图3.1所示。

图3.1 整体框图系统通过软件设置单片机的内部定时器T0产生中断信号。

通过片选选择8路通道中的一路,将该路电压送入ADC0808的EOC 端口产生高电平,同时将ADC0808的OE 端口置为高电平,单片机将转换后结果存到片内RAM 。

系统调出转换显示程序,将转换为二进制的数据在转换成十进制数并输出到LCD 显示电路,将相应电压显示出来。

原理图如图3.23.2模块分析3.2.1AT89C51单片机接口分配电路设计如右3.3图所示:P0口:P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。

P2口:P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收,输出模拟电 压 AT89C51 单 片机 ADC0808转换 数据显 示4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,在这里用到了P3.3 /INT1(外部中断1)、P3.6 /WR(外部数据存储器写选通)、P3.7 /RD(外部数据存储器读选通)。

3.2.2A/D转换接口分配电路设计如3.4所示:➢IN0~IN7为8路模拟量输入端,这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。

➢OUT1~OUT8为8位二进制数字量输出端,其另一端连接到AT89C51单片机进行数值转换。

➢ADDA、ADDB、ADDC为3位片选地址输入线,用于选通8路模拟输入中的一路。

➢ALE为地址锁存允许信号,由单片机P3.6口写信号与P2.0口相或取反输入,高电平有效。

➢START为A/D转换启动脉冲输入端,由单片机P3.6口写信号与P2.0口相或取反输入一个正脉冲使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。

➢EOC为A/D转换结束信号,当A图3.4 A/D转换电路/D转换结束时,此端输出一个高电平取反给P3.3口(转换期间一直为低电平)。

➢OE为数据输出允许信号,高电平有效。

当A/D转换结束时,此端由单片机P3.7读信号与P2.0口相或后取反输入一个高电平,才能打开输出三态门,输出数字量。

3.2.3显示电路接口分配设计如3.5图所示:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

由单片机P2.1口控制R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

由单片机P2.2口控制E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

由单片机P2.3口控制D0~D7为8位双向数据线。

由单片机P0口输入,经过阻值为1KΏ的上拉电阻连接。

3.3程序设计3.3.1程序设计总方案根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如下图所示。

图3.6 数字式直流电压表主程序框图3.3.2系统子程序设计✓初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。

✓A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元。

✓显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。

相关文档
最新文档