文档库 最新最全的文档下载
当前位置:文档库 › 基于51单片机的心率计

基于51单片机的心率计

基于51单片机的心率计
基于51单片机的心率计

基于51单片机(AT89C2051)的心率计

工作原理:

该作品通过红外对管检测手指血管舒张收缩情况,反应为电压的变化,经过一级无源低通滤波和三极管共射极电路放大后进入

LM358双运放集成芯片,其中一级运放构成有源一阶低通放大,放大参数设置在300倍左右,另一级运放构成单限比较器,通过调整电位器设置阈值电压。输出电平直接接入单片机P3.2(INT0)外部中断入口处,通过程序计算信号周期,从而计算测试者心率,通过诺基亚5110液晶显示出来。

以下为作品工作图:

当检测信号异常,心率值超出正常范围(40----170)时显示Err错误提示:

电路板为洞洞板,背面焊锡走线如下:

拆除液晶5110后电路正面图如下:

后来修改的电路图(手绘粗糙,大家将就看吧!):

本人QQ:769942445,欢迎大家交流。

以下为源程序(已通过测试):

#include

#define uchar unsigned char

#define uint unsigned int

#define ulong unsigned long

sbit sce = P1^2; //片选

sbit res = P1^3; //复位,0复位

sbit dc = P1^4; //1写数据,0写指令

sbit sdin = P1^5; //数据

sbit sclk = P1^6; //时钟

sbit key =P1^0;

bit flag;

uchar count,count1;

uint time;

uchar dis[3];

//6*16字符

unsigned char code shuzi[]={

/*-- 文字: 0 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,

/*-- 文字: 1 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00,

/*-- 文字: 2 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00,

/*-- 文字: 3 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x08,0x04,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,

/*-- 文字: 4 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x40,0xB0,0x88,0xFC,0x80,0x00,0x00,0x00,0x00,0x03,0x02,0x00,

/*-- 文字: 5 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x3C,0x24,0x24,0x24,0xC4,0x00,0x01,0x02,0x02,0x02,0x01,0x00,

/*-- 文字: 6 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0xF8,0x24,0x24,0x2C,0xC0,0x00,0x01,0x02,0x02,0x02,0x01,0x00,

/*-- 文字: 7 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x0C,0x04,0xE4,0x1C,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,

/*-- 文字: 8 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0xD8,0x24,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,

/*-- 文字: 9 --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x03,0x02,0x02,0x01,0x00,

/*-- 文字: E --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x04,0xFC,0x24,0x74,0x0C,0x00,0x02,0x03,0x02,0x02,0x03,0x00,

/*-- 文字: r --*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=6x12 --*/ /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/

0x20,0xE0,0x40,0x20,0x20,0x00,0x02,0x03,0x02,0x00,0x00,0x00,

};

unsigned char code hanzi[]=

{

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x00,0x00,0x7C,0x55,0x56,0xFC,0x56,0x55,0x54,0x7C,0x00,0x00,0x21,0x21,0x21,0x21, 0x21,0x27,0x21,0x21,0x21,0x21,0x21,0x00,

/*-- 文字: 片--*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x00,0x00,0xFF,0x48,0x48,0x48,0x4F,0xC8,0x08,0x08,0x08,0x00,0x24,0x22,0x21,0x20, 0x20,0x20,0x20,0x27,0x20,0x20,0x20,0x00,

/*-- 文字: 机--*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x84,0x64,0xFF,0x24,0x44,0xFE,0x02,0x02,0xFF,0x02,0x00,0x00,0x21,0x20,0x27,0x24, 0x22,0x21,0x20,0x20,0x27,0x24,0x27,0x00,

/*-- 文字: 实--*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x88,0x86,0xA2,0xCA,0x92,0x83,0xFA,0x82,0x82,0x8A,0x86,0x00,0x20,0x24,0x24,0x24, 0x22,0x21,0x20,0x21,0x22,0x24,0x20,0x00,

/*-- 文字: 验--*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x21,0x3D,0xA1,0xFF,0x10,0xC8,0x14,0xD3,0x14,0xC8,0x10,0x00,0x21,0x25,0x24,0x23, 0x24,0x25,0x24,0x25,0x26,0x25,0x24,0x20,

/*-- 文字: 心--*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x80,0x70,0x00,0xFC,0x00,0x01,0x0E,0x00,0x80,0x30,0xC0,0x00,0x00,0x00,0x00,0x07, 0x04,0x04,0x04,0x04,0x07,0x00,0x00,0x00,

/*-- 文字: 率--*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x42,0x46,0x2A,0x52,0x6A,0xD7,0x6A,0x52,0x2A,0x46,0x02,0x00,0x01,0x01,0x01,0x01, 0x01,0x07,0x01,0x01,0x01,0x01,0x01,0x00,

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x10,0xF1,0x02,0x00,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x02,0x01, 0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,

/*-- 文字: :--*/

/*-- Trebuchet MS9; 此字体下对应的点阵为:宽x高=12x12 --*/

/*-- 高度不是8的倍数,现调整为:宽度x高度=12x16 --*/

0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,

};

