当前位置:文档之家› 51单片机-红外点滴测速程序

51单片机-红外点滴测速程序

51单片机-红外点滴测速程序
51单片机-红外点滴测速程序

#include

#define uint unsigned int

#define uchar unsigned char

sbit beep = P1^0;

sbit dula = P3^6;

sbit wela = P3^7;

uchar qian,bai,shi,ge;

uint speed = 0,speed_tmp = 0;

uint num0,num1;

uchar time_out = 0;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

uchar code tablewe[]={

0xfe,0xfd,0xfb,0xf7};

void init();

void delayms(uint);

void display(uchar qian,uchar bai,uchar shi,uchar ge);

void main()

{

init();

while(1)

{

display(qian,bai,shi,ge);

if(time_out == 1)

{

speed_tmp = speed * 12; //每分钟的点滴数目等于每5秒的数目乘以12

speed = 0;

qian = 0;

bai = speed_tmp/100;

shi = (speed_tmp%100)/10;

ge = speed_tmp%10;

// speed = 0; //点滴数目清?

time_out = 0;

}

}

}

void init()

{

TMOD = 0x11; //设置定时器0和1为工作方式1(0001 0001)

TH0 = (65536-45872)/256; //装初值

TL0 = (65536-45872)%256;

TH1 = (65536-45872)/256;

TL1 = (65536-45872)%256;

EA = 1; //开总中断

ET0 = 1; //开定时器0中断

ET1 = 1; //开定时器1中断

EX0 = 1; //开外部中断0

EX1 = 1; //开外部中断1

TR0 = 1; //启动定时器0

TR1 = 1; //启动定时器1

IT0 = 1; //外部中断0低电平触发

IT1 = 0; //外部中断1低电平触发

beep = 1; //关闭蜂鸣器

}

/******************************外部中断0 P3^2 **********************************************/

void Int0() interrupt 0 //点滴检测部分,能触发中断,说明有点滴滴下{

EX0 = 0; //开外部中断0

num1 = 0; //计数器1清零

speed ++; //点滴数目加1

EX0 = 1; //开外部中断0

delayms(1);

}

/******************************外部中断 1 P3^3 **********************************************/

void Int1() interrupt 2 //液面检测部分

{

EX1 = 0; //开外部中断0

beep = 0; //如果触发外部中断,即检测脚为低电平,低于检测液面,蜂鸣器报警

EX1 = 1; //开外部中断0

}

/******************************定时器中断

0**********************************************/

void T0_time() interrupt 1

{

TH0 = (65536-45872)/256; //装初值

TL0 = (65536-45872)%256;

num0 ++;

if(num0 == 40) //每隔2s测一次点滴数

{

num0 = 0; //计数器0清零

time_out = 1;

}

}

/******************************定时器中断1**********************************************/

void T1_time() interrupt 3

{

TH1 = (65536-45872)/256; //装初值

TL1 = (65536-45872)%256;

num1 ++;

if(num1 == 60) //若3s时间到,还未检测到点滴滴下

{

beep = 0; //蜂鸣器报警

}

}

void delayms(uint xms)

{

uint i,j;

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

for(j = 110;j > 0;j--);

}

/******************************数码管显示函数**********************************************/

void display(uchar qian,uchar bai,uchar shi,uchar ge)

{

dula = 1;

P0 = table[qian];

dula = 0;

wela = 1;

P2 = tablewe[3];

wela = 0;

delayms(5);

dula = 1;

P0 = table[bai];

dula = 0;

wela = 1;

P2 = tablewe[2];

wela = 0;

delayms(5);

dula = 1;

P0 = table[shi];

dula = 0;

wela = 1;

P2 = tablewe[1];

wela = 0;

delayms(5);

dula = 1;

P0 = table[ge];

dula = 0;

wela = 1;

P2 = tablewe[0];

wela = 0;

delayms(5);

}

霍尔传感器小车测速)

成绩评定: 传感器技术 课程设计 题目霍尔传感器小车测速

