当前位置:文档之家› 基于51的控制的ADC0809仿真

基于51的控制的ADC0809仿真

基于51的控制的ADC0809仿真
基于51的控制的ADC0809仿真

摘要

现今大多数的数据都是以电压形式进行采集,并数字化然后进行处理,如何进行多路的电压采集并数字化就显的有实际意义。

以8052单片机作为控制器,用8255进行并行口扩展,实现对ADC0809和LCD1602进行控制,从而实现多路电压的采集和显示。将8路开关组成选择电路,来选择用以采集和显示的通道。该设计能简单快速的实现8路电压的低精度的采集和显示。具有很好的操作性。

proteus作为一款优秀的数字仿真软件,不但可以传统的数字仿真,还可以数模混合仿真,从而能在验证好设计在进行系统搭建,减少开发时间。

关键词51;单片机;8255;电压采集;ADC0809 ;LCD1602

绪论

随着信息技术的普及,越来越来越多的信号都是以数字的形式进行采集和处理。因为数字相对模拟信号具有很多优点。数字信号具有保密性好,抗干扰能力强的有点,同时由于数字信号处理技术的发展,数字信号的处理变得更加快速和高效。而由于现实世界由传感器采集到的数据多为模拟的电压信号,因此,模拟的数字化转换就很有意义。

51单片机作为最成功的8位单片机,具有指令丰富,速度快,价格低,片上资源丰富等特点,能轻易胜任一般的数据采集的控制器。ADC0809是一款具有8个模拟输入通到的8位逐次逼近型AD转换器,可以满足多路数据的低精度采集。LCD1602是16*2的字符型工业液晶。可以轻易满足显示要求的不高的场所。由于LCD1602加上ADC0809和8路开关,所需要的I/O明显多于51单片机所能提供的数量。所以采用了8255并行扩展芯片对I/O口扩展,以达到需要。

由于现今数字IC设计的复杂性,如果没在进行设计验证下时进行系统搭建,会在后期调试上的浪费时间。Proteus能对大部分数字电路或则数模混合电路进行仿真。从而减少后期调试的时间

硬件实现

该设计所需要的主要器件有8051单片机,8055并行扩展芯片,ADC0809,

LCD1602,开关。设计总体如图。

左边第一个U1为8051,由于软件允许,省去了复位,时钟,电源电路。U1上方八个按键开关接地,构成低电平有效选择电路,并与U4—8输入与门构成中断电路,接外部中断0。当任意按键按下,产生一次中断。U2为8255,由于8255数据口为集电极开路,需要RP1排阻构成上拉电阻。LCD1602与ADC0809接到8255的IO。ADC的EOC反相后接8051的外部中断1。

软件实现

1服务程序

仿真结果

对八个通道分别设置为0.5 , 1.0 , 1.5 , 2.0 , 2.5 , 3.0 , 3.5 , 4.0,信号设置如图

运行程序,系统上电复位,提示选择通道

选择通道7

选择通道6

选择通道5

选择通道4

选择通道3

选择通道2

选择通道1

选择通道0

结论该设计成功实现了8路电压的采集和显示

附录

C语言源程序

//----------------------------

#include

#include

#include

#include

//----------------------------

#define PortA XBYTE [0x8000]

#define PortB XBYTE [0xa000]

#define PortC XBYTE [0xc000]

#define Contral XBYTE [0xd000]

//----------------------------

#define RS 0x01

#define RW 0x02

#define EN 0x04

#define ALE 0x10

#define OE 0x08

typedef unsigned char uchar;

typedef unsigned int uint;

//----------------------------

void Initial8052();

void WriteCommand_LCD(uchar command);

void WriteData_LCD(uchar dat);

void InitialLCD();

void DisplayChar_LCD(uchar x,uchar y,uchar chara) reentrant; void Delay(uint cnt);

void DisplayString_LCD(uchar row,uchar *p) reentrant;

void InitialInt();

void StratADC();

void SetCh(uchar ch);

//------------------------------

void main()

{

P1=0xff;

Initial8052();

InitialLCD();

InitialInt();

DisplayString_LCD(1,"Please select Ch");

EA=1;

while(1);

}

void Initial8052()