void delayms(unsigned int ii)//1ms延时函数

{

unsigned int i,x;

for (x=0;x

{

for (i=0;i<100;i++);

}

}

/*--------------------------------------------

LCD_write_byte: 使用SPI接口写数据到LCD

输入参数:dt:写入的数据;

command :写数据/命令选择;

编写日期:20080918

----------------------------------------------*/

void LCD_write_byte(unsigned char dt, unsigned char command)

{

unsigned char i;

sce=0;

dc=command;

for(i=0;i<8;i++)

{

if(dt&0x80)

sdin=1;

else

sdin=0;

dt=dt<<1;

sclk=0;

sclk=1;

}

dc=1;

sce=1;

sdin=1;

}

/*---------------------------------------

LCD_init: 3310LCD初始化

编写日期:20080918

----------------------------------------- */

void LCD_init(void)

{

res=0;

delayms(10);

res=1;

LCD_write_byte(0x21,0);//初始化Lcd,功能设定使用扩充指令LCD_write_byte(0xC6,0);//设定液晶偏置电压

LCD_write_byte(0x06,0);//温度校正

LCD_write_byte(0x13,0);;//1:48

LCD_write_byte(0x20,0);//使用基本指令

LCD_write_byte(0x0C,0);//设定显示模式,正常显示

}

/*-------------------------------------------

LCD_set_XY: 设置LCD坐标函数

输入参数:X:0-83 Y:0-5

编写日期:20080918

---------------------------------------------*/

void LCD_set_XY(unsigned char X, unsigned char Y)

{

LCD_write_byte(0x40 | Y, 0);// column

LCD_write_byte(0x80 | X, 0);// row

}

/*------------------------------------------

LCD_clear: LCD清屏函数

编写日期:20080918

--------------------------------------------*/

void LCD_clear(void)

{

unsigned char t;

unsigned char k;

LCD_set_XY(0,0);

for(t=0;t<6;t++)

{

for(k=0;k<84;k++)

{

LCD_write_byte(0x00,1);

}

}

}

/*---------------------------------------------

LCD_write_shu: 显示6(宽)*16(高)点阵列数字字母符号等半角类

输入参数:c:显示的字符;

编写日期:20080918

-----------------------------------------------*/

void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c) //row:列page:页dd:字符

{

unsigned char i;

LCD_set_XY(row*6, page);// 列,页

for(i=0; i<6;i++)

{

LCD_write_byte(shuzi[c*12+i],1);

}

LCD_set_XY(row*6, page+1);// 列,页

for(i=6; i<12;i++)

{

LCD_write_byte(shuzi[c*12+i],1);

}

}

/*---------------------------------------------

LCD_write_hanzi: 显示12(宽)*16(高)点阵列汉字等半角类

输入参数:c:显示的字符;

编写日期:20080918

-----------------------------------------------*/

void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) //row:列page:页dd:字符

{

unsigned char i;

LCD_set_XY(row*6, page);// 列,页

for(i=0; i<12;i++)

{

LCD_write_byte(hanzi[c*24+i],1);

}

LCD_set_XY(row*6, page+1);// 列,页

for(i=12; i<24;i++)

{

LCD_write_byte(hanzi[c*24+i],1);

}

}

void init()

{ TMOD=0x01;

TH0=0;

TL0=0;

ET0=1;

EX0=1;

EA=1;

IT0=1; //指定外部中断0下降沿触发,INT0 (P3.2) TR0=1;

}

void time0()interrupt 1

{ count1++;

}

void main(void)

{

unsigned char k;

a2: key=1;

sce=0;

res=0;

for(k=0;k<250;k++);

res=1;

init();

LCD_init(); //初始化LCD模块

LCD_clear(); //清屏幕

LCD_write_hanzi(2,0,0);

LCD_write_hanzi(4,0,1);

LCD_write_hanzi(6,0,2);

LCD_write_hanzi(8,0,3);

LCD_write_hanzi(10,0,4);

LCD_write_hanzi(4,2,5);

LCD_write_hanzi(6,2,6);

LCD_write_hanzi(8,2,7);

LCD_write_hanzi(0,4,5);

LCD_write_hanzi(2,4,6);

LCD_write_hanzi(4,4,8);

while(1)

{ LCD_write_shu(6,4,dis[0]);

LCD_write_shu(7,4,dis[1]);

LCD_write_shu(8,4,dis[2]);

if(!key) goto a2;

if((count1>23)&&flag) //23*65536ms=1.5s 对应心率40最低

{ dis[0]=10;

dis[1]=11;

dis[2]=11;

flag=0;

}

delayms(10);

}

}

void int0()interrupt 0