摘要 对车速测量,利用霍尔传感器工作频带宽、响应速度快、测量精度高的特性结合单片机控制电路,设计出了一种新型的测速系统,实现了对脉冲信号的精确、快速测量,硬件成本低,算法简单,稳定性好。霍尔传感器测量电路设计、显示电路设计。测量速度的霍尔传感器和车轴同轴连接,车轴没转一周,产生一定量的脉冲个数,有霍尔器件电路部分输出幅度为12 V 的脉冲。经光电隔离器后成为输出幅度为5 V 转数计数器的计数脉冲。控制定时器计数时间,即可实现对车速的测量。在显示电路设计中,实现LED上直观地显示车轮的转数值。与软件配合,实现了显示、报警功能 关键词:单片机AT89C51 传感器 LED 仿真

目录 一、设计目的------------------------- 1 二、设计任务与要求--------------------- 1 2.1设计任务------------------------- 1 2.2设计要求------------------------- 1 三、设计步骤及原理分析 ----------------- 1 3.1设计方法------------------------- 1 3.2设计步骤------------------------- 3 3.3设计原理分析--------------------- 10 四、课程设计小结与体会 ---------------- 11 五、参考文献------------------------- 11

一、设计目的 通过《传感器及检测技术》课程设计,使学生掌握传感器及检测系统设计的方法和设计原则及相应的硬件调试的方法。进一步理解传感器及检测系统的设计和应用。 用霍尔元件设计测量车速的电子系统,通过对霍尔元件工作原理的掌握实现对车速测量的应用,设计出具体的电子系统电路,并且能够完成精确的车速测量。 二、设计内容及要求 2.1设计任务 霍尔传感器一般由霍尔元件和磁钢组成,当霍尔元件和磁钢相对运动时,就会产生脉冲信号,根据磁钢和脉冲数量就可以计算转速,进而求出车速。 现要求设计一个测量系统,在小车的适当位置安装霍尔元件及磁钢,使之具有以下功能: 功能:1)LED数码管显示小车的行驶距离(单位:cm)。 2)具有小车前进和后退检测功能,并用指示灯显示。 3)记录小车的行驶时间,并实时计算小车的行驶速度。 4)距离测量误差<2cm。 5)其它。 2.2设计要求 设计要求首先选定传感器,霍尔传感器具有灵敏、可靠、体积小巧、无触点、无磨损、使用寿命长、功耗低等优点,综合了电机转速测量系统的要求。其次设计一个单片机小系统,掌握单片机接口电路的设计技巧,学会利用单片机的定时器和中断系统对脉冲信号进行测量或计数。再次实时测量显示并有报警功能,实时测量根据脉冲计数来实现转速测量的方法。要求霍尔传感器转速为0~5000r/min。 三、设计步骤及原理分析 3.1 设计方法 3.1.1 霍尔效应 所谓霍尔效应,是指磁场作用于载流金属导体、半导体中的载流子时,产生

51单片机中断程序大全

//实例42 :用定时器T0 查询方式 P2 口8 位控制LED 闪烁 //#include单片机寄存器定义的头文件 51包含 /******************************************************* *******函数功能:主函数 ******************************************************** ******/void main(void){ // EA=1;开总中断// 中断允许T0 // 定时器// ET0=1; 1的模式TMOD=0x01;// 使用定时器T0 位赋初值定时器T0 的高8 TH0=(65536-46083)/256; // 位赋初值的高8 TL0=(65536-46083)%6; // 定时器T0 T0启动定时器TR0=1;// TF0=0;P2=0xff; 无限循环等待查询while(1)// {while(TF0==0); TF0=0;P2=~P2; 位赋初值的高8 定时器TH0=(65536-46083)/256; // T0 位赋初值T0 TL0=(65536-46083)%6; //

定时器的高8 }} 1KHzT1:用定时器43 实例// 音频查询方式控制单片机发出 #include 单片机寄存器定义的头文件51 // 包含sbit sound=P3^7;将// 引脚sound P3.7 位定义为 /********************************************************** **** 函数功能:主函数 ******************************************************** ******/void main(void){// EA=1;开总中断// 中断允许ET0=1;// // 定时器T0 1的模式使用定时器// T1 TMOD=0x10; 位赋初值// TH1=(65536-921)/256; T1 定时器的高8 TL1=(65536-921)%6; // 定时器T1 的高8 位赋初值 TR1=1;// 启动定时器T1TF1=0; while(1)// 无限循环等待查询{while(TF1==0); TF1=0;

霍尔传感器应用测速方面

传感器原理及工程应用(论文) 霍尔传感器应用测速方面 学生姓名: 指导教师: 专业: 学号: 2011 年12 月

