一、系统原理框图及电路原理图

系统原理框图(如上图所示),各组成部分功能:

1.单片机最小系统,分别由STC12C2052及复位电容Cl组成的单片机最小系统,作为系统主控制器。

采用内部RC振荡(5.6MHz),不需要外接晶振。关于STC单片机的详细介绍和查阅相关网站。

2.温度传感及接口,DS18820为一线制总线接口,硬件连接比较简单,+5v供电之后,可将数据端(DQ)通过R5(1K)上拉电阻直接连到单片机I/O,并且连接到DB9串口接头,如果在测量远端温度时可以通过串口头连接外部DS18820而不使用额外电源(真正两线接法)。

3.LED数码管,由4位8段数码管组成,段控端连接到设置为强上拉的单片机Pl口上,位控端连接到P3.3-P3.7口(P3.6CPU未引出),用来显示当前温度。显示的方式为“××。××”,小数点后取两位。

4.程序下载接口,由于计算机串口电平为±15V表示0和1,因此在和本电路连接的时候需要进行电平转换,下图中Al、A2、Rl、R2、R3、R4、Dl组成了一个简易的RS232-TTL的转换电路,Al将计算机串口信号倒相,变成5V信号后送给单片机串口接收端RXD,单片机的TXD信号经过A2将信号倒相后送给DB9标准串口,将其与计算机COM口相连,就完成程序的调试与下载。

5.电源接口,由Jl将外面的+5V直流电源接入。

二、电路制作

电路板采用Prote199软件设计,考虑了方便加工,节约成本的原则,本作品设计成为单面板,所用的元件大多采用贴片元件,占用电路板面积较小,同时使用15MIL宽度的导线可以防止热转印时断线的发生,易于电路板的制作,印制板图和元器件实物照片如上图所示(左侧为Prote199中的拷图由于PCB图在Ptotel99被设置为底层,因此两张图在视觉上存在镜相关系)。

将电路板图用激光打印机打印在转印纸上,通过高温轧制的方法就可以转印在附铜板上了,通过三氯化铁的浸泡就可以做出真正可用的电路板了,打孔后就可以焊接硬件电路了,在本作品中,元件清单见下表,下图为焊接后的实物照片。

三、软件设计

在本例中我们采用了C语言编写,选用KeiluVision2作为开发环境。在本例的程序设计包括以下几个部分:程序初始化部分、定时中断LED显示部分、读18820数据部分、和数据计算部分,其中难点在于定时中断led显示部分和DS18820的驱动部分。

软件流程下图所示:

在这几段例程中,延时时间要求比较苛刻,这也是l线制器件的工作基准。

四、软硬件调试

我们提供有在Keil uVision2开发环境下的整个工程程序,包括完整的C代码(含注释)及相关的支持文件。打开Keil uVision2开发环境,按照上图打开本文提供的“temp.Uv2”工程,进入编程界面。

每次更改程序后,点击下图所示按钮就可以编译了,如果状态栏中没有错误提示,就可以在工程目录下找到一个temp.hex的目标文件,我们就可以通过STC单片机提供的编程软件下载到设计中看运行效果了。

生成了目标代码,我们就可以通过STC-ISP软件进行下载工作,在网络上搜索并安装STC-ISP,在第一次使用这个软件的时候需要设置一下CPU类型,通讯端口(一般都是coml),由于使用简易电平转换电路,波特率可以设置低一些,将交叉的双母头串口线把系统与计算机的COM口连接,使用“openfile”打开目标文档后,就可以使用Dowdload按钮进行编程操作了(在点击这个按钮后再给目标板加电源),如下图所示。

五、注意事项及故障排查

在设计中,应当注意以下方面的问题、难点:

1.LED段控连线方面为了方便电路板布线,没有使用常用的顺序的连接方式,不过使用中仅对段控码有影响。

2.在简易电平转换电路中,为了器件的容易购买,使用9013代替图中的防反向击穿二极管。

3.在购买元件时,LED-定要选择共阴极数码管,并且电源电压一定要在5~5.5V之间(可以使用计算机USB通讯口的5V电源)。

4.焊接过程中,温度不宜过高,如果某一个管脚焊接时间长于20s,为了防止焊盘脱落,请稍事休息再继续。

5.如果购买转印纸不方便,可以用及时贴下边一层代替,没有转印机的情况下也可以用电熨斗(温度控制在120℃左右),效果不好可以多做两次。

6.在焊接贴片元件时,先在一个管脚上镀锡,然后安装元件,焊接这一端,最后在焊接另一端,这样有利于提高成功率。

7.在C语言里面,如果精确延时不容易做到,可以实验一段程序确定延时时间长度。

8.在读18820的时候,由于这样的元件时序操作要求严格,如果这个时刻定时中断来到,将会影响18820的正常工作,所以在读18820的时候,需要暂时关闭中断,直到得到温度数据后再打开中断,继续显示,但是由于单片机操作的速度很高,在肉眼观察方面没有什么影响。

可能会出现在故障及解决方案、方法:

1.注意计算机的串行口的编号,如果不能确定,请到控制面板中“系统”-“硬件”-“设备管理其中察看”,如果使用没有串口的笔记本,可以购买一条usb转换成串口的连线使用。

