protues仿真单片机温度控制
单片机温度检测proteus仿真
if (!IO_18B20) //读取通信引脚上的值
dat &= ~mask;
else
dat |= mask;
DelayX10us(6); //再延时60us
}
EA = 1; //重新使能总中断
return dat;
}
bit Start18B20() //启动一次18B20温度转换,返回值代表是否启动成功
LcdWriteCmd(0x06); //文字不动,地址自动+1
LcdWriteCmd(0x01); //清屏
}
/***********************DS18B20.c文件程序源代码*************************/
#include <reg51.h>
#include <intrins.h>
_nop_();
} while (--t);
}
bit Get18B20Ack(void) //复位总线,获取存在脉冲,以启动一次读写操作
{
bit ack;
EA = 0; //禁止总中断
IO_18B20 = 0; //产生500us复位脉冲
DelayX10us(50);
IO_18B20 = 1;
DelayX10us(6); //延时60us
}
void LcdWriteCmd(unsigned char cmd) //写入命令函数
{
LcdWaitReady();
LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_DB = cmd;
LCD1602_E = 1;
LCD1602_E = 0;
基于PROTEUS的单片机多路温度采集系统的仿真设计
维普资讯
第 5 期
王 红 仓 等 : 于 P TE S的单 片 机 多 路 温 度 采 集 系 统 的仿 真 设 计 基 RO U
・8 ・ 5
该 系统 包括 传感 器 电路 、 盘与 显示 电路 、 口通 信 电路等 组成 部 分. 键 串
图 1 硬 件仿 真 图 2 1 传 感 器部 分 .
器 , 支持 C语 言 , 可 以与 Kel 5 集 成 开发 环境 连接 ,将 用汇 编 和 C语 言 编 写 的程 序 编译 好 之后 , 不 但 iC 1
可 以立 即进行 软 、 件结 合 的系统 仿真 , 使用 仿 真器一 样来 调试 程序 . 硬 像 ]
2 硬 件 方案设 计 .
维普资讯
№ . 5
陕 西 科 技 大 学 学 报
J OURNAL OF S HAANXIUNI VERSTY CI I OF S ENC & TECHNOL E O
Vo . 5 12
文章 编 号 :0 0 5 1 ( 0 7 o — 0 4 0 1 0 — 8 1 2 0 ) 50 8 — 4
基 于 P oT U R E S的 单 片 机 多路温 度 采集 系统 的 仿 真 设 计
王 红 仓 ,张俊 涛
( 西 科 技 大 学 电 气 与 信 息 工 程 学 院 ,陕西 西 安 70 2 ) 陕 1 0 1
DS 8 2 1 B 0是一 种数 字化 的温 度传 感器 , 数据 输 出 9 2位 可 以通 过 编程 进 行选 择 . ~1 当选用 1 2位 输 出 时 , 大温度 转换 时 间为 7 0ms该 器件 采 用单 线通 讯 , 以允 许在 通 讯 总线 上 级联 多 个 D 1 B 0器 件 , 最 5 . 可 S8 2 所 以很 适合 多点 测温 . D 1 B 0片 内设 有报 警单 元 , 户 可 以定 义 报警 的上 下 限. 在 S8 2 用 在完 成 温 度转 换 后 , 与贮存 在 寄存器 中的用 户补 码 触发 报警 TH 值 和 TL值进 行 比较而 触 发报 警. 了适应 不 同场合 的测 温 为
基于PROTEUS的单片机测温系统的仿真设计
基于PROTEUS的单片机测温系统的仿真设计I.概述在现代工业生产中,温度的准确测量对于保证产品质量、确保生产安全至关重要。
因此,设计一套可靠的温度测量系统对于工程师来说是必要的。
本文将介绍一种基于PROTEUS仿真平台的单片机测温系统的设计方法,利用该系统可以实现对温度的准确测量和监控。
II.系统设计1.系统硬件设计系统硬件设计包括传感器、单片机和显示器等部件的选型和连接。
温度传感器选用DS18B20数字温度传感器,该传感器具有高精度和抗干扰能力。
单片机选用常用的51系列单片机,如STC89C52等。
显示器可以使用数码管或LCD液晶显示器。
2.系统软件设计系统软件设计包括单片机程序的编写和功能实现。
首先,需要编写初始化程序,初始化系统设置和连接传感器。
其次,编写温度测量程序,通过单片机与传感器进行通信,并获取温度值。
最后,编写温度显示程序,将测得的温度值显示在数码管或LCD显示器上。
III.仿真操作1.运行PROTEUS软件首先,打开PROTEUS软件,并创建一个新的工程文件。
2.添加单片机和传感器在PROTEUS的元件库中找到所需的单片机和传感器元件,并将其拖放到画布中。
然后,通过连线工具将它们连接起来。
3.编写单片机程序使用类似Keil C等开发工具编写单片机程序。
将编写好的程序导入到PROTEUS中的单片机元件中,然后设置程序的执行方式。
4.设置仿真参数设置仿真参数,如仿真时间、时钟频率等。
为了模拟真实环境下的测温系统,可以设置仿真时间较长,以确保系统的稳定性和可靠性。
5.运行仿真点击运行按钮,开始执行仿真。
在仿真过程中,可以观察温度传感器的输出、单片机的工作状态以及显示器的显示情况。
根据需要可以调整相关参数,进行优化和改进。
IV.仿真结果分析通过观察仿真结果,可以评估设计的温度测量系统的性能和稳定性。
根据实际需求,可以对系统参数进行调整和优化。
同时,可以根据仿真结果进一步完善系统设计和功能实现。
基于proteus的简单温度测量系统设计说明
课程设计二基于proteus的简单温度测量系统设计一、课程设计要求本课程设计的基本要使学生熟悉掌握51系列单片机的编程方法,学习应用proteus软件进行单片机应用系统设计与仿真。
要求同学们设计一款简易的温度测量装置,设计要求温度测量围为0-120度,测量精度为1度。
有精力的同学可以将测温通道扩展为8通道(不限测温通道数目)。
要求设计基于单片机的简单温度测量系统电路原理图,实现温度测量系统的仿真,并最终提交仿真结果。
设计的基本要求:(1)测量围为0℃~+120℃,精度为1℃;(2)利用温度传感器测量某一点环境温度;(3)利用A/D转换将温度信号转换成电压信号;(4)在LED数码管上显示;(5)Proteus软件进行仿真。
二、设计思路(仅供参考)根据系统的设计要求,温度传感器TC1输出信号经信号差动放大到0—5V,放大器的输出送ADC80C51进行A/D转换,A/D转换结果送单片机进行处理,最后将所测的温度在LED数码管上显示。
图1 系统设计框图三、相关设计知识(一)硬件设计部分1、AT89C51单片机选择与特点由于此设计需要编写程序,需要将程序载入单片机中,因此单片机必须具有足够多的存储空间,其具有8K字节的Flash完全满足要求。
16位的定时计数器使得读取数据变得更加简单,同时其结构有利于晶振电路和复位电路的连接。
最重要的是,能够在掉电状态下保存RAM的数据。
因此,对于本设计来说,选择AT89C51是最有利的。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
基于proteus的PID温度控制系统开题报告
开题报告:基于proteus的PID温度控制系统1. 项目背景随着科技的发展和应用领域的不断扩展,温度控制在许多领域中起到了至关重要的作用。
从冷库到加热器,从空调系统到制冷设备,温度控制对于维持合适的工作环境和保证设备正常运行至关重要。
因此,设计和实现一个基于PID (Proportional-Integral-Derivative)控制算法的温度控制系统对于多个行业都具有重要意义。
当前,许多专业人员和学生在温度控制系统的设计和调试过程中遇到了许多困难。
为了帮助他们更有效地解决这些问题,我们计划开发一个基于Proteus的PID温度控制系统。
Proteus是一款嵌入式系统开发和电路模拟软件,具有强大的功能和用户友好的界面,适用于各种电子系统的设计和仿真。
2. 项目目标本项目的主要目标是设计和实现一个基于Proteus的PID温度控制系统,以帮助专业人员和学生更好地理解和应用PID 控制算法。
具体目标包括:•开发一个基于Proteus的温度传感器模块,用于测量物体的温度。
•开发一个PID控制算法模块,并与温度传感器模块进行交互,实时地调整控制系统的输出。
•开发一个仿真界面,用于显示实时温度变化和PID控制系统的工作状态。
•对PID温度控制系统进行性能测试和优化,以确保系统的稳定性和精确性。
3. 实现步骤为了达到项目目标,我们将按照以下步骤进行实施:步骤一:温度传感器模块设计与开发我们将使用Proteus软件设计并实现一个温度传感器模块。
该模块将能够测量物体的温度,并将这些数据传送给PID控制算法模块。
步骤二:PID控制算法模块设计与开发在这一步中,我们将开发一个PID控制算法模块,它将根据温度传感器模块提供的数据实时地调整控制系统的输出。
我们将使用Proteus提供的软件工具和函数库来帮助我们实现PID控制算法。
步骤三:仿真界面设计与开发为了更好地展示PID温度控制系统的工作状态和温度变化,我们将设计和开发一个仿真界面。
基于PROTEUS的温度控制电路设计与仿真
基于PROTEUS的温度控制电路设计与仿真学生姓名:赵殿锋指导教师:郭爱芳学号:联系方式:专业:机械电子工程基于PROTEUS 的温度控制电路设计与仿真关键词:AD590 运算放大器 电压跟随器 电压比较器 晶体管 0 引言温度控制在冶金、化工、建材、食品、机械、石油等工业中有举足轻重的作用。
对于不同场所、工艺、所需温度范围、精度等要求,则采用的测温元件、测温方法以及对温度的控制方法也将不同。
Proteus 是90年代英国Labcenter Electronics 公司开发的一款EDA 仿真工具软件,该软件可仿真数电、模电、单片机至ARM7等不同电路,仿真和调试时,能够很好地与Keil C51集成开发环境连接,仿真过程可从多个角度直接观察程序运行和电路工作的过程与结果,简化了理论上程序设计验证的过程。
由于Proteus 仿真过程中硬件投入少、设计方便且与工程实践最为接近等优点,本文采用Proteus 来设计与仿真以提高控制系统的开发效率。
1 控制系统基本原理系统中包含温度传感器,K —℃ 转换电路,控制温度设定装置、数字电压表、放大器、指示灯、继电器和电感(加热装置)等构成。
温度传感器的作用是将温度信号转换成电压或电流信号,K —℃ 转换电路将热力学温度转换成摄氏温度。
放大器起到信号放大的作用,因为传感器产生的信号很微弱。
系统中有运算放大器组成的比较器来使传感器产生的信号与设定的信号相比较,由比较器输出电平来控制执行机构工作,从而实现温度的自动控制。
2 AD590温度传感器AD590是美国ANALOG DEVICES 公司的单片集成两端感温电流源,其输出与绝对温度成比例。
在4V 至30V 电源电压范围内,该器件可充当一个高阻抗、恒流调节器,调节系数为1K A /μ.片内薄膜电阻经过激光调整,可用于校准器件,使该器件在(25℃)时输出A μ。
目前采用传统电气温度传感器的任何温度检测均可应用AD590,AD590无需支持电路,单芯片集成,无需线性化电路、精密电压放大器、电阻测量电路和冷结补偿。
基于proteus仿真的多温度自动检测系统
基于proteus仿真的多温度自动检测系统作者姓名:唐轶专业名称:电子信息科学与技术指导教师:黄宇摘要在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。
在消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测,温度检测系统都应用的十分广泛。
本文设计的多通道温度检测系统是通过proteus仿真,利用单片机AT89C51单片机作控制器,采用数字式传感器DS18B20进行温度测量,实现多地点的温度实时检测并通过LED显示器件显示温度的功能,能方便地应用于各种温度检测场合。
本设计采用DS18B20和AT89C51单片机研制了一种温度巡回检测系统。
关键词:单片机AT89C51 DS18B20 温度AbstractIn the industrial and agricultural production and daily life, the right temperature measurement and control occupy a very important position. In the fire temperature detection non-destructive electrical, power, telecommunication equipment failures to predict overheating detection, air-conditioning system, temperature measurement, all kinds of means of transport of the components overheating detection, security and surveillance system applications, the temperature of medical and health consultation testing, chemical, and mechanical equipment such as temperature overheat ... detection, temperature detection systems have a wide range of applications.This design of multi-channel temperature measurement system is through proteus simulation, using microcontroller AT89C51 microcomputer as the controller, using digital sensor DS18B20 for temperature measurement, the temperature of multi-location real-time detection and through LED display device displays the temperature function can be easily used in various temperature detection occasions. This design uses DS18B20 and AT89C51 microcontroller developed a temperature circuit detection system.Key words: SCM AT89C51 DS18B20 Temperature目录摘要 (I)Abstract (II)目录 (III)前言 (1)1 设计要求及方案 (2)1.1多路温度自动检测系统技术指标 (2)1.2 温度检测系统的原理功能 (2)1.3 温度检测方案 (2)2 单片机的基础知识 (4)2.1 概述 (4)2.1.1单片机的发展史 (4)2.1.2单片机的应用 (5)2.2单片机基本结构、引脚功能、I/O口 (6)2.2.1单片机的基本结构 (6)2.2.2单片机外部引脚功能和I/O(P0、P1、P2、P3) (8)3 所用器件介绍 (11)3.1 温度传感器(DS18B20) (11)3.1.1 传感器的选择 (11)3.1.2 DS18B20(温度传感器) (11)3.2 74HC595 (12)3.2.1 74HC595引脚说明 (13)3.2.2 74HC595 功能表、注释 (13)3.3 LED显示器 (14)3.3.1 LED 的优点 (14)3.3.2 LED工作方式 (15)4 仿真软件proteus (18)4.1 Proteus软件简介 (18)5 硬件设计 (19)5.1 系统电路结构 (19)5.2 单片机最小系统 (19)5.3 温度采集传感电路 (21)5.4 温度显示电路 (23)5.5 温度显示通道号电路 (24)6 系统软件设计 (25)6.1 系统程序总设计 (25)6.2 温度检测子程序设计 (26)7 系统仿真及结果 (27)7.1 Proteus原理图设计 (27)7.2 Keil与Proteus联机仿真 (27)7.3 protel原理图及PCB版 (28)总结 (29)致谢 (30)参考文献 (31)附件1 PCB图 (32)前言温度的测量在工业、农业、国防等行业有着广泛的应用。
基于PROTEUS仿真的智能恒温控制系统
基于PROTEUS仿真的智能恒温控制系统【摘要】文中采用温度传感器DS18B20采集温度,液晶显示器12864显示温度,AT89S52单片机智能调整控制温度,应用仿真软件PROTEUS模拟实现制冷、加热、恒温三种控温模式。
【关键词】单片机;温度控制;仿真1.引言本文以温度控制技术在智能家电领域中的应用为背景,依据单片机、数字温度传感器、液晶显示器、时钟芯片为基础,以PROTEUS7.8电子仿真软件为平台,设计空调恒温智能控温系统。
2.系统整体设计以AT89S52为核心,温度显示模块,液晶显示模块,时钟显示模块,执行模块和功能按键组成。
系统电路方框图如图1所示。
其实现的以下的功能:(1)时钟显示模块:编程通过AT89C52控制DS1302时钟芯片实现时钟功能(包括:年、月、日、星期、时、分、秒)。
相应的时钟信息发送到12864液晶上显示。
(2)制冷模式:当ZHILEN键时,进入制冷模式,温度控制模块DS18B20采集当前温度信息与制冷的设定值比较。
并将相应的信息发送到12864液晶上显示。
单片机通过三极管控制继电器线圈驱动制冷风扇运行,启动制冷模式运行。
继电器常开触点闭合——黄色发光二极管导通发光,表示制冷模式。
(3)加热模式:当JIARE键时,进入加热模式,温度控制模块DS18B20采集当前温度信息与加热的设定值比较。
并将相应的信息发送到12864液晶上显示。
单片机通过三极管控制继电器线圈驱动暖风机运行,启动加热模式运行。
继电器常开触点闭合——红色发光二极管导通发光,表示加热模式。
(4)恒温模式:当HENGWEN键时,进入恒温模式,温度控制模块DS18B20采集当前温度信息与恒温设定值比较。
并将相应的信息发送到12864液晶上显示。
绿灯亮表示恒温模式。
单片机控制空调器在恒温模式运行。
3.系统各个模块的设计Proteus软件:是英国Labcenter electr-onics公司出版的EDA工具软件。
单片机c语言程序设计实训100例——基于arduino+proteus仿真
单片机c语言程序设计实训100例——基于arduino+proteus仿真单片机C语言程序设计是电子信息类专业中的一门重要课程,通过学习这门课程可以掌握基本的嵌入式系统开发技术。
为了提高学生对于单片机编程能力和实践操作能力的培养,通常会进行相关实训。
在这篇文章中,我将介绍一个基于Arduino+Proteus仿真环境下的100个例题来帮助大家更好地理解和掌握单片机C语言程序设计。
每个例题都包含详细说明、代码示例以及相应功能模块在Proteus上面运行效果图等内容。
1. 闪烁LED灯:使用延时函数使得连接到Arduino引脚13上面的LED灯周期性地闪烁。
2. 控制舵机角度:根据输入信号改变舵机转动角度,并且利用串口监视器显示当前角度值。
3. 温湿度传感器读取数据并显示:通过DHT11温湿度传感器获取周围环境温湿度数值,并将其显示出来。
4. 数码管计数器: 使用74HC595芯片驱动四位共阳极数字管,在7段数码管上循环从0-9递增或者递减展示数字5. 蜂鸣器播放音调: 通过PWM信号控制蜂鸣器发出不同频率的声音。
6. 红外遥控LED灯: 使用红外接收模块读取来自红外遥控器发送的指令,并根据指令点亮或者熄灭连接到Arduino引脚上面的LED灯。
这些例题涵盖了单片机C语言程序设计中常见且基础性较强的内容,可以帮助学生逐步提高编程能力和实践操作技巧。
在Proteus仿真环境下进行实验也有以下几个优点:1. 安全可靠:在环境下进行实验,不存在电路元件损坏、线路错误等问题,保证了安全性和稳定性。
2. 节约成本:无需购买昂贵而易损耗品(如传感器、舵机等),只需要使用软件即可完成相关功能测试。
3. 方便快速:Proteus具备图形化界面以及大量现成组建库文件, 只要简单地将所需元素放入画布并连好线就可以开始调试代码4.多样化场景设置: Proteus支持各种设备与芯片之间相互联动关系搭配总结起来说,“100例——基于arduino+proteus仿真”这个实训项目是一个非常有价值的单片机C语言程序设计学习资源。
基于PROTEUS的单片机温度采集系统设计与仿真
Ke y wo r ds : P r o t e u s:S i n g l e C h i p M i c r o c o m p u t e r ;T e m p e r a t u r e;S i m u l a t i o n
S h i J i a n p i n g
( S c h o o l o f E l e c t r o n i c &C o m m u n i c a t i o n E n g i n e e r i n g ,G u i y a n g U n i v e r s i t y , G u i y a n g 5 5 0 0 0 5 , C h i n a )
a n d e n h a n c e s t h e s t a bi l i t y o f t h e s y s t e m .S y s t e m i n t e r a c t i v e s i m u l a t i o n o f h a r d w a r e a n d s o f t w a r e h a s b e e n d o n e o n t h e a d v a n c e d p l a t f o r m o f P r o t e u s ,v e r i f y i n g a n d e v a l u a t i n g t h e d e s i g n’ S f e a s i b i l i t y a n d s t a bi l i t y . T h e S i m u l a t i o n r e s u l t S s h o w t h a t ,i n t h e f i e l d o f e m b e d d e d d e v e l o p m e n t ,P r o t e u s i S c o n v e ni e n t ,a n d c a n
基于Proteus的温度控制系统的设计与仿真
I SN 1002 49 6 S 5
-
. . . . . . . . . . . , . . . . . . . .
温 度 控 制 在科 学研 究 和 工 业 生 产 中具 有 重要 意
de i e pe a u e c nt o y t m a e as e n r du e . PI c t o e ho i m pl e n t i sgn oftm r t r o r ls s e ofhe t r h be n i t o c d D on r lm t d s e oy d i h s s s e ,w hch i s d o y tm i s ba e n ATM EG A 1 8 sn l ~ hi ir c m pu e . I dd to igec pm c o o 2 t r n a iin,t i u a in asbe n c r he sm l to h e a —
re n wi y t m y me n fPr t u i lt n p a f r id o t s s e b a s o o e s smu a i lto m. Th x e i e t l e u t h w h tt e c n r l h o e e p r n a s ls s o t a h o to m r
.
.
..
.
.
— — . — —
实
验
技
术
与
管
理
CN1 — 0 4 T 1 —2 3 /
基于Proteus的多路温度测控系统设计
毕业设计方案题目基于Proteus的多路温度测控系统设计学院自动化与电气工程专业自动化班级1001学生xxxxxxx学号xxxxxxxxxxx指导教师xxxxxx二〇一四年三月三十一日学院自动化与电气工程专业自动化学生xxxxxxx 学号xxxxxxxxxxx设计题目基于Proteus的多路温度测控系统设计一、选题背景与意义1.课题背景及研究意义随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。
传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。
温度是工业对象中的一个重要的被控参数。
然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。
因此对数据采集的精度和采用的控制方法也不相同。
传统的控制方式以不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。
近几年来快速发展了多种先进的温度控制方式,如:PID控制,模糊控制,神经网络及遗传算法控制等。
这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。
本系统所使用的加热器件是电炉丝,功率为三千瓦,要求温度在400~1000℃。
静态控制精度为2.43℃。
本设计使用单片机作为核心进行控制。
单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。
2.国内外现状温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。
基于proteus的温度测控系统仿真设计
基于proteus的温度测控系统仿真设计摘要:如今在工业和农业生产以及日常生活中,温度的实时监测占据着非常重要的地位。
例如在消防场合的温度检测,我们家用中的电器设备热故障监测,各类运输工具的某些设备的温度检测,医院医疗设备的温度测试,化工车间和机械车间等设备温度过热检测,温度检测与其息息相关。
本次论文设计的温度检测系统是利用单片机AT89C51单片机作控制器,用C 语言来进行软件设计,而且能达到指令的执行速度快,节省存储空间。
它采用温度传感器传感器DS18B20进行温度测量,实现各个环境以及场合下的温度实时检测并通过LED显示器件显示温度的功能,能方便地应用于各种温度检测场合。
本论文设计的温度测控系统功能是能够实时的检测某一环境下的温度,测量的温度范围是-20℃到70℃,一旦超过最高或者是最低的温度都会通过蜂鸣器来达到报警效果。
另外我给该系统加了个复位开关,一旦出现乱码或者一般的故障可以通过该复位开关来进行复位。
本论文采用软、硬件相结合的方式,来进行各功能的编写。
本设计采用的是DS18B20和AT89C51单片机的一种温度检测系统。
论文中对用单片机温度控制原理的设计思想和软、硬件调试作了详细的论述。
关键词:89C51单片机; DS18B20;温度Temperature Monitoring System Based proteus simulation designAbstract:Today in the industrial agricultural production and our daily lifes, Real-time measurement of temperature play a very important position.For example, temperature detection in fire situations, electrical equipmentthermal fault monitoring in our household, temperature detecting some equipment of all kinds of transportion, the temperature test in hospital medical equipment, chemical plant and machinery plant... Equipment temperature detection,So temperature detection with the closely related to.This temperature monitoring system is designed using single chip machine AT89C51 as controller,it’s using C programming language to fulfill fast executing commands and saving storage.we used DS18B20 temperature sensor to monitor,it allowed us to monitor temperature in different conditions and then display digits on LED screen,this technology can be applied in many occations.this temperature monitoring system can measurereal-time temperaturein certain environment,temperature ranges from -20℃to 70℃,once reaching its limit,there will be a buzzer warning.I also added a reset button to the system in case of any glich or malfunctioning.This thesis is based on hardwares,using single chips DS18B20 and AT89C51 as temperature monitoring system.there’s more detailed information about the single chip temperature control principle and design idea,debugging in software and hardwares.Key words: display 89C51;DS18B20;Temperature目录前言 (1)1 设计要求及方案 (2)1.1温度自动检测系统技术指标 (2)1.2 温度检测系统的原理功能 (2)1.3 温度检测方案 (2)2 单片机以及所用的元器件介绍 (4)2.1 单片机 (4)2.2 AT89C51单片机单片机基本结构 (4)2.3单片机外部引脚功能 (6)2.4温度传感器(DS18B20)封装及功能介绍 (8)2.5 LED显示器 (9)2.5.1LED 的优点 (9)2.5.2 LED工作方式 (10)3硬件设计 (13)3.1 系统电路结构 (13)3.2 单片机最小系统 (13)3.3 温度采集传感电路 (15)3.4 温度显示电路 (16)4 系统软件设计 (18)4.1 系统程序总设计 (18)4.2 温度检测子程序设计 (18)4.3温度监测系统的温度程序设计 (19)5 系统仿真及结果 (20)5.1 仿真Proteus软件简介 (20)5.2软件介绍与组成 (20)5.3Proteus原理图设计 (21)5.4 Keil与Proteus联机仿真 (22)总结 (23)致谢 (24)参考文献 (25)附录 (27)前言如今在工业和农业生产的车间和设备以及我们的日常生活中的某些场合对温度的测量以及对它控制有着重要的作用。
利用单片机控制18B20温度控制Proteus仿真
仿真图:程序:#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define NOP() {_nop_();_nop_();_nop_();_nop_();}//------LCD引脚-----sbit LCD_RS=P2^0;sbit LCD_RW=P2^1;sbit LCD_EN=P2^2;sbit DQ=P3^3;uchar code table[]={"Temperature:"}; //LCD第一行显示uchar temp_dis[]={" C"}; //LCD第二行//-----温度字符-----uchar code Temperature[]={0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00};/* ************* 温度小数部分表********** */uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};uchar Temp_value[]={0x00,0x00}; //从DS18B20读取的温度值uchar digital[]={0,0,0,0}; //各温度数位uchar Current_T=0; //当前温度的整数部分//--------延时-------void delay(uint ms){uint t;while(ms--)for(t=0;t<120;t++);}void Delayus(uint m){while(m--);}//-------读LCD状态-------uchar read_lcd_state(){uchar state;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();state=P0;LCD_EN=0;_nop_();return state;}//-------忙等待------void lcd_busy_wait(){while((read_lcd_state() & 0x80)==0x80);NOP();}//----------LCD写指令----------void lcd_write_com(uchar com){lcd_busy_wait();LCD_RS=0; //RS为0时,写指令,RS为1时,写数据LCD_RW=0;P0=com;NOP();LCD_EN=1;NOP();LCD_EN=0;}//----------LCD写数据----------void lcd_write_data(uchar dat){lcd_busy_wait();LCD_RS=1;LCD_RW=0;P0=dat;NOP(); //如果用delay()延时函数时,延时时间较长,导致LCD显示与电压表示数不同步LCD_EN=1;NOP();LCD_EN=0;}//-------LCD初始化-------void lcd_init(){LCD_EN=0;lcd_write_com(0x38); //LCD显示模式设置lcd_write_com(0x0c); //LCD显示开/关及光标设置lcd_write_com(0x06); //当写一个字符后地址指针加1,且光标加1lcd_write_com(0x01); //显示清屏}//---------设置液晶显示位置-----------void set_lcd_pos(uchar p){lcd_write_com(p | 0x80);}//---------液晶显示程序----------void lcd_print(uchar p,uchar *s,uint low){uint num;set_lcd_pos(p);for(num=0;num<low;num++){lcd_write_data(s[num]);delay(1);}}/* ******初始化DS18B20********/void Init_DS18B20(){uchar status=0;DQ=1; //DQ复位Delayus(8); //稍作延时DQ=0; //单片机将DQ拉低Delayus(80); //精确延时大于480usDQ=1; //拉高总线Delayus(8);status=DQ;Delayus(20);}/* ******* 从DS18B20读入数据******* */uchar ReadOneChar(){uchar i,dat = 0;for(i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;Delayus(4);}return(dat);}/* ******** 向DS18B20写命令******** */void WriteOneChar(uchar dat){uchar i=0;for(i=8;i>0;i--){DQ = 0;DQ = dat&0x01;Delayus(5);DQ = 1;dat>>=1;}}/* ******DS18B20程序读取温度********* */ void ReadTemperature(){Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0x44); //启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等,前两个就是温度Temp_value[0]=ReadOneChar(); //低八位Temp_value[1]=ReadOneChar(); //高八位}//--------显示当前温度值-------void display_temp(){uchar ng=0; //负数标志// 高5位全为1则为负数,为负数时取反加1,并设置负数标志if((Temp_value[1] & 0xf8)==0xf8){Temp_value[1]=~Temp_value[1];Temp_value[0]=~Temp_value[0]+1;if(Temp_value[0]==0x00)Temp_value[1]++;ng=1;}digital[0]=ditab[Temp_value[0] & 0x0f]; //温度小数部分// 获取温度整数部分(高字节中的低3位和低字节中的高4位)Current_T=((Temp_value[0] & 0xf0)>>4)|((Temp_value[1] & 0x07)<<4);digital[3]=Current_T/100; //分解digital[2]=Current_T%100/10;digital[1]=Current_T%10;// LCD显示temp_dis[7]=digital[0]+'0';temp_dis[6]='.';temp_dis[5]=digital[1]+'0';temp_dis[4]=digital[2]+'0';temp_dis[3]=digital[3]+'0';if(digital[3]==0) //高位为0时不显示temp_dis[3]=' ';if(digital[2]==0&&digital[3]==0)temp_dis[4]=' ';if(ng){if(temp_dis[4]==' ')temp_dis[4]='-';else if(temp_dis[3]==' ')temp_dis[3]='-';elsetemp_dis[2]='-';}lcd_print(0x02,table,12);lcd_print(0x41,temp_dis,16); }//------------主程序----------- void main(){lcd_init();ReadTemperature();delay(20);while(1){ReadTemperature();display_temp();delay(20);}}。
基于PROTEUS的时温控制系统仿真设计
0 引言
Po u 是 英 国 L betre cr i rt s e a cn l t nc e e o s公 司 开 发 的
E A工 具软 件 。Po u 不仅 是模 拟 电路 、 字 电路 、 D res t 数
模/ 数混合 电路 的设 计与仿真平 台 , 更是 目前世界系统 的设计 与仿 真
m , 有 温 度 超 标 报 警 的 上 、 限 值 , 干 扰 能 力 8具 下 抗 强 。其封装形式 如图 2所示 。
D 10 S 32也 是 D l 公 司推 出 的涓 流充 电时钟 芯 l s aa 片( 3 , 含 一 个 实 时 时 钟/ 图 )内 日历 和 3 1字 节 静 态
摘要 : 本文详 细介绍 了一种时间和温度控制系统 , 采用 串行总线器 件实现 温度采集 、 间数 据获取 , 时 并利用 L D C 显示时间温度 , 采用 Poes 真软件实现 了仿真过程 。 rt 仿 u 关键词 :R T U ; S 32 D 1 B 0 单片机 ; 真 P O E S D 10 ; S8 2 ; 仿
美 国 D l s公 司 推 出 的单 总线 数 字 温度 传 感 器 aa l
D 1B 0, S 2 电源供 电范围 3 0V~ . 温度测量 范 围 8 . 5 5V;
为 一 5℃ ~ + 2 C; 独特的单总线接 口, 5 15o 具有 仅需要
温度控制电风扇单片机c51系统proteus仿真
摘要电子技术是根据电子学的原理,运用电子元器件设计和制造某种特定功能的电路以解决实际问题的科学,包括信息电子技术和电力电子技术两大分支。
在电气时代的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。
据资料统计,现在有的90%以上的动力源自于电动机,电动机与人们的生活息息相关,密不可分。
随着现代化步伐的迈进,人们对自动化的需求越来越高,使电动机控制向更复杂的控制发展。
近年来由于微型机的快速发展,国外交直流系统数字化已经达到实用阶段由于以微处理器为核心的数字控制系统硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响,且单片机具有功能强、体积小、可靠性好和价格便宜等优点,现已逐渐成为工厂自动化和各控制领域的支柱之一。
其控制软件能够进行逻辑判断和复杂运算,可以实现不同于一般线性调节的最优化、自适应、非线性、智能化等控制规律。
所以微机数字控制系统在各个方而的性能都远远优于模拟控制系统且应用越来越广泛。
现在市场上通用的电机控制器大多采用单片机和DSP。
但是以前单片机的处理能力有限,对采用复杂的反馈控制的系统,由于需要处理的数据量大,实时性和精度要求高,往往不能满足设计要求。
近年来出现了各种单片机,其性能得到了很大提高,价格却比DSP低很多。
其相关的软件和开发工具越来越多,功能也越来越强,但价格却在不断降低。
现在,越来越多的厂家开始采用单片机来提高产品性价比。
科技的日新月异,使得电子技术的广泛应用和快速发展成为了可能。
电子技术在以后的日子,有其广泛的发展前景。
关键词:单片机;电动机;温度传感器;自动控制;C语言目录摘要 (1)1 绪论 (3)2 设计任务 (4)2.1 课程设计的目的及意义 (4)2.2 课程设计任务与要求 (4)3 温度控制直流电机系统原理 (5)3.1 温度控制直流电机系统概述 (5)3.2 AT89C51单片机工作原理 (5)3.2.1 51单片机简介 (5)3.2.2 51单片机功能特性概述 (5)3.3 DS18B20温度传感器 (6)3.3.1 DS18B20温度传感器介绍 (6)3.3.2 DS18B20温度计算 (7)3.4 LCD1602液晶显示屏 (7)3.4.1 LCD1602简介 (7)3.4.2 LCD1602引脚及指令 (8)3.5 L298 (9)3.6 直流电机及蜂鸣器 (10)4 电路设计系统原理图 (11)4.1 温度控制系统原理图设计 (11)5 系统流程图 (12)6 系统源程序设计 (13)6.1 程序设计思路 (13)6.2 C语言程序代码 (13)7 仿真结果分析 (25)7.1温度控制系统仿真结果分析 (25)8 总结报告 (28)参考文献 (30)1绪论本次课程设计要求,要求设计一个自己感兴趣的单片机应用系统。
基于proteus的多点温度计仿真设计
摘要环境温度对工业、农业、商业和人们的日常生活都有很大的影响,而温度的测量也就成为人们生产生活中一项必不可少的工作。
传统的测温仪测量费时,准确度也较低,数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示。
本设计所介绍的多点数字温度计使用AT89C52单片机,测温传感器使用DS1621, LCD1602液晶显示屏实现温度显示。
DS1621数字温度传感器与AT89C52单片机组成的测温系统,具有线路简单、体积小等特点,而且可以挂接多个DS1621,因此可以构成多点温度测控系统。
关键词:单片机;DS1621;多点;数字温度计AbstractThe ambient temperature has a great impact on industry, agriculture, business and people's daily lives, and temperature measurement has become an essential work for people to produce life.Traditional thermometer measuring time-consuming,accuracy is also low,digital thermometer compared with the traditional thermometer,with easy reading,temperature wide range, accurate temperature measurement, the output temperature digital display.Multi-point digital thermometer system described in this design include AT89C52 microcontroller, the DS1621 temperature sensor and LCD1602 liquid crystal display. This system has simple lines, small size and other good characteristics, it can be attached to multiple DS1621.Keywords:Microcontroller; DS1621; multi-point; digital thermometer目录摘要 (I)Abstract (Ⅱ)第1章绪论 (1)1.1 研究背景 (1)1.2 温度计的原理与发展 (1)1.3 电子温度计的概述 (2)1.4 开发软件 (4)1.5 仿真软件 (4)1.6 本论文主要工作 (6)第2章系统总体方案设计 (1)2.1 引言 (1)2.2 系统概述 (1)2.3 硬件电路介绍 (1)2.3.1 单片机 (1)2.3.2 复位电路 (2)2.3.3 时钟振荡电路 (3)2.3.4 按键电路 (4)2.3.5 显示电路 (5)2.3.6 数字温度传感器DS1621 (6)2.3.7 I2C总线 (8)第3章系统软件设计 (11)3.1 主程序 (11)3.2 显示子程序 (14)3.3 温度转换命令子程序 (16)第4章系统调试与仿真 (20)4.1 利用Keil和Proteus进行调试 (20)4.1.1 Proteus原理图绘制 (20)4.1.2 Keil程序编译 (20)4.1.3 Proteus仿真 (21)4.2 仿真结果 (22)第5章总结 (24)参考文献 (25)致谢......................................................... 错误!未定义书签。
基于Proteus的温控报警器设计
基于Proteus的温控报警器设计宋东亚;黄家福【摘要】利用仿Proteus真软件实现了基于AT89C51单片机的温控报警器仿真设计。
详细分析温控报警器的硬件设计原理,并在Keil开发环境下设计了对应的驱动程序,在Proteus中完成了软、硬件的联合仿真调试。
最后给出了仿真运行结果。
通过Proteus软件和Keil软件的联合调试,大大缩短了开发周期,降低开发成本。
该设计的电路及驱动程序对相应的实际应用系统具有一定的借鉴作用。
%The design of temperature control alarm system based on AT89C51 microcontroller was realized with an embedded system simulation software Proteus. A detailed analysis of temperature control alarm hardware design principle, and in the Keil development environment to design the corresponding driver, in the Proteus completed the soft, hardware co simulation debugging, finally gives the simulation results of operation. By using Proteus software and Keil software joint debugging, greatly reducing the development cycle, reduce development cost. The design of the circuit and the driver of the corresponding practical application system has a certain reference【期刊名称】《电子设计工程》【年(卷),期】2012(020)023【总页数】3页(P93-95)【关键词】Proteus;Keil;温控报警器;仿真;程序【作者】宋东亚;黄家福【作者单位】郑州华信学院,河南郑州451150;郑州华信学院,河南郑州451150【正文语种】中文【中图分类】TN02Proteus软件是由英国Lab Center Elec-tronics公司开发的最新版本EDA工具软件,它集电路设计、制版及仿真等多种功能于一身,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台。
基于温度的proteus仿真
系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR 、 Keil 和 MATLAB 等多种编译器。 keilKeil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开 发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势, Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。 编译后生成的汇编代码再生成 hex 文件下载到单片机芯片实现实物与编程的有机结 合。 3.2 设计使用模块简介 (1)控制部分:AT89C51
9
RST
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
3.4 两点间温控设计仿真实现 设计仿真电路如图 12 所示。
C3 X1
30pf
C4
30pf
CRYSTAL
RV2
19
36%
U2
XTAL1 XTAL2
C1
10uf 4.7k
18
U4
26 27 28 1 2 3 4 5 25 24 23 22 12 16 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 ADD A ADD B ADD C ALE VREF(+) VREF(-) ADC0808 CLOCK START EOC OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OE 10 6 ST 7 EOC 21 20 19 18 8 15 14 17 9 D7 D6 D5 D4 D3 D2 D1 D0 OE 10k
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机的温度控制的Protues仿真目录一、设计任务和指标要求....................................................3二、设计框图及整机概述...................................................4三、各单元电路的设计方案及原理说明........................................5四、仿真调试过程及结果分析................................................9五、设计、安装及调试中的体会..............................................9六、对本次课程设计的意见及建议............................................10七、参考资料..............................................................10八、附录..................................................................15 附件1 整机逻辑电路图...................................................15 附件2 元器件清单.......................................................16 附件3 程序清单.......................................................16一、设计任务和指标要求1、设计时间:2010.7.5~2010.7.92、地点:I4043、课程设计题目:水温控制系统设计4、1)设计任务及内容:要求设计一个水温控制系统设计,能正常控制和测量温度范围。
控温通道输出为双向晶闸管或继电器,一组转换点为市电(220V,10A);测温和控温范围:室温~80℃(实时控制);控温精度:正负1℃。
2)设计要求:①选取单元电路及元件;②设计总体电路原理图;③整体电路的联调(完成全电路理论设计、仿真、调试);④撰写设计报告。
二、设计框图及整机概述2.1 原理框图2.1 整个原理图2.2 设计思想通过温度传感器,对被控对象进行温度与数字转换,由温度传感器输出的电压经过IO口,由单片机读出数值,并显示在数码管上,按键可以提高或者降低所需的温度,实际温度再经过与目标温度的比较,若所测温度大于基准温度,则输出低的门限电压,即:D1灯不亮,不执行加热环节。
反之,若所测电压小于基准电压。
则输出高的门限电压,即D1灯亮,执行加热环节。
反之,则执行冷却环节,这样就可以把温度控制在一定的范围内。
三、各单元电路的设计方案及原理说明3.1温度传感器图3-2 Ds18b20图3-3 单片机从温度传感器上读出温度//DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*0.0625;return(t);}3.3 驱动器模块:(1)工作原理:Q50043l是开关晶体控制器件。
当低压电源端开关接通后实现了低压控制高压,。
图3.3 双向晶闸管原理图3)电路原理图图3-3 驱动模块模块3.4 加热模块1)工作原理:加热电阻是很简单的加热器串联电路,加热电路中串联保险丝防止电流过大产生危险2)参数计算:接入220V交流电压,R9=22Ω,(来代替发热丝)保险丝可以通过最大电流为I=10A3.5.显示模块unsigned char codeduan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,};///////////////段码/////////////////////////////////////////////////////////当前温度显示/////////////////////////////////////////wendu—1为实际温度/////////////////////////////////hao为目标温度///////////////P11=1;P0=duan[wendu_1/1000];for(k=0;k<1000;k++);P1=0;P12=1;P0=duan[wendu_1/100%10];for(k=0;k<1000;k++);P1=0;P13=1;P0=duan[wendu_1%100/10];for(k=0;k<1000;k++);P1=0;P14=1;P0=duan[wendu_1%10];for(k=0;k<1000;k++);P1=0;///////////////////////////目标电压显示///////////////P15=1;P2=duan[hao/1000];for(k=0;k<1000;k++);P1=0;P16=1;P2=duan[hao/100%10];for(k=0;k<1000;k++);P1=0;P17=1;P2=duan[hao%100/10];for(k=0;k<1000;k++);P1=0;P32=1;P2=duan[hao%10];for(k=0;k<1000;k++);P32=0;}四、仿真调试过程及结果分析1.仿真调试过程在原理图设计完后,利用protues软件绘制了原理图。
在原理图绘制完后,即进行了仿真调试。
调试过程中,开始数码管灯不亮,以为是电路出现问题,花了2个小时也没有解决问题,我于是上网查数码管的资料,结果发现,仿真中用的数码管是共阳极的,而不是平时用的共阴极的,也就是程序中的断码出现了问题。
2.结果分析能够从温度传感器中获得温度数据,并且能通过按键纠正目标温度,程序能正常执行,电阻丝也能按目标温度的高低调整自身的工作状态。
效果还行,不过其一精度不高,只能到一度,其二程序执行得慢,不过由于时间太仓促,这些问题可以解决。
五.设计、安装及调试中的体会此次课程设计考查了我们的设计电路的能力和动手能力。
从中我学到了很多东西。
设计上的电路在实际中运用可能不是像仿真那样理想,由于购买元件的误差及元件的大小在实际中比没有很好的匹配,所以按照设计的电路焊出来的实物在调试过程中遇到了一些问题,但我都一步一步地解决了。
由于是第一次课程设计,所以花的时间很多。
通过这次课程设计,我学会了如何使用仿真软件Protel和protues,进一步巩固了电路的焊接能力。
最重要的是通过这次课程设计我深深体会到能把所学的知识运用到实践中才是真正掌握。
这次的课程设计时间有些仓促,我们刚学完模电的相关知识就运用到电路中,刚开始觉得很难,相关的知识掌握得不到位,但随着设计的深入,发现所学的知识在我设计的电路中得到了很好的运用,在课程设计的同时,巩固和掌握了现学的知识,这才是设计的目的。
特别是在电路调试成功的那一刻,出现了我所预料的现象,着实让我高兴了一番,自己所设计的东西没有白费,并且从中获得了知识,是一件很开心的事。
这只是一次简单的课程设计,只是一个开始,设计的东西在实际中的运用还尚欠缺,但从中我学到了遇到困难要解决,不能浮躁,要静心,耐心,细心的做事,坚持下去,总能看到成功的曙光的。
六、对本次课程设计的意见及建议这次课程设计就更加难忘,可以让同学们更加充分的发挥自己想象力和创造力,同时也可以让我们从中得到的知识面更加广阔,但是我们还是积极的查阅资料,努力用自己所学到的知识来完成设计。
并且从中体会到了一种成就感和使命感。
建议:课程时间安排还应该改进。
下午上课应该迟一些,保证同学们的良好睡眠和精神状态。
七、参考资料1.任囯燕主编模拟电子技术实验指导书重庆科技学院2008年11月2.康华光主编电子技术基础-模拟部分(第五版)高等教育出版社2006年12月3.王振红电子技术综合实验及综合设计机械工业出版社2007年3月4.赵淑范电子技术实验与课程设计清华大学出版社2006年8月5。
张宝会电力系统继电保护中国电力出版社2005年5月八附录附录一原理图名称标号大小电容C1 15P电容C2 15p电容C3 1u电容C4 1uLed D1电阻R1 1k电阻R2 1k电阻R3 20k电阻R4 1k晶振X1 11.0592M51单片机U1温度传感器(ds18b20)U2光电耦合器U3按键Button数码管(74eg-mp4-ca)电阻丝R 20附录二元件表附录三程序代码#include<reg51.h>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口/////////#define THCO 0xee#define THLO 0x00unsigned char codeduan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时大于480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后如果x=0则初始化成功x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*0.0625;return(t);}{/////////////////当前温度显示///////////////////////////// P11=1;P0=duan[wendu_1/1000];for(k=0;k<1000;k++);P1=0;P12=1;P0=duan[wendu_1/100%10];for(k=0;k<1000;k++);P1=0;P13=1;P0=duan[wendu_1%100/10];for(k=0;k<1000;k++);P1=0;P14=1;P0=duan[wendu_1%10];for(k=0;k<1000;k++);P1=0;///////////////////////////目标电压显示/////////////// P15=1;P2=duan[hao/1000];for(k=0;k<1000;k++);P1=0;P16=1;P2=duan[hao/100%10];for(k=0;k<1000;k++);P1=0;P17=1;P2=duan[hao%100/10];for(k=0;k<1000;k++);P1=0;P32=1;P2=duan[hao%10];for(k=0;k<1000;k++);P32=0;}main(void){P11=0;P12=0;P13=0;P14=0;P15=0;P16=0;P32=0;P35=0;///////////////////////////////////////////////////////////while(1){wendu_1=ReadTemperature()/16;//读温度xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;}if(up==0){hao++;}///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时led灯工作///////////////////////////////////// P35=0;pwm=hao-wendu_1;if(pwm>0) {P35=1;}if(pwm<0) {P35=0;}if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}#单片机资料。