目录 前言 (1) 1绪论 (1) 1.1脉冲信号的获得 (1) 1.2方案分析论证 (2) 1.3单片机模块论证与选择 (2) 1.4显示模块论证与选择 (2) 1.5报警模块论证与选择 (3) 1.6电源模块论证与选择 (3) 2 基于霍尔传感器的电机转速测量系统硬件设计 (4) 2.1总体硬件设计 (4) 2.2系统电路设计 (5) 2.3霍尔传感器测量电路设计 (5) 2.4霍尔传感器测量原理 (6) 2.5转速测量方法 (7) 2.6反相器74LS14 (7) 2.7光电耦合器 (8) 2.8蜂鸣器 (9) 结论 (10) 参考文献 (11)

前言 测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。 使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。在直流电机的多年实际运行的过程中,机械测速电机不足之处日益明显,其主要表现为直流测速电机DG中的炭刷磨损及交流测速发电机TG中的轴承磨损,增加了设备的维护工作量,也随着增加了发生故障的可能性;同时机械测速电机在更换炭刷及轴承的检修作业过程中,需要将直流电动机停运,安装过程中需要调整机械测速电机轴与主电机轴的同轴度,延长了检修时间,影响了设备的长期平稳运行。 随着电力电子技术的不断发展,一些新颖器件的不断涌现,原有器件的性能也随着逐渐改进,采用电力电子器件构成的各种电力电子电路的应用范围与日俱增。因此采用电子脉冲测速取代原直流电动机械测速电机已具备理论基础,如可采用磁阻式、霍尔效应式、光电式等方式检测电机转速。 经过比较分析后,决定采用测速齿轮和霍尔元件代替原来的机械测速电机。霍尔传感器作为测速器件得到广泛应用。霍尔传感器是利用霍尔效应实现磁电转换的一种传感器。霍尔效应这种物理现象的发现,虽然已有一百多年的历史,但是直到20世纪40年代后期,由于半导体工艺的不断改进,才被人们所重视和应用。我国从70年代开始研究霍尔器件,经过20余年的研究和开发,目前已经能生产各种性能的霍尔元件,霍尔传感器具有灵敏度高、线性度好、稳定性高、体积小和耐高温等特点[2]

基于单片机的红外遥控小车设计

单片机系统设计实例 红外遥控小车 专业:信息对抗技术 姓名:吴志飞 学号:1411050121 指导教师:张东阳

目录 1 绪论 (1) 2 系统分析 (2) 2.1系统框架 (2) 2.2电机驱动模块 (3) 2.3 LCD显示模块 (4) 3 系统硬件设计 (5) 3.1主控模块的电路设计 (6) 3.1.1AT89C51单片机的简介 (8) 3.1.2AT89C51管脚功能 (8) 3.2红外遥控模块的电路设计 (9) 3.2.1红外遥控的实现原理 (10) 3.2.2红外发射器 (11) 3.2.3红外接收器 (12) 3.3电机驱动模块的电路设计 (12) 3.4显示模块的电路设计 (13) 4 系统软件设计 (14) 4.1程序代码 (14) 4.2软件流程图 (17) 5 调试与仿真 (18) 5.1在keil中进行调试 (18) 5.2在Proteus中进行仿真 (19) 6 总结 (21) 参考文献 (22) I

沈阳理工大学课程设计说明书 1 绪论 随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,,智能化程度越来越高,应用范围也越来越广,包括海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科。主要由路径识别、角度控制及车速控制等功能模块组成。同时,当今机器人技术发展的如火如荼,其在国防等众多领域的应用广泛开展。神五、神六升天、无人飞船等等无不得益于机器人技术的迅速发展。一些发达国家已把机器人制作比赛作为创新教育的战略性手段,参加者多数为学生,目的在于通过大赛全面培养学生的动手能力、创造能力、合作能力和进取精神,同时也普及智能机器人的知识。从某种意义上来说,机器人技术反映了一个国家综合技术实力的高低,而智能电动小车是机器人的雏形,它的控制系统的研制将有助于推动智能机器人控制系统的发展,同时为智能机器人的研制提供更有利的手段。 本次课设设计的红外遥控智能小车可以分为四大组成部分:红外遥控部分、显示部分、执行部分、控制部分。智能小车可以实现按遥控指示前行,后退,左转和右转。该设计主要通过对系统硬件电路的设计,软件设计和程序的编写,然后通过后期软硬件调试达到设计初衷。 1