{ if(flag)

{ TR0=0;

time=(uint)(60000000/(float)((ulong)count1*65535+TH0*256+TL0)+0.5);

if((time<40)||(time>170))

{ dis[0]=10;

dis[1]=11;

dis[2]=11;

}

else

{ dis[0]=(uchar)(time/100);

dis[1]=(uchar)(time%100/10);

dis[2]=(uchar)(time%10);

}

flag=0;

TR0=1;

}

else

{ flag=1;

count1=0;

TH0=0;

TL0=0;

}

}

基于51单片机的数字频率计_毕业设计

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

基于51单片机的数字温度计的设计报告(王强)

西安文理学院物理与机械电子工程学院 课程设计报告 专业班级 2011级测控技术与仪器一班 课程单片机课程设计 题目基于51单片机的数字温度计的设计 学号 0703110135 学生姓名王强 指导教师陈琦 2014年 5月

西安文理学院物理与机械电子工程学院 课程设计任务书 学生姓名王强专业班级11级测控一班学号0703110135 指导教师陈琦职称讲师教研室 B0406 课程单片机课程设计 题目基于51单片机的数字温度计的设计 任务与要求 1、学会使用51单片机,并对其内部结构进行深入的了解。 2、了解DS18B20的原理以及使用方式。 3、对于共阳极、共阴极数码管有个清楚的认识和掌握。 4、测得的结果范围在-55~125度,精度为0.5。 开始日期 2014年5月12日完成日期 2014年5月25日 2014年5月28日

基于51单片机的数字温度计的设计 摘要 本设计主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词:单片机;数字温度传感器;最简温度检测系统;

接口实验报告-基于51单片机的脉搏温度测试系统-

摘要 接口实验报告 题目:脉搏波体温自动采集系统院(系):电子工程与自动化学院 专业:仪器仪表工程 学生姓名: 学号: 指导老师:李智 职称:教授 20 年8月28日 I

摘要 本文介绍了一种基于51单片机的心率体温采集系统。首先介绍了51系列单片机的内部相关配置、工作原理以及编程方法,其次介绍了温度传感器PT100的相关测温方法以及通过红外光电传感器TCRT5000对射的方法来抓取人体脉搏信号。此次设计的电路部分主要包括:传感测量电路、放大电路、滤波整形电路、AD转换电路、控制电路、电源供电电路等。上位机为通过VC编程界面。通过上位机按键控制,将PT100及TCRT5000输入的微弱信号进行放大整形,最后AD采集转换传送给单片机,在上位机界面上显示相关体温及心率信息。 本次硬件设计基于比较稳定可行、低成本的设计思想,软件设计采用模块化的设计方法,并且详细分析了红外传感器TCRT5000应用于心率测量上以及PT100应用于温度测量上的原理及优点,阐述了其他各配合电路的组成与工作特点,并且通过仿真进行电路的可行性验证,最后完成实物电路的设计,使得本次课题的预期结果得以实现。 关键词:51单片机;传感器;仿真;AD转换

Abstract Abstract This paper introduced a heart rate and body temperature acquisition system that based on 51 single chip microcomputer. First the internal configurations of 51 single chip microcomputer are introduced. And the paper also tell how 51 single chip microcomputer works and how can we program on it. Then the method of using temperature sensor PT100 to get body temperature is introduced, and we use infrared photoelectric sensor TCRT5000 to get the pulse signal of human body.The design of the circuit mainly comprises sensing circuit, amplifying circuit, filtering and shaping circuit, AD converting circuit, counting and displaying circuit, controlling circuit, power supplying circuit and so on. When the keyboard is pressed, the system starts to get signal. The small signal from PT100 and TCRT5000 will be amplified and shaped. Then ad converter will change the analog signal into digital signal and send to 51 single chip microcomputer. At last LCD1602 will display the information of body temperature and heart rate. Keywords: Piezoelectric sensors;control circuit;counters;Multisim2001 simulation software control circuit. III

基于51单片机的简易计算器制作

