




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告 引言 随着电子技术的不断发展,我们能应用到的电子产品也越来越多。而生活中我们用 的很多电子产品都越来越轻巧,价格也越来越便宜利用电子芯片实现的东西也越来越 来越多,比如数字温度计。当然,非电子产品的常用温度计也很便宜。此次课设论文所 介绍的是自己动手制作的一个高精度数字温度计。本次课设不但丰富了课余生活,还从 实践中学到并了很多新知识,并从中巩固了以前的知识。 用 Protel 99 软件来设计制作电路板 PCB(Printed circuit Bound) 。在 PCB上, 布置一系列的芯片、电阻、电容等元件,通过 PCB上的导线相连,构成电路,一起实现 一定的功能。电路通过连
2、接器或者插槽进行输入 / 输出,有时还有显示部分(如发光二 极管 LED、 .数码显示器等)。可以说, PCB是一块连接板,它的主要目的是为元件提供 连接,为整个电路提供输入输出端口和显示,电气连接通性是PCB最重要的特性之一。 PCB在各种电子设备中有如下功能: ( 1)提供集成电路等各种电子元件固定、装配的机 械支撑。(2)实现集成电路等各种电子元件之间的布线和电气连接或电绝缘,提供所要 的电气特性。(3)为电动装配提供阻焊徒刑,为元器件插装、检查、维修提供识别符和 图形。 做本课题的所用到的知识是我们学过的模拟电子电路以及数字逻辑电路等,当然 还用到了刚刚学过不久的单片机知识。本次课设是
3、把理论和实践结合起来,这不但可以 锻炼自己的动手能力,而且还可以加深对数字逻辑电路和模拟电子电路的学习和理解。 同时也激起了我学好单片机的斗志。为了全面清晰的表达,本论文用图文并茂的方式, 尽可能详细的地介绍此次设计的全过程。 1 设计务任和要求 1.1 、基本范围 -20 100 1.2 、精度误差小于 0.5 1.3 、LED 数码直读显示 1.4 、可以任意设定温度的上下限报警功能 2. 系统总体方案及硬件设计 2.1 数字温度计设计方案论证 2.1.1 方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被 测温度变化的电压或电流采集过来, 进行 A/D 转换
4、后,就可以用单片机进行数据的处理, 在显示电路上, 就可以将被测温度显示出来, 这种设计需要用到 A/D 转换电路, 其中还 涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大 时容易受温度的影响从而出现较大的偏差。 2.1.2 方案二 考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常 容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取 被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口 便于系统的再扩展,满足设计要求。 从以上两种方案, 很容易看出, 采用方案二,电路比较简单, 费用
5、较低,可靠性高, 软件设计也比较简单,故采用了方案二。 2.2 系统总体设计 温度计电路设计总体设计方框图如图 2.1 所示,控制器采用单片机 STC89C5,2 温度 传感器采用 DS18B20,用 4位 LED 数码管以串口传送数据实现温度显示。 图 2.1 有了总体设计方案后,下面就是原理图的制作了。原理图如下图 2.2 及图 2.3 示 为了降低绘制 PCB是的麻烦度,特意将数码管电路与主控制电路分开画,最后两者是用 导线连接。数码管位选接 P20P23,段选接 P0口。 图 2.2 数码管电路 图 2.3 单片机控制电路 2.3 模块简介 系统由单片机最小系统、显示电路、按键、温度传
6、感器等组成。 2.3.1 主控制器 单片机 STC89C52具 有低电压供电和体积小等特点,四个端口只需要两个口就能满 足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。晶 振采用 12MHZ。复位电路采用上电加按钮复位 图 2.4 晶振电路 图 2.5 复位电路 2.3.2 显示电路 显示电路采用 4 位共阴极 LED 数码管, P0 口由上拉电阻提高驱动能力,作为段码 输出并作为数码管的驱动。 P2 口的低四位作为数码管的位选端。采用动态扫描的方式 显示。 2.3.3 温度传感器 DS18B20 温度传感器是美国 DALLAS半 导体公司最新推出的一种改进型智能温度
7、传 感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要 求通过简单的编程实现位的数字值读数方式。 DS18B20 的性能特点如下: 1、独特的单线接口仅需要一个端口引脚进行通信; 2、多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能 3、无须外部器件; 4、可通过数据线供电,电压范围为 3.05.5 ; 5、零待机功耗; 6、温度以或位数字; 7、用户可定义报警设置; 8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 可以采用两种方式供电,一种是采
8、用电源供电方式,此时DS18B20 的 1 脚接 地, 2 脚作为信号线, 3 脚接电源。 为保证在有效的 DS18B20 时钟周期内提供足够的电流, 可用一个 MOSFET管 来完成 对总线的上拉。当 DS18B20 处于写存储器操作和温度 A/D 转换操作时,总线上必须有 强的上拉,上拉开启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。由于单 线制只有一根线,因此发送接口必须是三态的。 图 2.6 温度传感器与单片机的连接 2.3.4 报警温度调整按键 本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另 外两个分别用于设置报警温度的加和减。均采用软
9、件消抖。 3. 系统软件算法分析 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程 序,显示数据刷新子程序,按键扫描处理子程序等。 3.1 主程序流程图 主程序的主要功能是负责温度的实时显示、 读出并处理 DS18B20 的测量的当前温度 值,温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见 图 3.1 所示。 图 3.1 主程序流程图 3.2 读出温度子程序 读出温度子程序的主要功能是读出 RAM中 的 9 字节,在读出时需进行 CRC 校验, 校验有错时不进行温度数据的改写。其程序流程图如图 3.2 示 3.3 温度转换命令子程序 温度转
10、换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间 约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令 子程序流程图如图 3.3 所示 3.4 定, 3.5 图 3.2 读文读流程图 计算温度子程序 计算温度子程序将 RAM中 读取值进行 BCD 码的转换运算,并进行温度值正负的判 其程序流程图如图 3.4 所示。 显示数据刷新子程序 显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作, 当标志位位为 图 3.3 温度转换流程图 图 3.5 显示数据刷新流程图 1 时将符号显示位移入第一位。程序流程图如图 3.5 。 图 3.4
11、计算温度流程图 3.6 按键扫描处理子程序 按键采用扫描查询方式,设置标志位,当标志位为 1 时,显示设置温度,否则显示 当前温度。如下图 3.6 示 图 3.6 按键扫描处理流程图 4. 电路仿真 通过仿真软件验证该原理图的可行性。采用 protues 软件对电路仿真,可以得到预 期效果。因 protues 软件中没有 STC89C52故用 AT89C52代替。仿真图如图 4.1 示。 图 4.1 电路仿真图 右图 4.2 为温度传感器的仿真效果图, 此图验证了传感器的温度与数码管显 示的数字一致。 当按下 SET 键一次时,进入温度报警上线调节, 此时显示软件设置的温度报警上线, 按 AD
12、D或 DEC 分别对报警温度进行加一或减一。当再次按下 SET 键时,进入温度报警 下线调节,此时显示软件设置的温度报警下线, 按 ADD或 DEC 分别对报警温度进行加一 或减一。当第三次按下 SET 键时,退出温度报警线设置。显示当前温度。验证了电路图 正确性后,下面就进入 PCB的绘制了 5. 电路板制作过程 随着计算机技术的发展,电路设计中的很多工作都可以交由计算机来完成。 Protel 99SE系统是一套建立在 PC环境下的 EDA电路集成设计系统,由于其高度的集成性与扩 展性,很快就成为 PC平台上最流行的电子设计自动化软件。在完成本课程设计过程中, 充分运用了 Protel99S
13、E 的电路及 PCB设计功能加快了设计进程,下面将就电路板的制 作过程做详细阐述。 Protel 进行电路设计有两个步骤如下图所示 : 图9 电路板设计的步骤 图 5.1 PROTEL 设计步骤 5.1 原理图编辑 原理图的设计是整个电路设计的基础,它决定了后面工作的进展。原理图的设计过 程可以按下图所示的设计流程进行。 图 5.2 设计流程图 (1)图纸设置是绘制电路图的第一步,必须根据实际电路的大小来选择合 的图纸设置图纸的大小包括设置图纸尺寸、网络和光标的设置等等。 (2)加载元器件库,在 Protel 99 SE 中,原理图中的元器件符号均存放在不同的 原理图元件库中,在绘制电路原理图
14、之前,必须将所需的原理图元件库装入原理图编辑 器。 (3)放置元器件,即将所需的元件符号从元件库中调入原理图中。 (4)调整元器件布局,将各个元件用具有电气性能的导线连接起来并进一步调整 元器件的位置、元器件标注的位置及连线等。 (5)最后打印存盘。 5.2 PCB 制作 在绘制好原理图的情况下要想得到一块电路板还需要绘制一张PCB版图, PCB做的 好坏将直接影响电路板的美观和性能,所以要尽量把 PCB做的合理。我们可以按以下流 程来完成 PCB的绘制。 开始 规划电路板 设置参数 装 入 元 件 网 表 及 封 装 保存及打印 手动调整 布线 元件布局 结束 图 5.3 PCB 设计流程图
15、 整个过程中元器件的布局是关键,布局直接影响到最后做板的元件格局,所以在整 个过程中要不断的调整直至最终合理。图 5.4 是本课程设计的最终 PCB印刷电路 ,USB 母座放在边上便于插拔电源线。 。 图 5.4 电路 PCB图 10 6. 电路调试过程 电路板的设计在经过了原理图的引用分析,元件的选取和电路原理的仿真验证后, 通过 PROTEL99便可以制作成对应的原理图,然后完成 PCB的版图设计,最后便制作成 完整的电路板。电路板的制作完成只是占课题的一小部分,接下来将进入比较棘手也是 较为需要耐心和细心的电路调试环节。 说实在的,对于电路调试实在有点怕,上一次课设调板的阴影还没散去呢。
16、调试, 要的就是耐性,毅力外加细心。看似完美无缺的电路板,检查了之后却是漏洞百出,断 线的,虚焊的。不过这些都不是大问题,有了多次电路设计经验后这些故障很快就解决 了。接下来最棘手的应该是软件编程了。编程向来都是我的软肋,不过还好,在广大网 友的支持下,最后还是搞定了。 7. 总结与体会 本次课程设计即将进入尾声, 回想这两周来的电子设计制作经历, 我感触甚是深刻。 通过本次课程设计,使我对电子设计及制作产生了较为浓厚的兴趣,这不仅加强了自己 对理论知识的理解和巩固,还能提高自己的动手能力,可以说受益匪浅。当然更重要的 是,激起了我学好单片机的斗志。 本次课程设计主要分为四部分:设计、仿真、制
17、作及调试。这四个步骤在整个课程 设计过程中起着重要的作用。 本次课程设计的任务是:根据老师给出的设计题目的要求选择合适的电路,确定元 件参数,对原理图进行电路仿真,制作 PCB 图等。在整个设计制作过程中用到了两个 软件, PROTUES仿真软件和 Protel99SE 做板软件。可以说,在此之前自己未曾使用过 protues 软件。而且 Protel99SE用起来也是相当的陌生,毕竟已隔将近半年多没用此软 件做板了。本次课设让我学到了如何去运用 protues 软件对电路进行仿真,仿真出来的 效果与理论上的效果以及与实物做出来的效果有何不同或相似。 而在使用 Protel99SE软 件设计时
18、,我也有了不少的学习应用心得。 首先,在制作原理图的时候一定要非常细心, 一个小错误都可能影响往后的制板工作。其次,在做 PCB 时,本人不提倡应用自动布 线工具。虽然手动布线很烦人, 但这可以提高你的动手能力, 同时也可以提升你的耐力。 总之,在学习和运用设计电路软件时遇到了不少问题,在向老师和同学请教后得到了解 决,也在这个过程中学到了不少解决问题的方法。 做板可是说是在考验一个人的耐力以及动手能力。 电路设计完之后就是开始真正的 做板了。做板大致来说有六个步骤: 买元件 印铜 腐蚀 打孔 安装 元器件 焊接。买元件时要注意元件的管脚要与封装一致,比如电位器有很多种, 在选择时要注意管脚与
19、自己铜板铜孔对应。印铜时要注意熨斗的温度,温度不够时印铜 很容易失败。而腐蚀过程中腐蚀药品的量以及水的温度则直接影响到腐蚀时间的长短, 这就要自己合理把握了。打孔时最好使用口径稍微大一点的针头,在打芯片的孔时要注 意将孔打在一条直线上, 以免在插芯片时有困难。 在安装元器件时一定要做到对号入座, 11 且有些器件要注意正负极,如若不然电路不通是小事,元件爆炸就危险了。焊接时一定 要做到细心 +耐心,不要急于求成。当然对于一个初学者而言,刚开始焊出来的板子确 实谈不上美观,不过当熟练之后,焊出美观的板来就不成什么问题了。 最能体现一个人的耐心程度,也最能学到东西的阶段还是在调试过程 。在整个过程
20、 中既要求熟练掌握设计的原理, 懂得运用所学电学的基本理论, 还要求善于查错, 改错。 如果在调试过程中无法达到预期结果,就要从整个设计制作过程中认真分析,细心查找 错误,一步一步仔细排查。在找到错误之后,切不可马上放弃这块板子重新做,如果不 懂如何做,可以请教在这方面能力较强的同学,尽量做到以较少的改动来改正错误。这 样可以节约时间以及做板的成本。当调板不成功,尤其是花了很久时间都未能成功的时 候,大多数人都会显得相当急燥,而我就是其中一个。后来我去请教同学和老师,在他 们的开导和讲解之下,我静下心来重新开始分析,当检查到电路板时才发现,原来有一 根铜线与周边所附的铜被一点点没腐蚀掉的铜点连
21、在了一起,虽然这只是一小点的铜 点,却能造成了比较大的错误,导致有整个电路处于短路状态。幸亏没把主控芯片给烧 咯。在修改之后,终于,一直期盼出现的结果出来了。 本次课程设计的大概题目是老师给出,当然我们也可以自由选择。我在学校图书馆 以及网上查阅了相关资料之后, 确定了一个与目前我所学的知识比较接近且相对而言比 较熟悉的题目。可以说从确定题目,寻找原理图,制作 sch、pcb,到焊接调试,每一个 步骤都付出了努力,倾注了我两周的心血,也从中积累了宝贵的经验,最后终于大抵上 完成了设计任务。从总体上看,这次电路设计制作还是比较成功的,板子的调试结果与 仿真得出的效果图还是比较接近的。 拿着自己调
22、试好的板子, 心里总有些许的“成就感”, 这也只有真正是自己动过手的人才能体会到其中的喜悦。 本次课程设计给我的第一大感 觉就是:要成功,就要有付出。 从这一次制作过程的心得体会当中,我意识到在以后的设计中我还需要做到再细 心、再耐心、再专心。回想从制作开始到结束,没有哪一步不是注入了自己的心血,心 情就激动不已,此次课程设计必将让自己的理论水平和实践能力上升到一个新的台阶, 同时也让自己认识到实践的重要性。 12 参考资料 1 阎石. 数字电子技术基础 .高等教育出版社, 2006 2 王卫东 . 模拟电子电路基础 M. 西安:西安电子科技大学出版社, 2003 3 曹丙霞,赵艳华 .PRO
23、TEL 99SE原理图与 PCB设计. 电子工业出版社, 2007 4 李群芳,张士军,黄建 . 单片机微型计算机与接口技术 .电子工业出版社, 2008 5 赵世强 . 电子电路 EDA技术M. 西安:西安电子科技大学出版社, 2000 6 郭天祥.新概念 51单片机 C语言教程 .电子工业出版社, 2009 13 程序源代码 #include reg52.h #include intrins.h /_nop_(); 延时函数用 #define dm P0 / 段码输出口 #define uchar unsigned char #define uint unsigned int sbit D
24、Q=P27; / 温度输入口 sbit w0=P20; / 数码管 4 sbit w1=P21; / 数码管 3 sbit w2=P22; / 数码管 2 sbit w3=P23; / 数码管 1 sbit beep=P17; / 蜂鸣器和指示灯 sbit set=P26; / 温度设置切换键 sbit add=P24; / 温度加 sbit dec=P25; / 温度减 int temp1=0; / 显示当前温度和设置温度的标志位为 0 时显示当前温度 uint h; uint temp; uchar r; uchar high=35,low=20; uchar sign; uchar q=
25、0; uchar tt=0; uchar scale; 温度小数部分用查表法 */ code uchar ditab16=0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,0 x05,0 x06,0 x06,0 x07,0 x08 ,0 x08,0 x09,0 x09; / 小数断码表 code uchar table_dm12=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00,0 x40; / 共阴 LED 段码表0 1 2 3 4 5 6 7 8 9 不亮 - u
26、char table_dm1=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef; / 个位带小数点的断码表 uchar data temp_data2=0 x00,0 x00; / 读出温度暂放 uchar data display5=0 x00,0 x00,0 x00,0 x00,0 x00; / 显示单元数据, 数据和一个运算暂用 11us 延时函数 void delay(uint t) for (;t0;t-); void scan() 14 int j; for(j=0;j0;i-) DQ=1;_nop_();_no
27、p_(); / 从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val / 最低位移出 delay(6); /66 us 15 val=val/2; / 右移 1 位 DQ=1; delay(1); /*DS18B20读 1 字节函数 */ / 从总线上取 1 个字节 uchar read_byte(void) uchar i; uchar value=0; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); value=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); /4 us
28、DQ=1;_nop_();_nop_();_nop_();_nop_(); /4 us if(DQ)value|=0 x80; delay(6); /66 us DQ=1; return(value); /* read_temp() ow_reset(); / 总线复位 delay(200); write_byte(0 xcc); / write_byte(0 x44); / ow_reset(); delay(1); write_byte(0 xcc); / write_byte(0 xbe); 读出温度函数 */ 发命令 发转换命令 发命令 temp_data0=read_byte();
29、/ temp_data1=read_byte(); / temp=temp_data1; temp6348) / tem=65536-tem;n=1; / 负温度求补码 , 标志位置 1 display4=tem / 取小数部分的值 display0=ditabdisplay4; / 存入小数部分显示值 display4=tem4; / 取中间八位 , 即整数部分的值 取百位数据暂存 取后两位数据暂存 取十位数据暂存 个位数据 display3=display4/100; / display1=display4%100; / display2=display1/10; / display1=display1%10; / r=display1+display2*10+display3*100; / 符号位显示判断 / if(!display3) display3=0 x0a; / 最高位为 0 时不显示 if(!display2) display2=0 x0a; / 次高位为 0 时不显示 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 徽县特岗面试真题及答案
- 黄石教资面试真题及答案
- 榆次二模试题及答案英语
- 家具行业的市场营销对产品设计的指导作用研究试题及答案
- 新能源汽车技术的质量保障体系试题及答案
- 砂轮机安全试题及答案
- 粗苯工艺培训试题及答案
- 家具行业的人才需求与培养问题试题及答案
- 民办教育机构2025年合规运营风险防范与品牌影响力提升分析
- 医药企业研发外包(CRO)模式在2025年的国际合作与本土化发展报告
- 《现代农业生物技术育种方法》课件
- 喝酒协议书范本
- 贵州文物调查研究-从文物看中华民族共同体历史的区域实践知到智慧树章节测试课后答案2024年秋贵州民族大学
- 2025届甘肃省定西市安定区中考生物对点突破模拟试卷含解析
- 电力公司深度调峰摸底试验方案
- 《竹节参茎叶中脂溶性成分的研究》
- 化工设备巡检培训
- 《汽车文化》2024年课程标准(含课程思政设计)
- 空气源热泵培训资料
- 化妆品合伙协议书
- DB64-266-2018:建筑工程资料管理规程-201-250
评论
0/150
提交评论