单片机中断程序大全

单片机中断程序大全公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

//实例42:用定时器T0查询方式P2口8位控制L E D闪烁#include // 包含51单片机寄存器定义的头文件void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x01; //使用定时器T0的模式1 TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 TF0=0; P2=0xff; while(1)//无限循环等待查询 { while(TF0==0) ; TF0=0; P2=~P2; TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 //实例43:用定时器T1查询方式控制单片机发出1KHz音频

#include // 包含51单片机寄存器定义的头文件sbit sound=P3^7; //将sound位定义为P3.7引脚 void main(void) {// EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x10; //使用定时器T1的模式1 TH1=(65536-921)/256; //定时器T1的高8位赋初值 TL1=(65536-921)%256; //定时器T1的高8位赋初值 TR1=1; //启动定时器T1 TF1=0; while(1)//无限循环等待查询 { while(TF1==0); TF1=0; sound=~sound; //将P3.7引脚输出电平取反 TH1=(65536-921)/256; //定时器T0的高8位赋初值 TL1=(65536-921)%256; //定时器T0的高8位赋初值 } } //实例44:将计数器T0计数的结果送P1口8位LED显示 #include // 包含51单片机寄存器定义的头文件sbit S=P3^4; //将S位定义为P3.4引脚

霍尔元件测速原理说明及应用

霍尔测速 测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。 下面以常见的玩具电机作为测速对象,用CS3020设计信号获取电路,通过电压比较器实现计数脉冲的输出,既可在单片机实验箱进行转速测量,也可直接将输出接到频率计或脉冲计数器,得到单位时间内的脉冲数,进行换算即可得电机转速。这样可少用硬件,不需编程,但仅是对霍尔传感器测速应用的验证。 1 脉冲信号的获得 霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。 图1 CS3020外形图 使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。 2 硬件电路设计 测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。 通常可以用计数法、测脉宽法和等精度法来进行测试。所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。由于闸门与被测信号不能同步,因此,这两

基于51单片机的红外发射接收温度传感装置

2015年高校联盟电子制作大赛题目 (数字类) 技术报告 队长:黄文杰 学号:2014212652 学院:自动化学院 队员:李嘉伟 学号:2014212650 学院:自动化学院 唐泓 学号:2014212640 学院:自动化学院

题目名称:简易红外光数字通信装置 1、设计题目:单片机应用系统设计 基于单片机的——简易红外光数字通信装置 2、总体要求: 本次大赛设计内容从主办方所给的题目出发,参赛者应了解单片机实际的应用系统,并自学红外信号编码,弄清结构和功能,结合单片机课程知识及其他相关课程知识,充分发挥自己的想象力和创造力,实现主办方题目要求并适当发挥,团队合作完成本次比赛。 3、具体要求: 1)确定应用系统功能参数 2)设计合理的电路原理图 3)Proteus仿真原理图 4)制作电路板并检测 5)设计程序 6)电路板调试运行 7)技术报告

单片机技术报告 一、项目简介 单片机被广泛应用于仪器仪表、工业自动控制、家用电器、医用设备、办公自动化设备、安全监控等领域,涵盖了人类生活的方方面面。 二、系统功能描述 这是一款基于STC89C52RC单片机的简易红外光数字通信装置。它可以分为六个部分: (1)红外功能,可以红外传送数据 (2)音阶功能,在发射板上按动七个音阶,在接收板上可以响出duo rai mi fa suo nai xi 七个音阶 (3)温度检测,在发射板上可以检测温度,在接收板上可以显示温度,每隔0.5秒更新一次温度。 三、设计思路 红外模块设计思路: 1:对输入的数据进行编码。 2:对编码进行脉冲调制。

