版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE-34-目录150471、系统方案 -3-50501.1、方案比较与选择 -3-102981.1.1、单片机选择与论证 -3-298551.1.2、显示器件选择与论证 -3-312191.1.3、键盘形式选择与论证 -4-209591.1.4排阻形式选择与论证 -4-235752理论分析与计算 -8-HYPERLINK\l_Toc272432.1、D/A转换器的主要技术指标 -8-203951.分辨率 -8-13122.转换精度 -8-192823.输出电压(或电流)的建立时间(转换速度) 2-8-4.温度系数2.2数模转换器2.2.131617权电阻网络DAC的原理分析 -9-26953、电路与程序设计 -11-147723.1.1、总体框图设计 -11-HYPERLINK\l_Toc40793.1.2、显示电路 -11-312403.1.3、权电路 -12-52263.1.4、按键电路 -13-84033.1.5、驱动电路 -14-3.1.6、输出电路204013.1.7、总电路 -16-152933.2、程序流程图 -17-283723.2.2、液晶显示子程序流程图 -18-31473.2.3、输出电路程序流程图 -19-313344、测试方案与测试结果 -20-236874.1、测试方案 -20-289244.2、测试结果与测试分析 -20-641附录 -21-8948附录1:电路原理图 -21-15749附录2:源程序 -21-1、系统方案1.1、方案比较与选择1.1.1、单片机选择与论证方案一:AT89C51单片机。AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k字节的可反复擦写1000次的只读程序存储器(PEROM)和128字节的随机存取数据存储器(RAM),片内置通用8位中央处理器(CPU)和Flash存储单元。方案二:C8051F060单片机。C8051F060芯片是由Cygnal公司生产的,集成有高速、流水线结构的CIP-51内核,具有内置RAM,2个16位1Msps的ADC,芯片自身带有CAN总线控制器、59个I/O口。它是高度集成的芯片,减少了外围器件,进而降低了系统硬件设计的复杂性。基于对功能齐全性的考虑,和本次设计的要求我们运用方案一。1.1.2、显示器件选择与论证方案一:数码管。数码管显示能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高。体积小,重量轻,抗冲击性能好。寿命长,使用寿命在10万小时以上,甚至可达100万小时。但显示功能有限,只能显示数字和个别字母。方案二:液晶显示器。液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,显示质量高。其接口都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。方案三:阴极射线管显示器。此种显示器图像色彩丰富,还原性好,有丰富的几何失真调整能力。但不能长期暴露在磁场下,会磁化或损坏,不能让强光直射,会降低发光效率,不能在高温下使用,工作性能和使用寿命会大打折扣。基于对显示器功能的稳定性和齐全性考虑,我们采用方案二。1.1.3、键盘形式选择与论证方案一:独立式按键。独立按键的输入线较多,结构复杂,一般适用于按键较少,操作速度较高的场合。方案二:行列式键盘。行列式键盘由行和列线交叉组成,一般适用于按键较多的场合。使用2×2矩形键盘,这样键盘模块仅使用8根线与处理器相连,节省了系统资源。由于我们功能比较少,矩形键盘占用电路板位置较大,因此选择方案一。1.1.4排阻形式选择与论证方案一:多个单个电阻。个数多,接线困难,误差大。且浪费资金。方案二:排阻。数量少,接线容易,价格便宜。由于本次试验本身对接线要求就高,所以采用方案二。1.1.5、材料选择与论证方案一:塑料板。塑料板质量轻,不易碎,但是也不好加工,且不环保。方案二:木板。木板质量比塑料板重,但比玻璃板轻,易于加工,可塑性强。由于本次试验对材料的可塑性要求较高,因此采用方案二。1.2所选器件的分析1.2.1STEC89C51引脚图如下:1.2.2LED显示屏1.2.3LM3242理论分析与计算2.1、D/A转换器的主要技术指标1.分辨率分辨率用于表征D/A转换器对输入微小量变化的敏感程度。①D/A转换器模拟输出电压可能被分离的等级数--可用输入数字量的位数n表示D/A转换器的分辨率;②可用D/A转换器的最小输出电压与最大输出电压之比来表示分辨率。2.转换精度D/A转换器的转换精度是指输出模拟电压的实际值与理想值之差,即最大静态转换误差。输出电压(或电流)的建立时间(转换速度)从输入的数字量发生突变开始,到输出电压进入与稳定值相差±0.5LSB范围内所需要的时间,称为建立时间tset。目前单片集成D/A转换器(不包括运算放大器)的建立时间最短达到0.1微秒以内。温度系数在输入不变的情况下,输出模拟电压随温度变化产生的变化量。一般用满刻度输出条件下温度每升高1℃,输出电压变化的百分数作为温度系数。2.2数模转换器2.2.1权电阻网络DAC的原理分析集成运算放大器,作为求和权电阻网络的缓冲,并将电流转换为电压输出。开关Si的位置受数据锁存器输出的数码di控制:当di=1时,Si将对应的权电阻接到参考电压UREF上;当di=0时,Si将对应的权电阻接地。虚短运算放大器总的输入电流为虚断运算放大器输出电压为令RF=R/2,则即:输出的模拟电压uO正比于输入的数字量Dn,从而实现了从数字量到模拟量的转换。当Dn=Dn-1…D0=0时,uO=0;因而uO的变化范围是当Dn=Dn-1…D0=11…1时,因而uO的变化范围是权电阻网络D/A转换器的特点①优点:结构简单,电阻元件数较少;②缺点:阻值相差较大,制造工艺复杂。电路与程序设计3.1.1、总体框图设计系统总体框图如图所示CPU模块CPU模块控制模块显示模块输出模块驱动模块输出模块驱动模块3.1.2、显示电路LED显示屏与传统的CRT相比,LED不但体积小,厚度薄,耗能少(1到10微瓦、平方厘米),工作电压低(1.5到6v)能与集成电路直接连用。并且在与集成电路焊接是比数码管接线简单。容易操作。3.1.3、权电路1、权电阻网络D/A转换器电路权电阻网络D/A转换器电路如下图所示,它由理想运算放大器、电阻网络、电子模拟开关等组成。当di=1时(i=0,1,2,3),电子模拟开关接VREF,当di=0时,电子模拟开关接地。3.1.4、按键电路此电路实现四种不同功能的转换。按键一实现平板旋转360°功能,按键二实现一枚硬币平衡摆动的功能,按键三实现八枚硬币平衡摆动的功能,按键四实现始终指向一点的功能。电路图如图。图按键电路3.1.5、驱动电路本次的电路主要是有程序通过AT89C51驱动的。显示电路是由P0口和P2.0;P2.1;P2.2口驱动的。权电路是由P1口来驱动的。输出电路是由单片机通过权电路驱动。3.1.6、输出电路电路经过输入的数字电路通过单片机的程序,输出通过权电路,然后2R½等比分流,再通过LM324输入给电压表。3.1.7、总电路开始3.2、程序流程图开始结束电压放大输出启动D/A转换单片机检测按键按键按下系统初始显示电压值结束电压放大输出启动D/A转换单片机检测按键按键按下系统初始显示电压值图程序流程图3.2.2、液晶显示子程序流程图开始开始初始化LCD显示内容写入缓存LCD控制器启动延时置DISP为高电平液晶屏正常显示置DISP为低电平延时LCD控制器关闭液晶屏无显示图液晶显示流程图图所示的程序用来显示为调节电压。3.2.3、输出电路程序流程图判断?判断?频率增加退出波形输出等待按键命令判外部中断2DAC输出单片机输出的数据判外部中断频率增加退出波形输出等待按键命令判外部中断2DAC输出单片机输出的数据判外部中断 N Y 图LM324工作流程图测试方案与测试结果4.1、测试方案基本要求:此次试验是通过软件程序和硬件搭建电路实现。通过按键电路对显示电路数字显示分别输入0V,1V,2V,3V,4V.此时,通过转换电路后读出电压表的显示示数。观察计算误差。4.2、测试结果与测试分析测量结果:在允许的误差范围内,观察电压表的示数。如果误差超过了允许的范围,我们先对硬件电路进行排查分析,进行对电路的数据分析,最后到软件程序的分析。附录附录1:电路原理图附录2:源程序#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint sbitlcdrs=P2^0;sbitlcdwr=P2^1;sbitlcden=P2^2;sbitS1=P2^4;sbitS2=P2^5;sbitS3=P2^6;sbitS4=P2^7;ucharcodePresetDat[]={"SHURU:0.00V"};ucharcodeCurrentDat[]={"MadeByJbms:0.00V"};ucharcount,S1num,V_point,V_ge,V_shi,I_point,I_ge,I_shi;ucharS1_OK=0,Confirm=0,DA,VCC,Power;//ucharlcd_read_dat();//////////////////延时1ms子程序开始//////////////voiddelay(uintz){uintx,y;for(x=0;x<121;x++)for(y=0;y<z;y++);}//////////////////延时1ms子程序结束////////////////******写指令子函数******************/voidlcd_write_com(ucharcom){lcdrs=0;//lcdrs=0即设置写指令状态lcdwr=0;//写状态lcden=0;//从这句开始将en置1然后又置零,是将其显示为高脉冲P0=com;//将要写的指令传给P0口delay(5);lcden=1;delay(5);lcden=0;//en的高脉冲设置完毕}/******写数据子函数******************/voidlcd_write_dat(ucharx_pos,uchary_pos,uchardat){x_pos&=0x0f;//X位置范围0~15//y_pos&=0x01;//Y位置范围0~1//if(y_pos==1)x_pos+=0x40;x_pos+=0x80;lcd_write_com(x_pos);lcdrs=1;//lcdrs=1即设置写数据状态lcdwr=0;//写状态lcden=0;//从这句开始将en置1然后又置零,是将其显示为高脉冲P0=dat;//将要写的数据传给P0口delay(5);lcden=1;delay(5);lcden=0;//en的高脉冲设置完毕}/*******************初始化子函数**************/voidlcd_init(){ucharnum;lcd_write_com(0x38);//显示16×2,5×7点阵,8位数据接口。lcd_write_com(0x0c);//显示开/关及光标设置lcd_write_com(0x06);//设置读写一个字符后指针自动加1或减1及整屏左移动lcd_write_com(0x01);lcd_write_com(0x80);//设置数据指针位置,即从什么位置开始显示,for(num=0;num<14;num++){lcd_write_dat(num,0,PresetDat[num]);delay(5);}lcd_write_com(0x80+0x40);//设置数据指针位置for(num=0;num<14;num++){lcd_write_dat(num,1,CurrentDat[num]);delay(5);}}ucharkeyscan()//等待调时间的子函数,S1S2S3为功能键按,S1闪烁调整位置的功能键,S2增加1,S3减少1{if(S1==0){delay(5);//键盘按键消抖if(S1==0){S1num++;//S1增加功能键按下的次数while(!S1);//按键松手检测if(S1num==1){lcd_write_com(0x80+11);lcd_write_com(0x0f);//光标闪烁,表示可以调整时间}if(S1num==2)//如果S1即第二次按下,光标向前移动{lcd_write_com(0x80+10);}if(S1num==3)//如果S1即第三次按下,光标向前移动{lcd_write_com(0x80+8);}if(S1num==4)//如果S1即第四次按下,光标向前移动{lcd_write_com(0x80+0x40+11);}if(S1num==5)//如果S1即第五次按下,光标向前移动{lcd_write_com(0x80+0x40+10);}if(S1num==6)//如果S1即第六次按下,光标向前移动{lcd_write_com(0x80+0x40+8);}if(S1num==7)//如果S1即第七次按下,则定时器开始计时,S1num清零,光标不闪烁{S1num=0;S1_OK=1;lcd_write_com(0x0c);}}}if(S1num!=0){if(S2==0){delay(5);if(S2==0)//在S2按下时,实现加1调整{while(!S2);//电压增加调整if(S1num==1){V_point++;if(V_point==10)V_point=0;lcd_write_dat(11,0,0x30+V_point);lcd_write_com(0x80+11);}if(S1num==2){V_ge++;if(V_ge==10)V_ge=0;lcd_write_dat(10,0,0x30+V_ge);lcd_write_com(0x80+10);}if(S1num==3){V_shi++;if(V_shi==6)V_shi=0;lcd_write_dat(8,0,0x30+V_shi);lcd_write_com(0x80+8);}//电流增加调整if(S1num==4){I_point++;if(I_point==10)I_point=0;lcd_write_dat(11,1,0x30+I_point);lcd_write_com(0x80+0x40+11);}if(S1num==5){I_ge++;if(I_ge==10)I_ge=0;lcd_write_dat(10,1,0x30+I_ge);lcd_write_com(0x80+0x40+10);}if(S1num==6){I_shi++;if(I_shi==6)I_shi=0;lcd_write_dat(8,1,0x30+I_shi);lcd_write_com(0x80+0x40+8);}}}if(S3==0)//在S3按下时,实现减1调整{delay(5);//电压减少调整if(S3==0){while(!S3);if(S1num==1){V_point--;if(V_point==-1)V_point=9;lcd_write_dat(11,0,0x30+V_point);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【优化方案】2022届高三物理大一轮复习-第5章-第2节-动能-动能定理-教学讲义-
- 【导与练】2021高考地理总复习课时作业:第2章-第3课时-常见天气系统
- 互联网时代下的课程设计与教学实践
- 2021高考英语语法填空、阅读类训练(11)及答案(含短文改错)
- 【创新设计】2021高考物理二轮复习(江苏专用)题型通关-专练4
- 【优化方案】2021高考英语(外研版)总复习阶段综合检测(六)
- 【中学教材全解】2013-2020学年高中数学同步测试(人教A版-必修3)第一章-第一章-算法初步
- 四年级数学(四则混合运算带括号)计算题专项练习与答案
- 【ks5u发布】山东省菏泽市2020-2021学年高二上学期期中考试生物试题扫描版含答案
- 【全程复习方略】2020-2021学年北师大版高中数学必修一课时作业(二十一)-3.4.2
- 无缝钢管服务方案
- 排涝泵站养护方案范本
- XX医院临床医疗质量考核通用记录表
- 城市交通枢纽运营故障应急预案
- 料场加工施工方案
- 【浅析人工智能在石油行业中的应用3400字(论文)】
- 2023-2024学年上海市交大附中嘉定高二物理第一学期期末学业质量监测模拟试题含解析
- 湖北省十堰市竹山县2023-2024学年三上数学期末经典模拟试题含答案
- 产品试制前准备状态检查报告
- 某尾矿库闭库综合治理可研报告
- 人教版五年级语文上册期末试卷(含答案)
评论
0/150
提交评论