{

Contral=0x82; //port a is output,port b is input,port c is output }

//-----------------------------------------------------------------

//LCD

//-----------------------------------------------------------------

void WriteCommand_LCD(uchar command)

{

PortC=PortC | EN;

PortC=PortC & ~RW;

PortC=PortC & ~RS;

PortA=command ;

PortC=PortC & ~EN;

Delay(50);

}

void WriteData_LCD(uchar dat)

{

PortC=PortC | EN;

PortC=PortC & ~RW;

PortC=PortC | RS;

PortA=dat;

PortC=PortC & ~EN;

Delay(50);

}

void InitialLCD()

{

WriteCommand_LCD(0x38);

WriteCommand_LCD(0x0c);

WriteCommand_LCD(0x06);

WriteCommand_LCD(0x01);

}

void DisplayChar_LCD(uchar x,uchar y,uchar chara) reentrant

{

uchar address;

if (y==1)

address=0x80+x;

if (y==2)

address=0xc0+x; //DDRAMμ??·DT?y WriteCommand_LCD(address); //D′μ??·

WriteData_LCD(chara);

}

void DisplayString_LCD(uchar row,uchar *p) reentrant//×?·?′???ê?3ìDò£?row?aDD????£?p?a×?·?????

{

data uchar str[16];

data uchar i=0;

strcpy(str,p); //str?′??

if (row==1)

{

for(i=0;str[i]!='\0';i++) //??ê?μúò?DD

DisplayChar_LCD(i,1,str[i]); //?óê±μè′yD′íê3é }

if (row==2)

{

for(i=0;str[i]!='\0';i++) //??ê?μú?tDD

DisplayChar_LCD(i,2,str[i]);

}

}

void Delay(uint n)

{

uint i;

uchar j;

for(i=n;i>0;i--)

for(j=0;j<10;j++);

}

//-------------------------------------------------------------------------

void StartADC()

{

PortC=PortC | ALE; //ale,start=1;

PortC=PortC & ~ALE; //ale,start=0;

}

void SetCh(uchar ch)

{

ch<<=5;

PortC=(PortC & 0x1f) | ch;

}

//--------------------------------------------------------------------------

//Interrupt

//--------------------------------------------------------------------------

void InitialInt()

{

IT0=0;

EX0=1;

IT1=1;

EX1=1;

PX1=1;

PX0=0;

}

void ISR_IT0() interrupt 0

{

float voltage;

data uchar str[16];

EA=0;

PortC=PortC | OE; //enable output of adc

voltage=PortB*0.0196;

sprintf(str,"%f V",voltage);

DisplayString_LCD(2,str);

PortC=PortC & ~OE; //OE=0

StartADC();

EA=1;

}

void ISR_IT1() interrupt 2

{

EA=0;

switch (P1)

{

case 0x7f:DisplayString_LCD(1,"Voltage of ch.7 ");SetCh(7);break;

case 0xbf:DisplayString_LCD(1,"Voltage of ch.6 ");SetCh(6);break;

case 0xdf:DisplayString_LCD(1,"Voltage of ch.5 ");SetCh(5);break;

case 0xef:DisplayString_LCD(1,"Voltage of ch.4 ");SetCh(4);break;

case 0xf7:DisplayString_LCD(1,"Voltage of ch.3 ");SetCh(3);break;

case 0xfb:DisplayString_LCD(1,"Voltage of ch.2 ");SetCh(2);break;

case 0xfd:DisplayString_LCD(1,"Voltage of ch.1 ");SetCh(1);break;

case 0xfe:DisplayString_LCD(1,"Voltage of ch.0 ");SetCh(0);break;

default : ;break; }

EA=1;

基于单片机的智能电饭煲的控制毕业设计

华北水利水电学院 North China Institute of Water Conservancy and Hydroelectric Power 毕业设计 题目:基于单片机的电饭煲智能控制系统的设计

华北水利水电学院 毕业设计任务书 题目:基于单片机的电饭煲智能控制系统的设计 专业:电子信息工程 班级学号:200915512 姓名: 李玉平 指导教师:郑辉 设计期限:2011 年2 月21日开始 2011年5 月27日结束 院、系:信息工程学院 2011年2月21 日

一、毕业设计的目的 通过本次设计掌握产品设计的流程,能熟练的使用AT89C51单片机,并根据设计要求选择合适的元器件,充分理解相关软件,对整个产品设计时的调试等必要的环节有更深刻的体会。 本设计通过选认元件、连线焊接、调试检测等过程,培养了搜集资料和调查研究的能力,方案论证选择的能力,理论分析与设计运算的能力,巩固了计算机软硬件和应用系统设计方面的能力。 二、主要设计内容及基本要求 1.本设计包含以下部分:按键电路、上电复位电路、晶振电路、电源电路、显示电路、MCU系统部分、机械控制电路等部分。 2.基本要求: (1)要求定时工作时间和实时时间对比达到长时间精确地定时功能。 (2)要求定时时间和实时时间相同时通过51单片机控制光耦驱动电路来控制电饭煲的工作。 三、重点研究问题 1.单片机的内部结构,显示电路的调试。 2.部分功能电路的软件设计:键盘显示电路、报警电路、工作指示电路。 四、主要技术指标或主要设计参数 根据模块电路,设计出完整的电路原理图,焊接出实物,并对产品进行调试。电源部分为单片机系统提供的电压为5V,为光耦提供的电压为12V。 五、设计成果 拟做出一个基于AT89C51单片机对电饭煲的智能控制系统的设计,设计出整体原理图,并做出实物,同时做出一份符合要求的毕业论文。

脉冲控制器

科信学院 课程设计说明书(2012 /2013学年第二学期) 课程名称:《单片机应用》课程设计 题目:脉冲控制器 专业班级:电气2班 学生姓名:赵永章 学号:100062223 指导教师:段广玉王静爽韩昱 设计周数:两周 设计成绩: 2013年07月11日

目录 1. 课程设计目的................................................................................................32. 课程设计内容及设计过程说明...........................................................................32.1功能介绍................................................................................................32.2.1电路原理..........................................................................................32.2.2protel原理图....................................................................................42.2.3各功能模块电路设计...........................................................................52.2.3.1LED和蜂鸣器模块.....................................................................52.2.3.2硬件复位模块和晶振模块............................................................52.2.3.3段码输出和共阴极数码管模块......................................................62.2.4 PCB图.............................................................................................72.2.5 共阴极数码管显示码对照表..................................................................72.3元件清单................................................................................................82.4实际电路板成品图....................................................................................92.5程序流程图 (10) 2.6汇编程序 (11) 2.6.1程序源代码 (11) 2.6.2代码分析 (13) 3. 课程设计结论 (13) 4. 参考文献 (14) 1、课程设计目的

详细的舵机控制原理资料

目录 一.舵机PWM信号介绍 (1) 1.PWM信号的定义 (1) 2.PWM信号控制精度制定 (2) 二.单舵机拖动及调速算法 (3) 1.舵机为随动机构 (3) (1)HG14-M舵机的位置控制方法 (3) (2)HG14-M舵机的运动协议 (4) 2.目标规划系统的特征 (5) (1)舵机的追随特性 (5) (2)舵机ω值测定 (6) (3)舵机ω值计算 (6) (4)采用双摆试验验证 (6) 3.DA V的定义 (7) 4.DIV的定义 (7) 5.单舵机调速算法 (8) (1)舵机转动时的极限下降沿PWM脉宽 (8) 三.8舵机联动单周期PWM指令算法 (10) 1.控制要求 (10) 2.注意事项 (10) 3.8路PWM信号发生算法解析 (11) 4.N排序子程序RAM的制定 (12) 5.N差子程序解析 (13) 6.关于扫尾问题 (14) (1)提出扫尾的概念 (14) (2)扫尾值的计算 (14)

一.舵机PWM 信号介绍 1.PWM 信号的定义 PWM 信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度。具体的时间宽窄协议参考下列讲述。我们目前使用的舵机主要依赖于模型行业的标准协议,随着机器人行业的渐渐独立,有些厂商已经推出全新的舵机协议,这些舵机只能应用于机器人行业,已经不能够应用于传统的模型上面了。 目前,北京汉库的HG14-M 舵机可能是这个过渡时期的产物,它采用传统的PWM 协议,优缺点一目了然。优点是已经产业化,成本低,旋转角度大(目前所生产的都可达到185度);缺点是控制比较复杂,毕竟采用PWM 格式。 但是它是一款数字型的舵机,其对PWM 信号的要求较低: (1) 不用随时接收指令,减少CPU 的疲劳程度; (2) 可以位置自锁、位置跟踪,这方面超越了普通的步进电机; 其PWM 格式注意的几个要点: (1 ) 上升沿最少为0.5mS ,为0.5mS---2.5mS 之间; (2) HG14-M 数字舵机下降沿时间没要求,目前采用0.5Ms 就行;也就是说PWM 波形 可以是一个周期1mS 的标准方波; (3) HG0680为塑料齿轮模拟舵机,其要求连续供给PWM 信号;它也可以输入一个周 期为1mS 的标准方波,这时表现出来的跟随性能很好、很紧密。

基于单片机的电饭煲设计

控制系统综合实训报告 学院计算机与控制工程学院 专业班级自动化115 学生姓名马洪星 指导教师朱玲 成绩

单片机在智能电饭煲控制系统中的应 用 摘要 随着新科技时代的到来,越来越多的新型智能化家电融入了我们的生活。而电饭煲作为与人们生活息息相关的家电,其功能也向着智能化的方向发展。本文基于单片微处理器PICl6F872研制成功了YZ系列微电脑电饭煲智能控制器,阐述了工作原理,并给出了硬件电路。精度高、稳定性高、易操作是本系统的重要特性,中断嵌套是设计软件的难点,温度控制是本系统的重点。 关键词 PIC单片机智能电饭煲硬件分析 YZ系列微机电脑电饭煲系统,是应用美国著名芯片Microchip公司合作开发的新一代模糊、逻辑控制智能电饭煲。采用日本National模糊控制技术原理,能自动根据米饭量的多少。利用“煮饭专家”的工艺技术,对吸水、加热、沸腾、焖饭、膨胀、保温等六个阶段的工艺自动进行火力调节,从而煮出比一般电脑电饭煲更加松软可口的米饭同时拥有快速煮饭、精确煮饭、一小时粥汤、二小时粥汤、三小时粥汤保温以及预约定时煮饭等功能。本系统硬件结构简单,运行稳定可靠,软硬兼备,具有完善的控制功能和抗干扰能力。 一、工作电气图

图1工作电气图 二、工作原理 YZ系列微机电脑电饭煲控制器电路包括如下几个部分:单片机,电源及稳压电路,键盘输入电路,蜂鸣报警电路,LED显示电路,温度检测电路及加热控制电路。其中单片机控制采用PICl6F872封装,它能满足电饭煲的控制需要。电源及稳压电路由高压器、整流电路和稳压电路组成;键盘输入电路由K1、R13、K2、R14组成;即在A/D输入端键入键盘信号,蜂鸣报警电路由晶体管Q2、SP1及电阻R12组成;LED显示电路由两部分组成。一部分是7段数码管用于显示预置定时时问,另一部分是6个LED指示灯,用于显示煮饭、快煮、l小时粥汤、2小时粥汤、3小时粥汤及保温。温度检测电路十分简单,由偏置电阻R10、R1l 和热敏电阻RT1、KT2组成。控制器电路如图2所示 图2控制器电路框图

基于单片机的温度控制器设计

技术参数和设计任务:1、利用单片机AT89S51实现对温度物理量的控制,以实现对温度控制的目的;2、为达到电源输出5V电压目标,完成电源电路的设计;3、为达到数码管显示目标,完成显示电路的设计;4、为达到键盘控制的目标,完成键盘电路的设计;5、为达到检测温度的目标,完成检测电路的设计;6、完成报警设计;7、进行软件设计[分配系统资源,编写系统初始化和主程序模块;编写数字调节器软件模块;编写A/D转换器处理程序模块;编写输出控制程序模块;其它程序模块(数字滤波、显示与键盘等处理程)等等。一、本课程设计系统概述1、系统原理温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机 AT89S51 获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备 (压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) 。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。系统中将通过串口通讯连接PC机存储温度变化时的历史数据,以便观察整个温度的控制过程及监控温度的变化全过程。2、系统结构图本设计以AT89S51单片机为主控核心设计的一个温度控制系统,低温时可控制加热设备,高温时控制风扇,超出设定最高温度值时蜂鸣器发出声响报警。 图1 总体硬件方框图 3、文字说明控制方案(1)温度测量部分方案 DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

电饭煲课程设计+程序

课程设计任务书 专业年级班 一、设计题目 电饭煲控制器 二、主要内容 电饭煲控制器有预约功能,有烹饪大米饭、粥、保温、冷饭加热等功能 三、具体要求 1.具体功能 大米饭:当达到105°时,停止加热,并在15分钟后通过蜂鸣器提示用户。 粥:开始加热后,通过测温元件监视锅底温度,使锅底温度保持在99°~100.5°之间(100°时停止加热、99°时开始加热),此种状态持续20分钟,之后通过蜂鸣器提示用户过程结束。

保温:使锅底温度维持在50°~60°之间。 冷饭加热:锅底加热至100°,使锅底温度保持在99°~100.5°之间(100°时停止加热、99°时开始加热),此种状态持续5分钟,之后通过蜂鸣器提示用户过程结束。 2.定时 用户可以是电饭煲在预约时间(倒计时方式)开始工作,最长预约时长为12小时。 3.控制面板 四个发光管分别与大米饭、粥、保温、冷饭加热相对应,另一发光管用于区分工作与预约,两位数码管用于预约时间及倒计时。按键有:开始键、功能键、加键、减键。 四、进度安排 1、了解任务要求,确定具体方案 2、lcd12864液晶屏子程序设计 3、DS18B20温度传子程序感器设计 4、设计单片机按键功能程序 5、根据任务要求编写程序,设计按键电路

6、检验设计效果,完善功能 五、完成后应上交的材料 电饭煲控制器论文 六、总评成绩 指导教师签名日期年月日 系主任审核日期年月日

摘要 电饭煲控制器有预约功能,有烹饪大米饭、粥、保温、冷饭加热等功能.。基于stc89c52单片机控制的电饭煲控制器,有lcd液晶屏显示和ds18b20温度检测功能,还有定时工作选择功能。 关键字:电饭煲温度控制 DS18B20 LCD12864 键盘按键

单片机课程设计外部脉冲计数器

目录 摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。本课程设计的指导思想是控制单片机实现从0到99的计数功能,其结果显示在两位一体的共阳极数码管上。 关键词:脉冲计数器数码管单片机 本设计基于单片机技术原理,以单片机芯片STC89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:输出脉冲,按下键就开始计数,并将数值显示在两位一体的共阳极数码管上。 1课题原理 PCB板上设置开始计数按键和清零按键,以上按键与89C52单片机的P1口连接,通过查询按键是否被按下来判断进行计数或者清零。若按下计数健,则单片机控制两位一体的共阳极数码管显示从00开始的数字,按下一次,则数字加一,一次类推;若按下清零键,则程序返回程序开始处,并且数码管显示00。

2 硬件及软件设计 2.1 硬件系统 2.1.1 硬件系统设计 此设计是在单片机最小系统的基础上进行开发和拓展,增加了按键电路和和数码管显示电路,由于单片机输出电流不足以驱动数码管发光,所以数码管需要驱动电路。我们采用了三极管对数码管电流进行放大,使电流大小达到要求值。 2.1.2 单元电路设计 基本框架如下图2.1 2.1基本框架

1.STC89C52芯片 STC89C52RC芯片包括: 8k字节 Flash,512字节RAM, 32位I/O口 线,看门狗定时器,两个数据指针, 三个16位定时器/计数器,一个6向 量2级中断结构,全双工串行口,片 内晶振及时钟电路。STC89C52RC芯片 可降至0Hz静态逻辑操作,时钟频率 0-80MHz,支持2种软件可选择节电 模式。空闲模式下,CPU停止工作, 允许RAM、定时器/计数器、串口、中 断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片 机一切工作停止,直到下一个中断或 硬件复位为止。8位微控制器8K字节 在系统可编程。芯片如图2.4所示。 图2.4 STC89C52芯片 2.按键电路 K1键为启动键,K2键为清零键,K3键为计数键,通过按钮的连接,实现开始、计数清零功能,连接电路如图2.5所示。 图2.5 按键电路

舵机控制程序

在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,

获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制信号是PWM信号,利用占

空比的变化改变舵机的位置。一般舵机的控制要求如图1所示。 图1 舵机的控制要求 单片机实现舵机转角控制可以使用FPGA、模拟电路、单片机来产生舵机的控制信号,但FPGA成本高且电路复杂。对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放 器件的选择有较高要求,从电路体积和功耗考虑也不易采用。5mV 以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波

电路的精度难以达到舵机的控制精度要求。 也可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。 单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。 具体的设计过程: 例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为 20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在

单片机模糊控制在电饭煲中得应用

单片机模糊控制在电饭煲中的应用 摘要:介绍用新型HT46R47型单片机和模糊控制技术实现的电饭煲。他具有电路简单、成本低廉、节省能源、安全可靠等特点。<--摘 关键词:单片机;模糊逻辑;电路设计;抗干扰;温度采样;电饭煲 目前,市场上的电饭煲大部分采用固定功率的方式加热,能源利用率低、功能单一,难以满足人们的日益增长的生活需求。开发功能齐全、成本低廉、节省能源、安全可靠的微电脑电饭煲,是非常有必要的。 1 电饭煲的工作原理及硬件组成 系统选用以低成本、功耗小、性能良好的8位A/D型HT46R47单片机为控制核心的控制电路。引脚如图1所示。 他的主要特性如下: ·工作电压:f SYS=4 MHz:2.2~5.5 V; ·13位双向输入/输出口; ·8位带溢出中断的可编程定时/计数器,具有7级预分频器; ·石英晶体或RC振荡器; ·看门狗定时器; ·2 048×14位的程序存储器PROM; ·64×8位的数据存储器RAM; ·在V DD=5 V且系统时钟为8 MHz时,指令时钟为0.5μs; ·四通道9位的A/D转换器; ·指令执行时间皆为1或2个指令周期低电压复位功能。 1.1 工作原理 电饭煲的工作原理如图2所示。通电后,系统进入待机状态,此时系统可接收用户的功能选择,用户所选功能通过显示电路显示出来,当用户按下确定键时,MCU开始对温度进行监测,对

各种功能进行相应的加热控制,直至功能结束时,发出声音报警提示。 1.2 硬件电路设计 (1)MCU MCU是电饭煲的核心部分,完成数据采集、输入、处理、输出、显示等功能。 (2)测温元件数的热敏电阻。由于热敏电阻值的变化与温度的变化是非线性关系,为了提高温度的测量分辨率和系统的抗干扰性能,设计电路如图3所示。 图3中,R t是负温度系数的热敏电阻;与R1并联后的阻值与温度的变化接近线性关系,提高分辨率;R2起分压作用;O点为测量点:当温度变化时,R t阻值发生变化,O点的电压也跟随变化,测量O点则可测量出温度的变化;C1是防止干扰引起O点的电压突变。 (3)加热执行电路 MCU通过PB1输出方波控制信号,通过电容偶合、整流后送到三极管的B极,放大后驱动继电器工作。这样有方波输出时,继电器接通发热盘电源,没有方波输出时,则断开发热盘电源。

基于单片机的风扇控制器设计

基于单片机的风扇控制器设计 序言 自然风是指自然界里的天然阵风,风量时大时小,给人以舒适感觉。在生活中,我们可以感受自然风给我们带来的清爽,也可以享受空调带来的阵阵凉意。 风扇虽然在一定程度上给人们的生活带来了便捷,而电风扇的风量则不同,它是固定不变的,虽然配以摇头装置,仍不能达到自然风的效果。长时间吹固定不变的风量,不但会感到不舒服,而且对人的健康也不利,随着变频空调的发明,我们设想能否设计一种风扇,其工作效果可以象变频空调一样,象自然风一样,来解决经济条件还没有能接受空调或在一些不适合使用空调的地方的人们生活矛盾。 解决的方法是给电风扇安装一个摸拟自然风控制器,有了它可使电风扇发出变化的风量,好像自然界里的天然阵风,这种模拟自然风对老人和小孩尤为适宜,同时设计的风扇具备多档定时功能,也使其适合夜间睡眠使用。 该设计控制器期望能达到长期可靠运行,风扇速度可调节并不少于8档,能实现定时关机。风扇能模拟自然风,其转速能由快到慢,再由慢到快反复循环。 在本次设计,制作,调试过程中得到了李月红老师的大力支持,指导和帮助。特此表示感谢! ××××× 2007.5.28

第1章智能化风扇控制器硬件设计 1.1智能化风扇控制器系统设计方案及简介 方案一:采用数字电路控制。其原理方框图如图1-1所示。采用数字集成电路通过对脉冲振荡器的调节和脉冲计数实现定时关机。电路可由可控式振荡器、脉冲计数与分频器、脉冲译码与分配器与晶闸管触发电路。但是不能随意控制档速,而且硬件的连接有些复杂。不够实用。 图1-1数字电路控制方案 方案二:采用单片机控制。利用单片机丰富的I/O端口,及其控制的灵活性,采用数模转换实现基本的调速功能、还有时钟显示功能。其原理如图1-2所示。 通过比较以上两种方案,单片机有较大的活动空间,既能实现所要求的功能,又能在很大的程度上扩展功能,而且可以方便的对系统进行升级,所以我们采用后一种方案[1]。

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

电饭煲设计说明书

摘要 电饭煲,又称作电锅、电饭锅,是大家耳熟能详的家用电器,使用方便,清洁卫生,还具有对食品进行蒸、煮、炖等多种操作功能。常见的电饭锅分为保温自动式、定时保温式以及新型的微电脑控制式三类。普通电饭煲主要由发热盘、限热器、保温开关、杠杆开关、限流电阻、指示灯、插座等组成。 本次课程设计,任务是设计一个微机控制电饭煲的系统智能电饭煲主要由电源部分和控制电路组成,电源部分为220V交流电经过变压器和整流桥后变为一定幅值的直流电,再经过稳压芯片LM7805,输出为+5V的直流电,作为单片机控制部分的电源,控制部分的控制方法大致为:用户按下启动键之后,系统设置一定的加热时间,本系统的加热时间是10分钟,当加热时间到达10分钟或当电热盘温度达到预定的警报限制的要求后,由蜂鸣器和二极管组成的报警系统开始报警,一段时间后,如果没有人员切断电流,系统自动将继电器的开关打开,以切断电热盘的电源,关键词:单片机电饭煲定时报警

目录 第一章概述 (3) 1.1 设计任务 (3) 1.2 设计思路 (3) 第二章硬件部分介绍 (5) 2.1 单片机介绍 (5) 2.2 电源电路 (6) 2.3 液晶显示电路 (7) 2.4 温度检测部分 (10) 2.5 光电隔离电路 (12) 2.6 继电器控制电路 (13) 2.7 其他硬件部分介绍 (15) 第三章程序设计 (17) 3.1 LCD显示定时时间程序简介 (17) 3.2 DS18B20程序 (20) 3.3其他程序 (23) 总结 参考文献

第一章概述 1.1 设计任务 微机控制电饭煲系统的设计任务如下: 1.人工操作启动,键盘应设置加热,停止,时间+,时间-选择等 2.加热10分钟,可以用液晶显示屏来显示加热时间。 3.加热完成后报警,通过温度传感器或定时器判断加热是否完成,如果完成,单片机发出信号,控制蜂鸣器响。 4.自动或人工切断电流,一旦加热完成,除了报警之外,还应该在一定时间之后切断加热电流,确保电饭煲设备以及其他事物的安全,避免因为电流引起火灾。 1.2 设计思路 智能电饭煲主要由电源部分和控制电路组成,电源部分由220V交流电经变压器再通过整流桥变为直流电,作为稳压芯片7805的输入,7805的输出为5V的直流电,为单片机系统提供电源,控制部分的控制方法大致为:用户按下启动键之后,系统自动设定加热时间,本系统的加热时间是10分钟,当加热时间到达10分钟或当电热盘温度达到预定的警报限制的要求后,继电器的开关打开,以切断电热盘的电源,同时单片机系统中的蜂鸣器响来达到报警的功能,当下降到一定的温度范围后通电加热,闭合继电器。以使电热盘始终保持在适合的温度范围内。除此之外,对任务书中做出一点改进,即用户可以根据需要自己加时间或者减时间,每按一次改变时间按键,时间减少或增加1分

PWM控制舵机 C程序

#include "reg52.h" sbit control_signal=P0^0; sbit turn_left=P3^0; sbit turn_right=P3^1; unsigned char PWM_ON=15 ;//定义高电平时间 /******************************************************************/ /* 延时函数 */ /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } void display() { if(PWM_ON>=5&&PWM_ON<=7) P1=0xFD; //1灯亮,舵机接近或到达右转极限位置if(PWM_ON>7&&PWM_ON<=10) P1=0xFB; //2灯亮 if(PWM_ON>10&&PWM_ON<=13) P1=0xF7; //3灯亮 if(PWM_ON>13&&PWM_ON<=16) P1=0xEF; //4灯亮,舵机到达中间位置 if(PWM_ON>16&&PWM_ON<=19) P1=0xDF; //5灯亮 if(PWM_ON>19&&PWM_ON<=22) P1=0xBF; //6灯亮 if(PWM_ON>22&&PWM_ON<=25) P1=0x7F; //7灯亮,舵机接近或到达左转极限位置} /******************************************************************/ /* 主函数 */ /******************************************************************/ void main() { //bit Flag; TMOD |=0x01; //定时器设置 0.1ms in 11.0592M crystal TH0=(65536-78)/256; TL0=(65536-78)%256; //定时0.1mS ET0=1;//定时器中断打开 EA=1;//总中断 //IE= 0x82; //打开中断 TR0=1; // PWM_ON=15 //的取值范围是6-25 while(1) { if(turn_left==0) { delay(1000); if(turn_left==0) { while(!turn_left){}

基于51单片机的交通灯控制系统设计

目录 一引言 (2) 二概要设计 (2) 2.1 设计思路 (2) 2.2总体设计框图 (2) 三硬件设计 (3) 3.1LED循环电路设计 (3) 3.1.1 89cs51单片机概述 (3) 3.1.2 LED循环说明 (5) 3.2 倒计时显示电路 (5) 3.2.1 74LS164芯片 (5) 3.2.2 共阴极数码显示管 (6) 3.2.3 倒计时电路 (6) 3.2.4 急通车电路 (7) 四软件按设计 (7) 4.1 程序流程图: (7) 4.2 LED红绿灯显示 (8) 4.3倒计时显示 (9) 4.4 急通车控制 (9) 4.5程序代码 (9) 五总结 (9) 参考文献 (9) 附录一: (9) 附录二: (10)

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。 2.2总体设计框图 见图一:

基于单片机的家电远程控制系统设计

目录 第一章绪论 (1) 第二章远程控制的内容 (1) 2.1 智能家用电器主要的特点 (1) 2.2 智能家电具备的基本功能 (2) 第三章系统设计的原理 (2) 3.1 总体设计原理 (2) 3.2 硬件模块分析 (4) 3.3 软件模块分析 (5) 第四章系统软件设计分析 (5) 4.1 软件设计原理 (5) 4.2 系统程序设计流程图 (6) 第五章系统的应用 (7) 5.1 系统的应用前景 (7) 5.2 系统的使用说明 (8) 第六章小结 (9) 后记 (10) 参考文献 (11) 附录电路总体设计图 (12)

基于单片机的家电远程控制系统设计 第一章绪论 随着新型科技电子产品日益发达和人们生活水平的不断提高,受到潜移默化的影响,人们对生活质量以及家居环境的要求也在与日俱增,人们开始追求家庭生活现代换,舒适化,以及安全性等问题,特别是家电的选择和使用上,智能家居的出现正好满足了人们的需求。随着电话通信网络的出现,利用电话实现远程控制已经在智能小区的管理中得到了广泛的应用,而移动通信技术的发展刚好为家电的远程控制奠定了基础。 本文介绍了一种电话远程控制技术。本系统采用单片机控制家用电器的远程控制、远程电话,用户可以通过手机、电话到家用电器(如太阳能、冰箱)远程控制其工作状态,以满足用户需求为各种各样的家用电器,不仅如此,用户也可以根据你的需求和基于住宅需求不同的家用电器控制,达到了用户自己的家庭住宅最好的国家规定。 本次作品所使用到元器件都选择性价比较高的,这就可以在节约电器成本的前提下创造出更大的利用价值。智能家居的优点主要体现在它不受时间和空间的限制,这就可以为人们节约大量的时间。不仅如此,我们也可以在各路终端接上传感器从而实现对周围环境的监听,这就达到了一个对家居电器进行安全性的监护作用,也避免了很多不必要的麻烦。远程监控还可以应用到企业的自动化控制的系统领域中去,可以为企业节约很多的资本,也可以应用到家庭医疗保健中,不仅降低了医疗保健成本,而且还有益于身心更加健康,我们把测量的结果直接传给医生,可以省去去医院排队等候的麻烦,也可以应用于网络家庭教育,帮助学生能够更好的学习。 第二章远程控制的内容 有了这些智能家用电器,我们不难建造一个拥有智能家居的环境,有了智能家居,我们就可以节约大量的时间做更多的事情。例如,我们可以在回家的路上可以提前打开家里的电饭煲,把空调打开调到合适的温度,这样回家以后我们就可以舒适地吃上香喷喷的米饭了,但是,这在以前是不可能实现的。就目前而言,我们大多数家庭使用的还是传统的家用电器,本次课题主要设计了一款利用单片机控制家用电器的原理进行远程的电话控制系统。 2.1 智能家用电器主要的特点 一、网络化功能:将智能家电通过家庭局域网连接到一起,然后同互联网相连,以实现信息的共享。 二、智能化:智能家电利用传感器来感知周围的环境,然后根据环境的不同自动改变参数。 三、开放性:兼容性。生产智能家电平台具有相同的开放和兼容标准。 四、节能化:智能家电可以根据周围环境自动调整自己的工作状态。

基于89C51单片机脉冲宽度的测量的设计

单片机原理与应用课程设计报告 院系:电气信息工程学院 班级: 08测控2班 学号: 08314237 姓名:董亮 合作者:虞波 指导教师:黄阳 2011年09月25日

目录 序言 (2) 一.设计内容与技术指标 (3) 1.1设计内容 (3) 1.2技术指标 (3) 二.工作原理及设计方案 2.1工作原理 (4) 2.2系统设计方案 (4) 2.2.1电路原理图 (5) 2.2.2硬件焊接图 (5) 2.2.3软件流程图 (7) 2.2.4程序清单 (8) 三.系统调试及结果分析 (14) 3.1硬件调试 (14) 3.2软件调试 (14) 3.3结果分析 (14) 四. 注意事项 (14) 五. 心得体会 (15) 六.参考文献 (16)

基于89C51单片机脉冲宽度的测量设计 序言: 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入同时带动传统控制检测日新月益更新。单片机诞生30多年以来,其品种、功能和应用技术都得到飞速的发展,单片机的应用已深入国民经济和日常生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理等。 本次课程设计目的主要是培养学生综合运用所学的知识,完成一个单片机应用系统设计。主要任务是通过解决一些实际问题,巩固和加深课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力。加深对单片机软件硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。 本系统采用单片机AT89C51为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、扩展性强。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,根据所选择题目,焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。

6路PWM舵机

发送 S 第几个舵机频率 E可以控制产生相应的角度 #include #include #include #include #define SET_1(a,b) a|=(1<

相关主题
文本预览
相关文档 最新文档