基于51单片机的简易计算器制作专业:电气信息班级:11级电类一班 姓名:王康胡松勇 时间:2012年7月12日 一:设计任务 本系统选用AT89C52单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下: (1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LED 显示数据和结果。 (2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LED上提示八个0;当除数为0时,计算器会在LED上会提示八个负号。 设计要求:分别对键盘输入检测模块;LED显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真 分析其设计结果。 二.硬件设计 单片机最小系统 CPU:A T89C52 显示模块:两个4位7段共阴极数码管 输入模块:4*4矩阵键盘 1.电路图

电路图说明 本电路图采用AT89C52作为中处理器,以4*4矩阵键盘扫描输入,用两个74HC573(锁存器)控制分别控制数码管的位于段,并以动态显示的方式显示键盘输入结果及运算结果。为编程方便,以一个一位共阴极数码管显示负号。 三,程序设计 #include #define Lint long int #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; //锁存器段选sbit wela=P2^7; sbit display_g=P2^0; //负号段选 sbit display_w=P2^1; //负号位选uchar code table[]={0x3f,0x06,0x5b,0x4f, //0,1,2,3

51单片机频率计

实验报告 实验名称基于8255的8LED数显频率计课程名称Protues软件设计(51单片机) 班级学号 姓名

一、实验要求 基本要求: 用P1或P3口,产生一方波信号,频率为1000Hz,用一组数码管或LCD显示频率和周期以及脉宽等参数(也可用信号源或模拟信号源)。 将输出信号输入到另一端口(INT0/INT1)作频率计的信号输入端,测量此方波信号的频率、周期和脉宽,在另一组数码管或LCD上将参数值显示出来。(刷新时间1秒)。 发挥部分: 1、设置一功能键,能将当前数码管或LCD上的信号参数值锁定。 2、通过键盘,可修改方显示参数,刷新时间。 3、按键时,蜂鸣器发出提示音,表示按键有效 4、用图形方式显示输入波形(用模拟示波器) 动态显示格式: 自定 二、实验内容 实验内容为基于8255的简易8LED数字显示频率计,利用8255的扩展功能,来扩展51单片机的功能管脚,使其可以实现利用8255的A,B端口实现输入输出功能,从而实现51单片机管脚的扩展。 三、实验原理 频率计主要功能是测量频率。频率是指一秒内发生相同波形的次数,根据这一定义,可以初步得出测量频率的方法,就是通过计量一定时间的脉冲次数就可以通过计算累加获得频率的次数,然后通过数值译码输送的数显电路当中去。 根据实验假设,可以知道实验中需要用的两个定时装置,一个为定时装置,另一个为计数装置。而单片机中正好就设置了这样的计时器。 8051提供两个16位的内部定时器(计数器),分别为Time0,Time1(简称T0,T1)这两个定时器可以用作为内部定时器或者外部计数器,作为内部计时的时候是计算的是内部的脉冲,以12MHz的计时脉冲系统为例,将此计数器时钟脉冲除12后送入定时器,因此定时器所计数的脉冲周期为1us。若采用16位的定时器,最多可以计数65536,约为0,065s。因而我们选择0.05S作为单位计数时间长度。 若当成外部计数器时则计数由T0或T1管脚送入脉冲,同样地,若采用16位的定时模式,则最多可以数65536个计数量,相当可观。 在51单片机中有两个16位的定时/计数器T0,T1,分别由TH0、TL0和TH1、TL1组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的方式寄存器TMOD 和一个8位的控制寄存器TCON。用于选择和控制定时/计数器的工作。其格式见下面两表: 方式控制寄存器TMOD GATE C/T M1 M0 GATE C/T M1 M0 门控开关计数/定 时方式选择门控开关计数/定 时 方式选择

基于51单片机的DS18B20数字温度计的实训报告

电子信息职业技术学院 暨国家示性软件职业技术学院 单片机实训 题目:用MCS-51单片机和 18B20实现数字温度计 姓名: 系别:网络系 专业:计算机控制技术 班级:计控 指导教师: * 伟 时间安排:2013年1月7日至 2013年1月11日

摘要 随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。 在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。 我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度围为-55~125 oC,最高分辨率可达0.0625 oC。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量围0℃-~+100℃,使用LED模块显示,能设置温度报警上下限。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。该电路设计新颖、功能强大、结构简单。 关键词:单片机,数字控制,温度计, DS18B20,AT89S51

基于单片机的心率计设计

目录 摘要 (3) 英文摘要 (3) 1 引言 (4) 1.1 心率计的研究背景和意义 (4) 1.2 心率计的研究现状及发展动态 (4) 2 方案论证及元器件选择 (5) 2.1 研究内容及设计指标 (5) 2.2 方案设计与论证 (5) 2.2.1 传感器的选择与论证 (5) 2.2.2 信号处理方案选择和论证 (7) 2.2.3 单片机系统选择和论证 (8) 2.2.4 显示模块选择和论证 (9) 2.3元器件选择及其功能介绍 (9) 2.3.1单片机AT89S52 (9) 2.3.2红外传感器 (11) 2.3.3双运算放大器LM358N (11) 2.3.4 LCD12864 (12) 3 硬件系统设计 (13) 3.1 系统设计框图 (13) 3.2 信号采集电路 (14) 3.3 信号放大电路 (15) 3.3.1一级信号放大电路 (15) 3.3.2 电源模块设计 (16) 3.4 信号比较电路 (17) 3.5 LCD显示电路 (18) 3.6 记忆电路 (18) 3.7 键盘电路 (19) 4 软件设计 (19) 4.1 测量计算原理 (20) 4.2 主程序流程图 (20)

4.3 中断程序流程图 (21) 4.4 定时器T0,T1的中断服务程序 (21) 5 系统测试与结果分析 (22) 5.1 测试方法和仪器 (22) 5.2 仿真与焊接阶段 (23) 5.2.1 仿真阶段 (23) 5.2.2 焊接与完成阶段 (23) 5.3 测试数据与结果分析 (25) 5.3.1测量结果与分析 (25) 5.3.2几种主要系统干扰和影响 (27) 结束语 (28) 参考文献 (29) 附录一:心率计电路图 附录二:部分程序

基于51单片机的计算器设计

目录 第一章引言 (3) 1.1 简述简易计算器 (3) 1.2 本设计主要任务 (3) 1.3 系统主要功能 (4) 第二章系统主要硬件电路设计 (4) 2.1 系统的硬件构成及功能 (4) 2.2 键盘电路设计 (5) 2.3 显示电路设计 (6) 第三章系统软件设计 (7) 3.1 计算器的软件规划 (7) 3.2 键盘扫描的程序设计 (7) 3.3 显示模块的程序设计 (8) 3.4 主程序的设计 (9) 3.5 软件的可靠性设计 (9) 第四章调试 (9) 第五章结束语 (10) 参考文献 (11) 附录源程序 (11)

第一章引言 1.1 简述简易计算器 近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。计算器是日常生活中比较的常见的电子产品之一。如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢? 本设计是以AT89S52单片机为核心的计算器模拟系统设计,输入采用4×6矩阵键盘,可以进行加、减、乘、除9位带符号数字运算,并在LCD1602上显示操作过程。 科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。现在应用较广泛的是科学计算器,与我们日常所用的简单计算器有较大差别,除了能进行加减乘除,科学计算器还可以进行正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能。计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器, 使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。 1.2 本设计主要任务 以下是初步设定的矩阵键盘简易计算器的功能: 1.扩展4*6键盘,其中10个数字,5个功能键,1个清零 2.强化对于电路的焊接 3.使用五位数码管接口电路 4. 完成十进制的四则运算(加、减、乘、除); 5. 实现结果低于五位的连续运算; 6. 使用keil 软件编写程序,使用汇编语言; 7. 最后用ptoteus模拟仿真; 8.学会对电路的调试

数字频率计(51单片机)

自动化与电子工程学院单片机课程设计 报告 课程名称:单片机原理与应用 学院:自动化与电子工程院 专业班级: 学生姓名: 完成时间: 报告成绩:

目录 第1章数字频率计概述 (2) 1.1数字频率计概述 (1) 1.2数字频率计的基本原理 (1) 1.3单脉冲测量原理 (2) 第2章课程设计方案设计 (2) 2.1系统方案的总体论述 (2) 2.2系统硬件的总体设计 (3) 2.3处理方法 (3) 第3章硬件设计 (4) 3.1单片机最小系统 (4) 第4章软件设计 (5) 4.1系统的软件流程图 (5) 4.2程序清单 (7) 第5章课程设计总结 (7) 参考文献 (8) 附录Ⅰ仿真截图 (9) 附录Ⅱ程序清单 (15)

第1章数字频率计概述 1.1数字频率计概述 数字频率计又称为数字频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器,是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量方波信号及其他各种单位时间内变化的物理量。 本数字频率计将采用定时、计数的方法测量频率,采用6个数码管显示6位十进制数。测量范围从10Hz—5.5kHz,精度为1%,用单片机实现自动测量功能。 基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量频率的方法对方波的频率进行自动的测量。 1.2数字频率计的基本原理 数字频率计最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的频率f=N/T(如图1.1所示)。 图1.1 频率测量原理 频率的测量实际上就是在1s时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常采用的办法是使用单片机自带的计数器对输入脉冲进行计数;好处是设计出的频率计系统结构和程序编写简单,成本低廉,不需要外部计数器,直接利用所给的单片机最小系统就可以实现。缺陷是受限于单片机计数的晶振频率,输入的时钟频率通常是单片机晶振频率的几分之一甚至是几十分之一,在本次设计使用的AT89C51单片机,由于检测一个由“1”到“0”的跳变需要两个机器周期,前一个机器周期测出“1”,后一个周期测出“0”。故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一。根

基于单片机控制的数字温度计毕业设计

单片机课程设计报告 数字温度计

1 设计要求 ■基本范围-50℃-110℃ ■精度误差小于0.5℃ ■LED数码直读显示 2 扩展功能 ■实现语音报数 ■可以任意设定温度的上下限报警功能

数字温度计 摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 关键词:单片机,数字控制,温度计,DS18B20,A T89S51 1 引言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机A T89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。 2 总体设计方案 2.1数字温度计设计方案论证 2.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 2.1.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 2.2方案二的总体设计框图 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。 图1总体设计方框图 2.2.1 主控制器

基于51单片机的数字频率计毕业论文

基于51单片机的数字频率计 目录 第1节引言 (2) 1.1数字频率计概述 (2) 1.2频率测量仪的设计思路与频率的计算 (2) 1.3基本设计原理 (3) 第2节数字频率计(低频)的硬件结构设计 (4) 2.1系统硬件的构成 (4) 2.2系统工作原理图 (4) 2.3AT89C51单片机及其引脚说明 (5) 2.4信号调理及放大整形模块 (7) 2.5时基信号产生电路 (7) 2.6显示模块 (8) 第3节软件设计 (12) 3.1 定时计数 (12) 3.2 量程转换 (12) 3.3 BCD转换 (12) 3.4 LCD显示 (12) 第4节结束语 (13) 参考文献 (14) 附录汇编源程序代码 (15)

基于51单片机的数字频率计 第1节引言 本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。 1.1数字频率计概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。 本数字频率计将采用定时、计数的方法测量频率,采用一个1602A LCD显示器动态显示6位数。测量围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。用单片机实现自动测量功能。 基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。 1.2频率测量仪的设计思路与频率的计算 频率测量仪的设计思路主要是:对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小,其原理如右图1所示。 1 图可知: T=NT o 为标准信号的周期,所以T为分频后信号的周期,则可以算出被测量信(注:T o

基于51单片机的心率计设计选题的目的和意义

选题的目的和意义: 在中医四诊(望、闻、问、切)中,脉诊具有非常重要的位置。它是我国传统医学中最具特色的一项诊断方法,历史悠久,内容丰富,是中医“整体观念”、“辨证论证”基本精神的体现与应用。医院的护士每天都要给住院的病人把脉记录病人每分钟心跳数,方法是用听诊器放在胸口处,根据心脏的跳动进行计数。为了节省时间,一般不会作1分钟的测量,通常是测量10秒内的心跳数,再把结果乘以6得到每分钟的心跳数,这样做还是比较费时,而且精度也不高。为了更方便以及更精确地反应出心率地正常与否,人类发明出了脉搏计。大大的翻遍了人类对于心脏类疾病的预防和治疗。脉搏波所呈现出的形态(波形)、强度(波幅)、速率(波速)和节律(周期)等方面的综合信息,在很大程度上反映出人体心血管系统中许多生理病理的血流特征,因此对脉搏波采集和处理具有很高的医学价值和应用前景。 国内外对本课题涉及问题的研究现状: 脉搏测量仪日常生活中已经得到了非常广泛的应用。早在1860年Vierordt 创建了第一台杠杆式脉搏描记仪,五十年代末,有人研制出以酒石酸钾钠压电晶片为换能器的脉搏描在我们的记器,将中医寸、关、尺的脉搏,通过换能器转换为电能加以放大描记,初步确定了中医弦脉、滑脉、平脉等的特征图形,1959年,进行高血压弦脉及其机制的研究。 六十年代初研制的“20型三线脉象仪”,首次实现了寸、关、尺三部切脉国内20世纪50年代初朱颜将脉搏仪引用到中医脉诊的客观化研究方面。此后随着机械及电子技术的发展,国内外在研制中医脉象仪方面进展很快,尤其是70年代中期,国内天津、上海、江西等地相继成立了跨学科的脉象研究协作组,多学科共同合作促使中医脉象研究工作进入了一个新的境界。脉象探头式样很多,有单部、三部、单点、多点、刚性接触式、软性接触式、气压式、硅杯式、液态汞、液态水等多种形式。目前脉搏测量仪在多个领域被广泛应用,除了应用于医学领域,如无创心血管功能检测、妊高症检测、中医脉象、脉率检测等等,商业应用也不断拓展,如运动、健身器材中的心率测试都用到了技术先进的脉搏测量仪。压力的任意调节和客观定量测定,以及与指感基本一致的压力脉象波型的描记。该仪器在临床试用取得大量的实验数据。之后,全国各地陆续研制出各种不同换能器(如半导体硅应变片换能器,电感式压力换能器,电阻抗式换能器)的脉象仪,不断提高换能器的灵敏度,精确度,并改进探头的造型。近年来有些单位还将声像图仪、频谱分析应用于中医脉象研究。七十年代初,中国医学科学院分院利用电子学的新进展,研制出性能较好的脉搏图机,所描记的脉搏图能反映出十余种脉象。为用脉搏图形识别这些脉搏打下了初步基础。七十年代末北京中医学院采用测量脉搏图参数,进行系统分析,来描述弦、滑、细、平等脉象的脉搏图特征,从定性推进到定量。八十年代初魏韧提出多因素脉图识别法,将切脉时医师的应指感觉分解为八种成分,其不同组合构成各种脉象。还研制出MTY-A型脉图仪,在传统的波形图外尚可描记各种取脉压力下的脉搏幅度趋势图及脉管粗细图,认为可综合上述八种指感成分,因而能反映出所有各种脉象。几乎世界上所有的民族都用过"摸脉"作为诊断疾病的手段。脉搏波所呈现出的形态(波形)、强度(波

基于51单片机的计算器设计程序代码汇编

DBUF EQU 30H TEMP EQU 40H YJ EQU 50H ;结果存放 YJ1 EQU 51H ;中间结果存放GONG EQU 52H ;功能键存放 ORG 00H START: MOV R3,#0 ;初始化显示为空MOV GONG,#0 MOV 30H,#10H MOV 31H,#10H MOV 32H,#10H MOV 33H,#10H MOV 34H,#10H MLOOP: CALL DISP ;PAN调显示子程序WAIT: CALL TESTKEY ; 判断有无按键JZ WAIT CALL GETKEY ;读键 INC R3 ;按键个数 CJNE A,#0,NEXT1 ; 判断就是否数字键 LJMP E1 ; 转数字键处理NEXT1: CJNE A,#1,NEXT2 LJMP E1 NEXT2: CJNE A,#2,NEXT3 LJMP E1 NEXT3: CJNE A,#3,NEXT4 LJMP E1 NEXT4: CJNE A,#4,NEXT5 LJMP E1 NEXT5: CJNE A,#5,NEXT6 LJMP E1 NEXT6: CJNE A,#6,NEXT7 LJMP E1 NEXT7: CJNE A,#7,NEXT8 LJMP E1 NEXT8: CJNE A,#8,NEXT9 LJMP E1 NEXT9: CJNE A,#9,NEXT10 LJMP E1 NEXT10: CJNE A,#10,NEXT11 ;判断就是否功能键LJMP E2 ;转功能键处理NEXT11: CJNE A,#11,NEXT12 LJMP E2 NEXT12: CJNE A,#12, NEXT13 LJMP E2

51单片机_频率计_1602

电子产品设计与开发 结课论文 题目:其于51单片机的频率计设计与仿真 班级:电子1104班 姓名:陈** (组员)学号:03 电话:1376****** 成员:曾* (组长)学号:29 电话:13726****** 成员:孙* (组员)学号:21 电话:137*******

目录 一、需求分析 二、方案设计 1设计基本原理 (4) 1.1测量频率的原理 (4) 1.2系统设计框图 (4) 三、软件设计 (5) 1资源分配表 (5) 2程序流程框图 (6) 四、系统硬件线路设计图 (7) 1 单片机最小系统设计 (7) 2 液晶LCD1602显示电路 (8) 3 频率测量电路 (11) 五.系统仿真、测试结果及性能分析 (12) 1系统仿真、测试结果 (12) 2性能分析 (13) 六、心得与体会 (14) 七、参考文献 (14)

摘要 本设计提出了一种基于AT89C51单片机开发的数字频率测量仪的设计。系统以单片机AT89C51为核心,构成完备的测量系统。可以对信号进行频率的精确测量,测频在1Hz至10kHZ。采用液晶LCD1602显示被测信号的频率。与传统的电路系统相比,其有处理速度快、稳定性高、性价比高、硬件结构简单的优点。 关键词:单片机;低频;绝对误差

一、需求分析 频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通采用组合电路 和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号 时不宜直接使用。频率信号抗干扰性强、易于传输,可以获得较高的测量精度。同时,频率 测量方法的优化也越来越受到重视.并采用AT89C51 单片机和相关硬软件实现。MCS—51 系列单片机具有体积小,功能强,性能价格比较高等特点,因此被广泛应用于工业控制和 智能化仪器,仪表等领域。我们研制的频率计以89c51单片机为核心,具有性能优良,精 度高,可靠性好等特点。 二、设计方案 此次课程设计采用间接测量法来测量。要用到GATE信号,GATE=1时,TR0=1,INTO=1 才能启动计数器,而计数器0是通过外部中断INTO的下降沿开始触发的,计时器从0开 始计时,计数器只能测高电平,因此测得的时间为半个周期。当计数器0计时溢出,执行 m加1的操作。则测量时间为:t1=TH0*256+TL0+m*65536 ,所求频率F=1000000/(2*t1) 1设计基本原理 1.1测量频率的原理 定时/计数器工作在方式1,每产生一次定时器0中断,计数65536个脉冲,此时的 脉冲来自振荡器的12分频后的脉冲,其周期为1uS。根据产生外部中断0时,定时器0中 断的次数u,以及此时定时/计数器0计数寄存器的数值X,即可求得待测方波的周期为: T=(65536*u+X)us ,取其倒数即可求得待测方波的频率,小数点后保留两位,即可使得频 率精度为0.1HZ。 1.2系统设计框图 经过方案论证和比较后,最终确定的系统框图如图1所示,主要由AT89C51单片机、异或 器件、LCD1602、电源等组成。

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

电路实物图如下图所示: C 语言程序如下所示: /******************************************************************** zicreate ----------------------------- Copyright (C) https://www.wendangku.net/doc/7f15166050.html, -------------------------- * 程序名; 基于DS18B20的测温系统 * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s 左右自动 * 退出;按一下K3进入查看下限温度模式,显示1s 左右自动退出;按一下K4消除 * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能, * K1是实现减1功能,K3是用来设定上下限温度正负的。 * 编程者:Jason * 编程时间:2009/10/2 *********************************************************************/ #include //将AT89X52.h 头文件包含到主程序 #include //将intrins.h 头文件包含到主程序(调用其中的_nop_()空操作函数延时) #define uint unsigned int //变量类型宏定义,用uint 表示无符号整形(16位) #define uchar unsigned char //变量类型宏定义,用uchar 表示无符号字符型(8位) uchar max=0x00,min=0x00; //max 是上限报警温度,min 是下限报警温度 bit s=0; //s 是调整上下限温度时温度闪烁的标志位,s=0不显示200ms ,s=1显示1s 左右 bit s1=0; //s1标志位用于上下限查看时的显示 void display1(uint z); //声明display1()函数 #include"ds18b20.h" //将ds18b20.h 头文件包含到主程序 #include"keyscan.h" //将keyscan.h 头文件包含到主程序 #include"display.h" //将display.h 头文件包含到主程序

基于51单片机的数字频率计的设计

1 前言 频率测量是电子学测量中最为基本的测量之一。由于频率信号抗干扰性强,易于传输,因此可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。 1.1频率计概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号、方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路组成,产品不但体积大,运行速度慢而且测量低频信号不准确。本次采用单片机技术设计一种数字显示的频率计,测量准确度高,响应速度快,体积小等优点。 1.2频率计发展与应用 在我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事件。单片机作为最为典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。单片机已成为电子系统的中最普遍的应用。单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快,它已成为在现代电子技术、计算机应用、网络、通信、自动控制与计量测试、数据采集与信号处理等技术中日益普及的一项新兴技术,应用范围十分广泛。其中以AT89S52为内核的单片机系列目前在世界上生产量最大,派生产品最多,基本可以满足大多数用户的需要。

2 系统总体设计 2.1测频的原理 测频的原理归结成一句话,就是“在单位时间内对被测信号进行计数”。被测信号, 通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端。由晶体振荡器产生的基频,按十进制分频得出的分频脉冲,经过基选通门去触发主控电路,再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波,至十进制计数电路进行直接计数和显示。若在一定的时间间隔T内累 计周期性的重复变化次数N,则频率的表达式为式: N fx= T 频率计数器严格地按照 N f= T 公式进行测频。由于数字测量的离散性,被测频率在计数 器中所记进的脉冲数可有正一个或负一个脉冲的1 ±量化误差,在不计其他误差影响的情况下,测量精度将为: 1 () fA N δ= 应当指出,测量频率时所产生的误差是由N和T俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面T越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入端将被测信号倍频,另一方面可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。 上述表明,在频率测量时,被测信号频率越高,测量精度越高。 2.2总体思路 频率计是我们经常会用到的实验仪器之一,频率的测量实际上就是在单位时间内对信号进行计数,计数值就是信号频率。本文介绍了一种基于单片机AT89S52 制作的频率计的设计方法,所制作的频率计测量比较高的频率采用外部十分频,测量较低频率值时采用单片机直接计数,不进行外部分频。该频率计实现10HZ~2MHZ的频率测量,而且可以实现量程自动切换功能,四位共阳极动态显示测量结果,可以测量正弦波、三角波及方波等各种波形的频率值。 2.3具体模块 根据上述系统分析,频率计系统设计共包括五大模块:单片机控制模块、电源模块、放大整形模块、分频模块及显示模块。各模块作用如下:

基于51单片机的心率体温测试系统

摘要 本文介绍了一种基于51单片机的心率体温采集系统。首先介绍了51系列单片机的内部相关配置、工作原理以及编程方法,其次介绍了温度传感器PT100的相关测温方法以及通过红外光电传感器TCRT5000对射的方法来抓取人体脉搏信号。此次设计的电路部分主要包括:传感测量电路、放大电路、滤波整形电路、AD转换电路、计数显示电路、控制电路、电源供电电路等。通过按键开始测试,将PT100及TCRT5000输入的微弱信号进行放大整形,最后AD采集转换传送给单片机,在LCD1602上显示相关体温及心率信息。 本次硬件设计基于比较稳定可行、低成本的设计思想,软件设计采用模块化的设计方法,并且详细分析了红外传感器TCRT5000应用于心率测量上以及PT100应用于温度测量上的原理及优点,阐述了其他各配合电路的组成与工作特点,并且通过仿真进行电路的可行性验证,最后完成实物电路的设计,使得本次课题的预期结果得以实现。 关键词:51单片机;传感器;仿真;AD转换 I

Abstract This paper introduced a heart rate and body temperature acquisition system that based on 51 single chip microcomputer. First the internal configurations of 51 single chip microcomputer are introduced. And the paper also tell how 51 single chip microcomputer works and how can we program on it. Then the method of using temperature sensor PT100 to get body temperature is introduced, and we use infrared photoelectric sensor TCRT5000 to get the pulse signal of human body.The design of the circuit mainly comprises sensing circuit , amplifying circuit, filtering and shaping circuit, AD converting circuit, counting and displaying circuit, controlling circuit, power supplying circuit and so on. When the keyboard is pressed, the system starts to get signal. The small signal from PT100 and TCRT5000 will be amplified and shaped. Then ad converter will change the analog signal into digital signal and send to 51 single chip microcomputer . At last LCD1602 will display the information of body temperature and heart rate. Keywords: Piezoelectric sensors;control circuit;counters;Multisim2001 simulation software control circuit. II

相关文档
相关文档 最新文档