3:信号放大后,通过发射管发送38khz信号。 4:接收信号,进行解码。 5:让51 对信号进行处理(显示,统计,分析)。 音阶模块设计思路: 1:计算音阶响应相应延时 2:建立延时数组,按键控制取数组里的值。 3:用延时控制发出不同声音 温度模块设计: 1:温度测出数据,读取温度感应数据,计算成十进制数。 2:在数码管上显示十进制数 3:延时控制发射更新温度数据 四、程序部分 1.红外部分,红外部分分为,发射和接收部分,发射部分,通过定时器0 产生38k载波,通过定时器1发送信号。接收部分,通过外部中断(下 降沿触发)接收信号,通过定时器计算两个下降沿之间的时间来确定收 到的是0还是1。 2.音阶部分:按键1~7,每次按键按下,发送控制数据,控制接收蜂鸣器 根据不同频率发出不同声音。 3.温度部分:发射端温度传感器,测出温度,通过计算得到温度具体数值, 发送数据,接收端,根据接收的数据,显示在数码管上。

51单片机中断程序大全

//实例42:用定时器T0查询方式P2口8位控制LED闪烁#include // 包含51单片机寄存器定义的头文件 /************************************************************** 函数功能:主函数 **************************************************************/ void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x01; //使用定时器T0的模式1 TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 TF0=0; P2=0xff; while(1)//无限循环等待查询 { while(TF0==0) ; TF0=0; P2=~P2; TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 } } //实例43:用定时器T1查询方式控制单片机发出1KHz音频#include // 包含51单片机寄存器定义的头文件 sbit sound=P3^7; //将sound位定义为P3.7引脚 /************************************************************** 函数功能:主函数 **************************************************************/ void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x10; //使用定时器T1的模式1 TH1=(65536-921)/256; //定时器T1的高8位赋初值

基于51单片机的红外遥控器设计

天津职业大学 二○一五~二○一六学年第1学期 电子信息工程学院 通信系统综合实训报告书 课程名称:通信系统综合实训 班级:通信技术(5)班 学号:1304045640 1304045641 1304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松 2015年11月17日

一、任务要求 利用C51单片机设计开发一套红外线收发、显示系统。 具体要求: ●编写相关程序(汇编、C语言均可); ●用Proteus绘制电路图并仿真实现基本功能; ●制作出实物 二、需求分析(系统的应用场景、环境条件、参数等) 现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。 机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。当人走到大门口,身体挡住红外线,电管接收不到红外线了。根据设计好的指令,触发相应开关,就把门打开了。等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。 在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。利用它我们可以非常方便的转换电视频道或设定空调的温度档次。 三、概要设计(系统结构框图/系统工作说明流程图) 红外线收发、显示系统硬件由以下几部分组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。 红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。 红外遥控系统电路框图

根据霍尔传感器的电机测速装置设计

检测与转换技术大作业报告 题目 院系 班级 学生姓名 日期

霍尔传感器在电机转速测量装置上 的应用设计 利用霍尔传感器,设计了一种电机转速测量装置并提出了相应的测速算法,还设计了转速信号处理电路,将脉冲信号转化为标准的T TL 电平,便于A T89C52 单片机的计数运算,并通74LS164 寄存器将转速信号显示在L ED 上。该电机测速装置具有线路简单、实时性好、成本低、安装调试方便和节省空间等优点,尤其是在测量空间有限、轴偏心或传感器不便安装的条件下,该测量方法具有明显的优势。 第一章测速电路相关元件分析 1.1 AT89C52单片机 AT89C52是一个低电压、高性能CMOS8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256B的随机存取数据存储器(RAM),兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读/写口线。AT89C52主要功能特性和引脚图如下所示: ·完全兼容MCS-51指令系统 ·8k可反复擦写Flash ROM ·全静态操作:时钟频率0-24MHz

·三级加密程序存储器 ·3个16位可编程定时/计数器中断 ·256x8bit内部RAM ·32个可编程的双向I/O口 ·2个外部中断源,共8个中断源 ·2个读写中断口线 ·可编程串行UART通道 ·低功耗空闲和掉电模式 ·软件设置睡眠和唤醒功能 1.2 LM317T三端稳压器 LM317T是可调节三端正电压稳压器,在输出电压范围为1.25V到37V时能够提供超过1.5A的负载电流。此稳压器使用非常容易,只需两个外接电阻来设置输出电压。其主要功能特性如下所示: ·输出电流超过1.5安 ·输出电压在1.2伏和37伏间连续可调 ·内部热过载保护 ·不随温度变化的内部短路电流限制

霍尔传感器测速原理

现代检测技术论文 测控11-2班 范国霞 1105070202

