基于单片机设计调试的数字式指针温度计

发布者:信息巫师最新更新时间:2014-01-04 来源: ofweek关键字:Proteus  软件调试  数字式指针温度计 手机看文章 扫描二维码
随时随地手机看文章

  本文主要叙述利用Proteus软件实现的数字式指针温度计的一种调试方法,采用MCS51单片机作为指针温度计的数字信号处理器,其中,温度采集传感器选用Dallas公司的Ds1820单总线式数字温度传感器,该温度计的温度值通过四个数码管显示,同时还可以通过刻盘指针指示。

  硬件设计

  硬件设计包括温度采集模块、单片系统及温度显示模块等模块,其中,刻度盘上指针的控制是设计中的一个重点。在设计数字电路的角位移控制时,一般选用步进电机或伺服电机,选用步进电机时,其步进角固定,同时,对于角位移的控制,会产生控制角度的动作位置不够精确的问题;选用伺服电机也就是舵机时,其控制原理是通过MCS51单片机产生脉宽调制(PWM)信号的占空比来改变舵机摇臂旋转的位置,以达到控制伺服电机的目的,最后在刻度盘上指示温度值。

  系统硬件电路原理图如图1所示。

Proteus软件调试实现的数字式指针温度计

  1.舵机的工作原理

  系统中指针的驱动由舵机实现,为使指针在刻度盘上的初始指示精确,文中采用4个独立按键实现指针刻盘上的粗、微调节。

  舵机是一个简单的闭环系统,其内部硬件电路、微型电机及减速器封装在一个部件内,实物图如图2所示,输出轴可在一90°~90°范围内旋转到任意角度。

  舵机包含控制信号线、电源线和地线3根引线,其反馈元件为一个与输出轴同轴的精密电位器,通过电位器的反馈信号得到舵机输出轴转动的位置,然后将相应的电压值反馈回控制芯片,最后将反馈的输出轴位置与控制引线设定的位置进行比较,得到输出轴位置的偏差,从而驱动微型电机转动,使输出轴转到预定控制的角度。

  舵机的控制信号为一列PWM波,周期为18~20ms,舵机输出轴转动的角度位置与PWM信号占空比呈线性关系,当控制信号的高电平宽度为0.5ms时,舵机输出轴位置为-90°;当信号高电平宽度为2.5ms时,输出轴位置为+90°。

  软件设计

  单片机软件的设计包括DSl820的读写、模拟PWM输出、单片机温度取值、按键扫描、数码管显示等程序设计。

  1.DS1820的读写

  DS1820采用单总线协议,能够实现数据的双向传输,在进行DS1820读写操作前应先对DS1820进行复位,同时,必须严格遵守DS1820的读写时序,尽量精简中断程序,以减少对DS1820的读写时序的影响,提高温度采集的准确性。[page]

  DS1820读、写子程序如下:

  2.PWM的输出

  利用MCS51单片机的定时器中断产生PWM信号,TO每产生一次中断,PWM输出逻辑电平翻转一次,PWM控制信号的输出周期为20ms。

  定时器中断服务程序如下:

 

  其中,int_m为中断计数的中间变量。

  3.按键扫描程序

  文中采用4个独立按键完成指针刻度盘上的粗、微调节,按键扫描程序如下:

  Proteus软件调试

  Proteus软件可以对常用的单片机进行实时仿真,具有全速、单步、设置断点等调试功能,可以观察各个变量、寄存器等当前状态,同时支持第三方软件编译和调试环境。[page]

Proteus软件调试实现的数字式指针温度计

  在Proteus软件中系统的调试界面如图3所示,其中,逻辑分析仪用于测量等当前状态,同时支持第三方软件编译和调试环境。

  在Proteus软件中系统的调试界面如图3所示,其中,逻辑分析仪用于测量单片机产生的PWM信号,其中通道A3为测量PWM信号的基准,通道A5为单片机产生的PWM信号:示波器用于观察产生的PWM信号。

  在Proteus 6.9软件中调试的某一调试状态的界面图如图4所示,系统27℃、43.1℃时指针刻盘的显示效果图分别如图5、图6所示。

Proteus软件调试实现的数字式指针温度计

关键字:Proteus  软件调试  数字式指针温度计 引用地址:基于单片机设计调试的数字式指针温度计

上一篇:基于隔离和网络技术的新型高精温湿度测量仪表
下一篇:一种基于单片机设计的高精度超声波测距系统的改进

推荐阅读最新更新时间:2024-03-16 13:33