2.如果确认串口连接正常,多次编程连接不上的问题,说明购买的9013三级管放大倍数不够,请在Txd和电源直接连接一个lOk电阻。

数字温度计设计c语言,数字温度计的设计与制作相关推荐

  1. c语言程序设计 在线课程设计,c语言程序设计 本科课程设计

    <c语言程序设计 本科课程设计>由会员分享,可在线阅读,更多相关<c语言程序设计 本科课程设计(11页珍藏版)>请在人人文库网上搜索. 1.河北农业大学本 科 课 程 设 计课 ...

  2. 数字时钟程序c语言,数字时钟C语言源程序

    数字时钟C语言源程序 #include//头文件 #define uchar unsigned char #define uint unsigned int //宏定义 uchar count; ui ...

  3. 数字炸弹游戏c语言,数字炸弹游戏作文500字

    今天,我们玩了一个超好玩的游子,叫"数字炸弹". 游戏规则:出题的人从1-100选一个数字,假如出题的人写82,其他7人中的一人选了82,那个人喝一杯满满的水,如果没人选82,那出 ...

  4. 双机之间的串行通信设计 c语言编程,双机串行通信设计精品.doc-资源下载人人文库网...

    双机串行通信设计 精品.doc 所属课程名称 单片机原理与接口技术 题 目 双机串行通信 二 总体设计2.1 设计目的 通过本次课题设计,应用单片机原理及其接口技术等所学相关知识及查阅资料,完成简易双 ...

  5. c语言if语句教学设计,c语言if语句教学设计.pdf

    学习必备 欢迎下载 C 语言if 语句的应用教学设计 授课时间 45 分钟 课题(章节) 第4 章第3 节<if 语句> 教学目的与要求: 1.让学生了解if 语句的二种结构语句格式. 2 ...

  6. 智能仪器原理及设计C语言,智能仪器仪表课程设计.doc

    智能仪器仪表课程设计 摘 要 随着时代的进步和发展,已经普及到我们生活.工作.科研.各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于89C51单片机的系统,软件编程以及各模块系统流程进行 ...

  7. c语言if语句教学设计,c语言if语句教学设计

    C 语言 if 语句的应用教学设计 授课时间 45 分钟 课题(章节) 第 4 章第 3 节<if 语句> 教学目的与要求: 1.让学生了解 if 语句的二种结构语句格式. 2.通过本课让 ...

  8. 现代交通灯的设计C语言编程,交通灯设计_优秀论文.doc

    . PAGE .. 毕业论文(设计) 题 目 基于单片机控制的 交通灯的设计 _ 学生姓名 学 号 专业班级 指导教师 完成时间: 201 年 月 日 . PAGE .. 摘 要 交通信号灯的出现,使 ...

  9. 简易数字电压表设计c语言程序,简易数字电压表设计.doc

    基于单片机的简易数字电压表的设计 PAGE 5 基于单片机的简易数字电压表的设计 摘要 本文介绍了一种基于单片机的简易数字电压表的设计.该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块 ...

最新文章

  1. HTML中GET与POST的区别
  2. win7下显示linux文本文件不换行
  3. ssd手 和方向检测
  4. Vs2008不能调试的问题
  5. android tablayout 字体颜色,Tablayout变颜色 以及Fragment进行切换
  6. 【maven】mvn -pl 指定模块
  7. 笔算除法 c语言,《两、三位数除以一位数,笔算》
  8. docker redis:6.2.6
  9. 很特别的一个动态规划入门教程
  10. 找到恶意软件包:Go 语言生态系统中的供应链攻击是怎样的?
  11. 菜鸟学Linux 第030篇笔记 yum使用,源码编译安装
  12. 开发大脑潜能的11种良方法
  13. #IP实验室,第二周复盘
  14. 开关量采集模块支持PWM占空比输出无线数据采集模块Modbus TCP协议
  15. 【Python爬虫】新手入门案例教学(一):爬取豆瓣电影排行有关信息
  16. 菜鸟的数学建模之路(二):线性与非线性回归
  17. 解决win11/win10在登陆界面(解锁界面)点击获取每日壁纸无效的问题 - get Daily Lockscreen and Wallpaper - Win11/10的登录界面背景图片在哪里?
  18. 2021年智能晾衣机销售增长96%,好易点的增长引擎是什么?
  19. CQOI2016游记
  20. Matlab/simulink 风储调频,风电调频,模糊控制,mpc模型预测,虚拟惯性控制,下垂控制。

热门文章

  1. jpeg图像质量参数及icc信息提取
  2. python匿名函数调用_python之内置函数,匿名函数
  3. 图像加噪与滤波处理(python+opencv)
  4. Win-TortoiseGit-使用之-合并代码
  5. tecplot常用笔记
  6. C++——Hook教程[1]:虚函数表(VMT)Hook
  7. VMware ESXi 6.7 配置iSCSI存储(分流)
  8. js如何让段落首行缩进2个字符
  9. AXI协议详解(4)-突发传输
  10. 20200413 jzoj 普及c组 Loan Repayment