绪论 现代技术关于速度的测量方法多种多样,其中包括线速度和角速度两个方面,速度和转速测量在工业农业、国防中有很多应用,如汽车、火车、轮船及飞机等行驶速度测量;发动机、柴油机、风力发电机等输出轴的转速测量等等。其中有微积分转换法,线速度与角速度转换方法,时间位移方法等等,下面我所介绍的是霍尔传感器对于速度的测量方法。霍尔式传感器是基于霍尔效应原理设计的传感器. 关键字:霍尔效应,霍尔传感器

霍尔传感器 霍尔传感器是基于霍尔效应的一种传感器。1879年美国物理学家霍尔首先在金属材料中发现了霍尔效应,但由于金属材料的霍尔效应太弱而没有得到应用,随着半导体技术的发展,开始用半导体材料制成霍尔元件,由于他的霍尔效应显著而得到了应用和发展。在了解霍尔传感器之前先了解一下什么是霍尔元件以及它的基本特性。 霍尔元件的结构很简单,它是由霍尔片、四根引线和壳体组成的,如图1所示。 图1 霍尔片是一块矩形半导体单晶薄片,引出四根引线:1、1ˊ两根引线加激励电压或电流,称激励电极;2、2ˊ引线为霍尔输出引线,称霍尔电极。霍尔元件的壳体是用非到此金属、陶瓷或环氧树脂封装的。在电路中,霍尔元件一般可用两种符号表示,如图1(b)所示。

霍尔元件的基本特性 (1)额定激励电流和最大允许激励电流当霍尔元件自身温度升高10℃所流过的激励电流成为额定激励电流。以元件允许最大温升为限定的激励电流称为最大允许激励电流。因霍尔电势随激励电流增加而线性增加,所以使用中希望选用尽可能大的激励电流,因而需要知道元件的最大允许激励电流。 (2)输入电阻和输出电阻激励电极间的电阻称为输入电阻。霍尔电极输出电势对电路外部来说相当于一个电压源,其电源内阻即为输出电阻。 (3)不等位电势及不等为电阻当霍尔元件的激励电流为I时,若元件所处位置磁感应强度为零,则它的霍尔电势应该为零,但实际不为零。这是测得的空载电势称为不等位电势。 (4)寄生直流电势再外加磁场为零、霍尔元件用交流激励时,霍尔电极输出除了交流不等位电势外,还有一直流电势,称为寄生直流电势。 (5)霍尔电势温度系数在一定磁感应强度和激励电流下温度每变化1℃时,霍尔电势变化的百分率称为霍尔电势温度系数。他同时也是霍尔系数的温度系数。

c51、c52单片机红外线遥控接收解码c程序(可直接使用)

/ 亲,此程序以经过测试,可直接使用!!!/ #include #define uchar unsigned char #define uint unsigned int void delay(uchar x); sbit IRIN = P3^2; uchar IRCOM[4]; void main() { IE = 0x81; TCON = 0x01; IRIN=1; /* 此处可以根据按键码自由编写程序 /以下为3*7遥控按键码/ /(也可以应用与其他类型遥控,本程序只以3*7遥控为例)/ / 0x45 0x46 0x47 / / 0x44 0x40 0x43 / / 0x07 0x15 0x09 / / 0x16 0x19 0x0d / / 0x0c 0x18 0x5e / / 0x08 0x1c 0x5a / / 0x42 0x52 0x4a / 例如: while(1) {switch(IRCOM[2]) {case 0x45: P2=0x7f; break; case 0x44: P2=0xbf; break; case 0x07: P2=0xdf; break; case 0x16: P2=0xef; break; case 0x0c: P2=0xf7; break; case 0x08: P2=0xfb; break; case 0x42: P2=0xfd; break; case 0x52: P2=0xfe; break; case 0x4a: P2=0xff; break; case 0x5a: P2=0x00; break;} } */ while(1); } //end main /**********************************************************/ void IR_IN(void) interrupt 0 //外部中断服务程序 {unsigned char j,k,N=0; EX0 = 0; delay(15); if (IRIN==1) { EX0 =1;

单片机红外电视遥控器C51程序代码单片机程序

