数字温度计的设计与制作实验报告

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

重庆邮电大学通信与信息工程学院

班级GJ011201

小组成员

徐睿2012210460

李易晓2012210057

张地根2012210114

指导老师邓炳光

数字温度计的设计与制作实验报告设计要求

1,数字温度计设计与制作:利用之前绘制的“C51学习板”掌握的SCH和PCB图知识,绘制一个基于STC89C51的单片机系统,增加温度采集0~120度,温度显示要求3位整数+1位小数,电路原理图和PCB图

2,SCH必须按照规范进行绘制。

3,系统还要求具备电源指示灯,外部使用MINI-USB进行5V供电,在满足要求的情况下,使用的元器件越少越好;温度采集可以用模拟或数字器件、显示可以用LCD或数码管。4,PCB板要求使用底层走线,元器件在顶层。

5,PCB板上标识自己的学号、姓名。

6,PCB板大小,满足元器件布局的情况下,尽可能减少面积。

7,PCB审查正确后,进行单面板腐蚀的相关操作:热转印、腐蚀、钻孔、裁剪等。

元器件自行购买,然后焊接,调试,编写单片机程序,完成设计报告。

设计步骤

一主要原器件的选择

控制模块:STC89C52

温度采集模块:DS18B20

显示模块:8位共阴数码管

二原理图的绘制

1新建一个工程,在Altium Designer软件中的“File”选项中选择“New→Project→PCB project”,然后保存工程至文件夹中(文件名定义要规范)。

2纸张配置,在Design选项中单击左键,选择Document Options项,然后根据原理图的要求选择合适的配置。

3展开工程管理标签、元器件库。

4填写图纸信息。(项目名称、图纸名称、版本、序号、作者。)

5元器件绘制。

1)创建元件库;

2).绘制元器件;

3)完善元器件属性;

6.修改元器件名字;

7. 同一个库中增加其他元器件;

8.打开原理图库管理标签。

1)元器件放置。

2)元器件摆放、连线。(按格点对齐。)

3)修改元器件值。

4)完成图纸。

5)生成Bom表。

三PCB图绘制

1)封装设计。

1. 确定需要做的PCB封装。

2.获取PCB封装物理尺寸。

3.创建PCB封装文件。

4.创建PCB封装。

5.绘制PCB封装。

2)绘制PCB图。

1.创建PCB图。

2.绘制板型:选择Keep-Out Layer,调整格点、重新定位原点、绘制轮廓线。

3.导入元器件。

4.摆放元器件。

5.走线:底层走线:Bottom Layer,处理全部与拉线。

6.规则检查:Tools/Design Rule Check。

7.排除错误。

8.调整丝印,加板名称,调整线宽。

四制作板子

·单面板腐蚀

·热转印

1.准备热转印纸:A4大小

2.打印PCB图:至热转印纸的光滑面

3.裁剪单面板:根据图像大小

4.打磨单面板覆铜面:去除表面氧化膜

5.进行热转印

1)将热转印纸的光滑面与单面板覆铜面紧密贴合并用胶带固定;

2)送至热转印机反复加热。

6.检查:如有断线处用马克笔填补

·腐蚀

1.勾兑腐蚀剂

2.进行腐蚀

1)将热转印完成的单面板置于装有腐蚀剂的容器中;

2)轻轻摇晃容器5-10分钟至腐蚀完全。

·钻孔

1.钻孔:根据图像进行钻孔,注意钻孔力度适中、位置准确

2.清洗:砂纸打磨去除铜面黑色石墨覆盖层并冲洗。

·焊接

1.准备元器件:自行购买

2.装载元器件

3.进行焊接:注意焊点准确

四导入程序并进行调试

程序设计流程图

五实验总结

在画原理图的时候,我们要正确找到引脚,和摆放引脚的位置,各器件也要一一对应,切不可弄错了,画完后,我们要进行封装,封装的时候我要注意各器件的值,要确保每一步骤都正确无误,直至画pcb的图,进行pcb的图绘制的时候,我们要正确布线,确保每一布线都不会交叉或者合在一块的情况,保证电路的正确运行。

出现的问题及解决:封装时没有正确封装,导致器件不行,最后经过检查进行纠正了

布线时,线会有一些不合理走位的情况,怕会影响电路运作,所以在有个地方的走线,我们选择了飞线解决了这一问题。

第一次导入程序的时候,电源指示灯没亮,但是我们把板子上的电源指示灯拆下,重新装上,第二次就可以使用了。

六附件图

Bom表

SCH图

PCB图

程序

#include //包含单片机寄存器的头文件

#include //包含_nop_()函数定义的头文件

#define uchar unsigned char

#define uint unsigned int

uchar code dispcode1[]={0xfa,0x82,0xb9,0xab,0xc3,

0x6b,0x7b,0xa2,0xfb,0xeb}; //0~9共阴显示子码uchar code dispcode2[]={0xfe,0x86,0xbd,0xaf,0xc7,

0x6f,0x7f,0xa6,0xfe,0xee}; //0~9的小数点共阴显示子码

/********************************************************************

以下是DS18B20的操作程序

********************************************************************/

sbit DQ=P1^0;

unsigned char time; //设置全局变量,专门用于严格延时

/*****************************************************

函数功能:延时1ms

(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒

***************************************************/

void delay1ms()

相关文档
最新文档