简易数字直流电压表的设计.doc》由会员分享,可免费在线阅读全文,更多与简易数字直流电压表的设计(最终版)》相关文档资源请在帮帮文库(www.woc88.com)搜索数亿文档库存。
1、可在μs或在更短的时间内完成转换。TLC每μs重复完整的输入转换输出(inutconversionoutut)周期。内部系统时钟和IOCLOCK独立使用,不需要任何特定的速度或两者之间的相位关系。这种独立性简化了设备的硬件和软件控制任务。由于种独立性和系统时钟的内部生成,控制硬件和软件只需要使用IO时钟读取以前的转换结果和启动转换。内部系统时钟以这种方式驱动转换电路,以控制硬件和软件。CS高电平时,DATAOUT处于高阻状态IOCLOCK(IO简易数字直流电压表的设计设计为简易数字直流电压表。VV、测量速度大于等于次秒,测量误差在于V在此范围内,有超限报警和数字管显示。)模块计()分析任务要求,从试题要求分析系统整体设计思路,主要包括ADC用定时器定期读取转换电路的控制ADC转换器数据,将ADC转换器的数据
2.查询中断标志以响应中断,因此主程序应循环完成以下任务:查询中断标志AD转换器数据取、电压值的转换和动态扫描显示。主程序开始初始化变量设置定时器T动态扫描显示参数数字管TF==?TF=设置TH、姆电阻起限流作用。AD精密基准电源转换器的参考电压TL提供,标准参考电压Vref 为伏,Vref为伏。由于VV内测误差控制在V内,因此位AD转换器可以满足要求。AD转换器TLC以位开关电容逐渐接近AD基于转换器的转换器结构CMOSAD转换器。它们设计成与微处理器或外围设备串行的接口,通过态数据输出和模拟输入。TLC只需输入输出时钟(IOCLOCK)和芯片选择(CS)数据控制输入。TLC的IOCLOCK最高输入频率可达MHz。TLC它通常在电影中工作MHz不需要外部元件。片内系统时钟使内部设备的操作独立于串行输入输出的时间顺序,并允许TLC
3、和TLC像许多软件和硬件要求的那样IOCLOCK高速数据传输可以与内部系统时钟一起实现TLC转换速度为每秒,次转换。TLC如图所示。如图所示TLC的引脚排列TLC如图所示。TLC工作时间转换周期需要一个系统时钟周期(最大μs),它开始于CS变成低电平后IOCLOCK第一个下降边适用于存储器中存在地址的通道。CS变为低电平后,最高有效位(A)自动放置DATAOUT总线上。剩下的位置(AA)在前个IOCLOCK下降沿时钟同步输出。TLC的工作原理TLC是在单个芯片内的完善的数据采集系统。每一个器件包含内部系统时钟,采样和保持,位AD该设备有两个控制输入:转换器、数据寄存器和控制逻辑电路。IOCLOCK和芯片选择(CS)。这些控制输入和和和TTL容易与微处理器或小型计算机串行通信的兼容态输出。
4.软件调试方案与软硬件联合调试方案:在伟福软件中\在新文件中,新建C语言源程序文件,编写相应的程序。在文件中\在新项目菜单中,新项目并将C项目文件中包含语言源程序文件。\菜单中将编译C编译源文件,检查语法错误和逻辑错误。编译成功后,*hex”和“*bin后缀的目标文件。硬件调试方案:在设计平台上,单片机P接TLC的CLK管脚,P接TLC的DOUT管脚,P接TLC的CS管脚。将程序文件编译成目标文件后,将下载线安装在实验平台上,运行MCU下载程序flash点击编程按钮将程序文件下载到单片机Flash中间。然后,上电重新启动单片机,检查编写的程序是否符合主题要求,试题内容是否全面完整。晶体振动模块程序设计:MHz,定时器T每ms中断一次,每秒读一次ADC一次*AD转换器使用TLCC
5.软件调试方案与软硬件联合调试方案:伟福软件中的文件\在新文件中,新建C语言源程序文件,编写相应的程序。在文件中\在新项目菜单中,新项目并将C项目文件中包含语言源程序文件。\菜单中将编译C源文件编译,检查语法错误及逻辑错误。在编译成功后,产生以“*hex”和“*bin后缀的目标文件。硬件调试方案:在设计平台上,单片机P接TLC的CLK管脚,P接TLC的DOUT管脚,P接TLC的CS管脚。将程序文件编译成目标文件后,将下载线安装在实验平台上,运行MCU下载程序flash点击编程按钮将程序文件下载到单片机Flash中间。然后,上电重新启动单片机,检查编写的程序是否符合主题要求,试题内容是否全面完整。晶体振动模块程序设计:MHz,定时器T每ms中断一次,每秒读一次ADC一次*AD转换器使用TLCC
6、ockDataoutCS*includequotreghquotincludequotintrinshquotincludequotmathhquotsbitad_clk=P^;sbitad_dout=P^;sbitad_cs=P^;unsignedchardatare_data;unsignedintdataT_cnt;doublevolt,xishu;charcodeled_seg_code[]={xf,x,xb,xf,x,xd,xd,x,xf,xf};led_seg_code[]代表段码voiddelay(unsignedinti)延时{while(i);}voidled_show(doublef){unsignedchari,s;unsignedintk,*j;if(flt){k=f;取整数部分i=k;P=led_seg_code[i]|x;P=xfb;de
7、sbitad_clk=P^;sbitad_dout=P^;sbitad_cs=P^;unsignedchardatare_data;unsignedintdataT_cnt;doublevolt,xishu;charcodeled_seg_code[]={xf,x,xb,xf,x,xd,xd,x,xf,xf};led_seg_code[]代表段码voiddelay(unsignedinti)延时{while(i);}voidled_show(doublef){unsignedchari,s;unsignedintk,*j;if(flt){k=f;取整数部分i=k;P=led_seg_code[i]|x;P=xfb;delay();LT_cntlt?YNT_cnt=读取AD转换器数据转换为电压值T_cnt 数字电压表主程序图()设计系统软件调试方案、硬件调试
8、器TLC的数据unsignedcharreceive_data(){unsignedchari,d;d=;ad_cs=;CS高度,片选无效ad_clk=;ad_cs=;_no_();for(ilt;ilt;i ){ad_clk=;d=dltlt;if(ad_dout){d ;}ad_clk=;}ad_cs=;for(i=;ilt;i )适当延迟超过us_no_();returnd;}main(){T_cnt=;TMOD=x;定时器设置TTH=禁止。正常控制时序为:CS被拉到低电平CS前次转换结果的最高有效位变成低电平时(MSB)开始出现在DATAOUT端。前个IOCLOCK输出前次转换结果的第、第、第、第、第最高有效位为周期下降。IOCLOCK从第一个高电平到低电平跳转后,电影中的采样和保持电路开始模拟输入采样。采样操作主要包括内部电容器充电到模拟输入电压
9、l时序将失去同步。另外,如果CS要变成高电平,必须保持高电平直到转换结束。CS有效的高电平到低电平跳转会导致复位,使正在进行的转换失败。在系统时钟周期发生之前,通过完成步骤启动新的转换,并暂停正在进行的转换。该操作产生了以前的转换结果,而不是正在进行的转换结果。()分析软件任务要求,编写程序设计理念,分配单片机内部资源,绘制程序流程图软件的任务包括定时器的定时功能,AD转换器TLC数据的控制和读取,数字管的动态扫描。程序设计理念,通过查询定时器中断标志来启动AD转换器TLC读取工作AD转换器数据后,将数据计算为相应的电压值。需要分配的单片机存储资源包括AD转换器数据的临存变量(re_data)、定时器溢出次数的计数变量(T_cnt)、数据转换系数(xishu)以及电压值(volt)等等。主程序的流程图如图所示。因为使用
10、lay();xc;us=(xc)*TL=;EA=;TR=;re_data=x;volt=;xishu=;while(){if(TF==){TF=;TH=xc;us=(xc)*TL=x;if(T_cntlt)T每毫秒溢出一次ms读取一次AD转换器数据{T_cnt ;}else{T_cnt=;计时到ms了re_data=receive_data();转换为电压值volt=re_data;volt=volt*xishu;}}led_show(volt);}}i=f*;i=i%;P=led_seg_code[i];P=xfd;delay();i=f*;取小数后位i=i%;P=led_seg_code[i];P=xfe;delay();else超限报警显示{P=x;P=xfb;delay();P=xfd;delay();P=xfe;delay();}读取ADC转换
11.计算为相应的电压值,最后显示在数字管上。整体设计理念采用单片机P输出数码管段码,P口输出数码管的位控信号。用P的三个IO管脚连接ADC通过查询定时器,转换器的接口T中断标志是否有效启动ADC读取转换器的工作ADC转换器的转换结果。然后,根据ADC转换器的参考电压将ADC转换器的转换结果计算为相应的电压值,并显示在数字管上。()选择单片机型号和所需的外围设备型号,设计单片机硬件电路原理图MCS系列单片机AtS外围电路器件作为主控制器,包括数字管驱动,AD转换器TLC、基准电压TL等等。由于单片机驱动能力有限,数码管驱动采用四联阴极数码管显示。HC作为数字管的驱动。HC段码输出线与欧姆串联ockDataoutCS*includequotreghquotincludequotintrinshquotincludequotmathhquot
12.电平。然后三个IOCLOCK周期加至IOCLOCK在这些时钟周期的下降边缘,第、第和第转换位被移出。最后(第一)时钟周期被添加到IOCLOCK。此时,钟周期从高电平到低电平的跳跃使电影中的采样和保持电路开始保持功能。保持功能在接下来的四个内部系统时钟周期内继续进行,然后保持功能结束,并在以下系统时钟周期内完成转换,共为一个周期。在第一个IOCLOCK周期之后,CS必须变成高电平,否则,IOCLOCK为了完成维护和转换功能,必须保持低电平至少个系统时钟周期。在多个转换周期内CS保持低电平。在多个转换周期内使用CS保持低电平时一定要特别注意防止IOCLOCK在线噪声闪变。IOCLOCK闪变发生在上面,所以在微处理器控制器和器件之间的IOLT_cntlt?YNT_cnt=读取AD转换器数据转换为电压值T_cnt++图数字电压表的主程序流程图()设计系统软件调试方案、硬件调试