单片机红外电视遥控器C51程序代码单片机程序 //************************************************************** //名称:单片机红外电视遥控器C51程序代码() /*-------------------------------------------------------------- 描述: 一般红外电视遥控器的输出都是用编码后串行数据对38~40kHz的方波进行 脉冲幅度调制而产生的.当发射器按键按下后,即有遥控码发出,所按的键 不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。上述“0”和“1”组成的32位二进制码经38kHz 的载频进行二次调制,然后再通过红外发射二极管产生红外线向空间发射。 一般电视遥控器的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位 为8位的操作码和8位的操作反码,用于核对数据是否接收准确。 根据红外编码的格式,发送数据前需要先发送9ms的起始码和4.5ms的结果码。接收方一般使用TL0038一体化红外线接收器进行接收解码,当TL0038接收到38kHz红外信号时,输出端输出低电平,否则为高电平。 所以红外遥控器发送红外信号时,参考上面遥控串行数据编码波形图,在低 电平处发送38kHz红外信号,高电平处则不发送红外信号。 ----------------------------------------------------------------*/ //编辑: //日期: //**************************************************************** #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include //包括一个51标准内核的头文件 static bit OP; //红外发射管的亮灭 static unsigned int count; //延时计数器 static unsigned int endcount; //终止延时计数 static unsigned char flag; //红外发送标志 char iraddr1; //十六位地址的第一个字节 char iraddr2; //十六位地址的第二个字节 void SendIRdata(char p_irdata); void delay(); //************************************************************** void main(void) {

基于51单片机的红外遥控

基于51单片机的红外遥控 红外遥控就是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头与38k红外遥控器。 1838红外接收头: 红外遥控器: 原理: 红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面, 我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码与用户反码,后16位为数据码与数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作。 源程序1:(这个程序的功能就是将用户码与用户反码,数据码与数据反码显示在1602液晶上,因为遥控器买回来就是不会说明按键对应什么码值,所以先自己测试,确定每个按 键的码值) #include #include #include #define uint unsigned int #define uchar unsigned char #define _Nop() _nop_() #define TURE 1 #define FALSE 0

/*端口定义*/ sbit lcd_rs_port = P3^5; /*定义LCD控制端口*/ sbit lcd_rw_port = P3^6; sbit lcd_en_port = P3^4; #define lcd_data_port P0 /////////////////////////////////// void delay1 (void)//关闭数码管延时程序 { int k; for (k=0; k<1000; k++); } //////////////////////////////////// uchar code line0[16]={" user: "}; uchar code line1[16]={" data: "}; uchar code lcd_mun_to_char[16]={"0123456789ABCDEF"}; unsigned char irtime;//红外用全局变量 bit irpro_ok,irok; unsigned char IRcord[4];//用来存放用户码、用户反码、数据码、数据反码unsigned char irdata[33];//用来存放32位码值 void ShowString (unsigned char line,char *ptr); ////////////////////////////////////////////// void Delay(unsigned char mS); void Ir_work(void); void Ircordpro(void); void tim0_isr (void) interrupt 1 using 1//定时器0中断服务函数 { irtime++; } void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数 { static unsigned char i; static bit startflag; if(startflag){ if(irtime<63&&irtime>=33)//引导码TC9012的头码 i=0; irdata[i]=irtime; irtime=0; i++; if(i==33){ irok=1; i=0; }

霍尔元件测速电路 (1)

霍尔原件测速 测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的hnmk/yil,用CS3020设计信号获取电路,通过电压比较器实现计数脉冲的输出,既可在单片机实验箱进行转速测量,也可直接将输出接到频率计或脉冲计数器,得到单位时间内的脉冲数,进行换算即可得电机转速。这样可少用硬件,不需编程,但仅是对霍尔传感器测速应用的验证。 1 脉冲信号的获得 霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。 图1 CS3020外形图 使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。 2 硬件电路设计 测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。 通常可以用计数法、测脉宽法和等精度法来进行测试。所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差

单片机红外发射(原理与设计程序)

用AT89S51单片机制作红外电视遥控器 一般红外电视遥控器的输出都是用编码后串行数据对38~40kHz的方波进行脉冲幅度调制而产生的。 当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制,然后再通过红外发射二极管产生红外线向空间发射。一般电视遥控器的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。 根据红外编码的格式,发送数据前需要先发送9ms的起始码和4.5ms的结果码。 遥控串行数据编码波形如下图所示: 接收方一般使用TL0038一体化红外线接收器进行接收解码,当TL0038接收到38kHz红外信号时,输出端输出低电平,否则为高电平。所以红外遥控器发送红外信号时,参考上面遥控串行数据编码波形图,在低电平处发送38kHz红外信号,高电平处则不发送红外信号。 单片机红外电视遥控器电路图如下:

C51程序代码: #include static bit OP; //红外发射管的亮灭 static unsigned int count; //延时计数器static unsigned int endcount; //终止延时计数static unsigned char flag; //红外发送标志char iraddr1; //十六位地址的第一个字节 char iraddr2; //十六位地址的第二个字节 void SendIRdata(char p_irdata); void delay(); void main(void) { count = 0;

51单片机中断程序大全

//实例42 :用定时器TO查询方式P2 口8位控制LED闪烁#include // 包含 51 单片机寄存器定义的头文件/************************************************************** 函数功能:主函数 void main(void) { // EA=1; // 开总中断 // ETO=1; // 定时器 TO 中断允许 TMOD=OxO1; // 使用定时器 TO 的模式 1 THO=(65536-46O83)/256; // 定时器 TO 的高 8 位赋初值 TLO=(65536-46O83)%256; // 定时器 TO 的高 8 位赋初值 TRO=1; // 启动定时器 TO TFO=O; P2=Oxff; while(1)// 无限循环等待查询 { while(TFO==O) TFO=O; P2=~P2; THO=(65536-46O83)/256; // 定时器 TO 的高 8 位赋初值

TL0=(65536-46083)%256; // 定时器 T0 的高 8 位赋初值 } // 实例43 :用定时器T1 查询方式控制单片机发出1KHz 音频#include // 包含 51 单片机寄存器定义的头文件 sbit sou nd=P3^7; // 将 sound 位定义为 P3.7 引脚 /************************************************************** 函数功能:主函数 **************************************************************/ void main(void) { // EA=1; // 开总中断 // ET0=1; // 定时器 T0 中断允许 TMOD=0x10; // 使用定时器 T1 的模式 1 TH1=(65536-921)/256; // 定时器 T1 的高 8 位赋初值 TL1=(65536-921)%256; // 定时器 T1 的高 8 位赋初值 TR1=1; // 启动定时器 T1 TF1=0; while(1)// 无限循环等待查询 {

霍尔测速实验

246810 1214 1618202224 霍尔传感器V-n 曲线图 电压(V )/V 转速(n )/r p m 霍尔测速实验报告 一、实验目的: 了解霍尔组件的应用——测量转速。 二、实验仪器: 霍尔传感器、+5V 、+4、±6、±8、±10V 直流电源、转动源、频率/转速表。 三、实验原理; 利用霍尔效应表达式:U H =K H IB ,当被测圆盘上装上N 只磁性体时,转盘每转一周磁场变化N 次,每转一周霍尔电势就同频率相应变化,输出电势通过放大、整形和计数电路就可以测出被测旋转物的转速。 四、实验内容与步骤 1.安装根据图28-1,霍尔传感器已安装于传感器支架上,且霍尔组件正对着转盘上的磁钢。 图28-1 2.将+5V 电源接到三源板上“霍尔”输出的电源端,“霍尔”输出接到频率/转速表(切换到测转速位置)。 3.打开实验台电源,选择不同电源+4V 、+6V 、+8V 、+10V 、12V (±6)、16V (±8)、20V (±10)、24V 驱动转动源,可以观察到转动源转速的变化,待转速稳定后记录相应驱动电压下得到的转速值。也可用示波器观测霍尔元件输出的脉冲波形。 五、数据记录与分析 2、用matlab 绘制V-RPM 曲线图

3、霍尔组件产生脉冲的原因 因为霍尔传感器本身是磁场和霍尔元件之间由于磁性交替变化而产生的脉冲信号变化。两者之间通常会设有遮光原件,能够在变化过程中间断的影响到两者之间的磁通量。有磁场照射霍尔元件导通,没有磁场照射霍尔元件截止,不断的交替变化引起了脉冲的信号变化,所以霍尔测速时,所长生的波形也就是脉冲电,只是随转速的改变频率发生了改变,频率变化越快证明转速越快。 六、实验报告 1.分析霍尔组件产生脉冲的原理。 2.根据记录的驱动电压和转速,作V-RPM曲线。

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