proteus与keil Cx51的单片机仿真(串行口输出扩展)
单片机工作于方式0,通过74LS166实现并串转换,并通过单片机串行口输入单片机,然后由P2来控制共阳极数码管的显示,试编写程序,并通过Proteus仿真。 电路图: C程序: #include reg51.h #define uchar unsigned char//宏定义 #define uint unsigned int//宏定义 sbit P1_0=P1^0; void delay(uint z) { uint x,y; for(x=0;x z;x++)for(y=0;y 110;y++); } void main() { while(1) { SCON=0x10;//设定UART的工作方式为方式0,并允许接收
[单片机]
单片机信号脉宽测量程序+Proteus仿真图
参考教材改了一下,添加了显示程序,数码管只能显示4为,理论最高可显示9999us的脉宽。有兴趣的同学可以扩展一下,添加数码管,算法可以改进,多次求平均值等等。仿真出来还算可以。测量脉宽原理很简单,教材和百度上都有。 仿真原理图如下 调制输入信号 2019-10-22 01:00 上传 直接上代码 上图 看一下 下面的代码 我仿真里面设置的脉冲周期是2ms 占空比是50% 由这个代码得到的高电平的时间 理论值是1000us 测得位1000us正确。 单片机源程序如下: #include regx51.h #include intrins.h #define uchar unsigned cha
[单片机]
单片机信号脉宽测量程序+<font color='red'>Proteus</font>仿真图
ATMEGA16单片机usart通信(主从多机通信)proteus仿真与源码
部分单片机源程序如下: /***************************************************** This program was produced by the CodeWizardAVR V2.05.1b Evaluation Automatic Program Generator ?Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. Project : Version : Date : 2017/12/21 Author : Freeware, for evaluation and non-commercial use only
[单片机]
ATMEGA16单片机usart通信(主从多机通信)<font color='red'>proteus</font>仿真与源码
Proteus与ICCAVR的联合调试方法
今天给大家介绍一种即能像AVR Studio 一样进行代码级调试,又可以实时看到MCU 状态的软件,Proteus。 大家都知道ICC-AVR 不能进行代码调试,很多人都选择了AVRStudio,但是AVR Studio 不直观,特别是在做液晶显示代码调试的时候,不能即时的看到显示的情况,而仿真器又太贵,对大多初学者都不太现实。 步骤: 1、新建ICC-AVR 工程,存放到project 文件夹内。 2、设计编译选项 3、编译生成调试文件 4、打开proteus 建立仿真电路图 5、给atmega16L 单片机装载调试文件 6、将proteus 仿真文件保存到与ICC-
[单片机]
<font color='red'>Proteus</font>与ICCAVR的联合<font color='red'>调试</font>方法
51单片机ADC0832电压测量液晶1602显示的C程序与proteus仿真
很早对AD转换感兴趣,也想自己业余做块单片机开发板,让广大的电子设计爱好者学习使用单片机。 今天通过搜索,整理了proteus 7可以仿真通过的基于51单片机+ADC0832电压采集并通过液晶1602显示电压的C程序及电路连接图,希望对大家有所帮助。 程序是谁写的谁修改的并不主要,主要的是学会并使用单片机AD转换,这才是王道。 电路连接图如下: C程序如下: #include reg52.h #include intrins.h #include math.h /**********************************8/ /**********LCD1602接口程序*********
[单片机]
51单片机ADC0832电压测量液晶1602显示的C程序与<font color='red'>proteus</font>仿真
proteus与keil Cx51的单片机仿真(定时器输出方波)
T0工作于方式1,定时时间50ms,编写程序使P1.1输出周期为100ms的方波。(波特率f=12MHz) 电路图: c程序: #include reg51.h #include stdio.h Uart_Init(); sbit P1_1=P1^1; void main() { TMOD=0x01; TL0=0xB0; TH0=0x3C; TR0=1; for(;;) { do{}while(!TF0); TL0=0xb0;TH0=0x3c; P1_1=!P1_1; TF0=0; } }
[单片机]
基于Proteus的虚拟液晶触摸屏设计与应用
1引言 在嵌入式系统设计中,触摸屏作为输入、输出终端具有非常重要的作用。近年来,液晶触摸屏的应用越来越广泛。Proteus软件是目前世界上最先进、最完整的嵌入式系统仿真与开发平台,它与其它电子设计与仿真软件的区别就在于它能对嵌入式系统进行仿真,是一种可视化的支持多种型号单片机(如51、PIC、AVR、Motorolahcll等)并且支持与当前流行的单片机开发环境(Keil、MPLAB、IAR)连接调试的软、硬件仿真系统。 Proteus软件包含两个界面,ProteusISIS是原理图设计与仿真界面;ProteusARES是印刷电路版设计与仿真界面。 ProteusISIS具有丰富的元件库,为广大电子设计爱好者提供了方便
[电源管理]
基于<font color='red'>Proteus</font>的虚拟液晶触摸屏设计与应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved