搜档网
当前位置:搜档网 › 基于51单片机的示波器

基于51单片机的示波器

基于51单片机的示波器
基于51单片机的示波器

51单片机波形发生器(本程序适用)

其中独立按键1、2、3、4按下时会产生四个不同波形(矩形、三角波、梯形波、正弦波)

主函数:

Main.c

#include

#include "i2c.h"

#define AddWr 0x90 //写数据地址

#define AddRd 0x91 //读数据地址

/*unsigned char code tab[]={

0,25,50,75,100,125,150,175,200,225,250 //表格数值越多,波形越平滑

};*/

unsigned char code tab1[]={

0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,

170,180,190,200,210,220,230,240,250

};

unsigned char code juchi[64]={

0,4,8,12,16,20,24,28,32,36,40,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,12 1,125,130,134,138,142,

146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,215,219,223,227,231,23 5,239,243,247,251,255

};

unsigned char code sin[64]={135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,2 43,237,230,222,213,204,193,182,170,158,

146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,1 02,114,128};

unsigned char code sanjiao[64]={

0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208

,216,224,232,240,248,

248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64, 56,48,40,32,24,16,8,0

};

unsigned char code tixing[64]={

0,13,26,39,52,65,78,91,104,117,130,143,156,169,182,195,208,221,234,247,247,247,247,247,247, 247,247,247,247,247,247,247,247,247,247,247,247,247,

247,247,247,247,247,247,247,242,229,216,203,190,177,164,151,138,125,112,99,86,73,60,47,34,2 1,8

};

unsigned char code juxing[64]={

255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,25 5,255,255,255,

255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

};

extern bit ack;

bit WriteDAC(unsigned char dat,unsigned char num);

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

主程序

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

main()

{

unsigned char i;

while (1) //主循环

{

// for(i=0;i<26;i++)

// WriteDAC(tab1[i],1);

while(P1==0xff)

{

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

WriteDAC(juxing[i]*6/10,1);

if(P1!=0xff)break;

}

while(P1==0xfe)

{

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

WriteDAC(tixing[i]*6/10,1);

if(P1!=0xfe)break;

}

while(P1==0xfd)

{

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

WriteDAC(sanjiao[i]*6/10,1);

if(P1!=0xfd)break;

}

while(P1==0xfb)

{

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

WriteDAC(sin[i]*6/10,1);

if(P1!=0xfb)break;

}

while(P1==0xf7)

{

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

WriteDAC(juchi[i]*6/10,1);

if(P1!=0xf7)break;

}

}

}

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

写入DA转换数值

输入参数:dat 表示需要转换的DA数值,范围是0-255 ------------------------------------------------*/

bit WriteDAC(unsigned char dat,unsigned char num) { unsigned char i;

Start_I2c(); //启动总线

SendByte(AddWr); //发送器件地址

if(ack==0)return(0);

SendByte(0x40); //发送器件子地址

if(ack==0)return(0);

for(i=0;i

{

SendByte(dat); //发送数据

if(ack==0)return(0);

}

Stop_I2c();

}

IIC协议:

IIC.C

#include "i2c.h"

#define _Nop() _nop_() //定义空指令

bit ack; //应答标志位

sbit SDA=P2^1;

sbit SCL=P2^0;

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

启动总线

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

void Start_I2c()

{

SDA=1; //发送起始条件的数据信号

_Nop();

SCL=1;

_Nop(); //起始条件建立时间大于4.7us,延时

_Nop();

_Nop();

_Nop();

_Nop();

SDA=0; //发送起始信号

_Nop(); //起始条件锁定时间大于4μ

_Nop();

_Nop();

_Nop();

_Nop();

SCL=0; //钳住I2C总线,准备发送或接收数据_Nop();

_Nop();

}

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

结束总线

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

void Stop_I2c()

{

SDA=0; //发送结束条件的数据信号

_Nop(); //发送结束条件的时钟信号

SCL=1; //结束条件建立时间大于4μ

_Nop();

_Nop();

_Nop();

_Nop();

_Nop();

SDA=1; //发送I2C总线结束信号

_Nop();

_Nop();

_Nop();

}

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

字节数据传送函数

函数原型: void SendByte(unsigned char c);

功能: 将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对此状态位进行操作.(不应答或非应答都使ack=0 假)

发送数据正常,ack=1; ack=0表示被控器无应答或损坏。

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

void SendByte(unsigned char c)

{

unsigned char BitCnt;

for(BitCnt=0;BitCnt<8;BitCnt++) //要传送的数据长度为8位{

if((c<

else SDA=0;

_Nop();

SCL=1; //置时钟线为高,通知被控器开始接收数据位_Nop();

_Nop(); //保证时钟高电平周期大于4μ

_Nop();

_Nop();

_Nop();

SCL=0;

}

_Nop();

SDA=1; //8位发送完后释放数据线,准备接收应答位_Nop();

_Nop();

SCL=1;

_Nop();

_Nop();

_Nop();

if(SDA==1)ack=0;

else ack=1; //判断是否接收到应答信号

SCL=0;

_Nop();

_Nop();

}

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

字节数据传送函数

函数原型: unsigned char RcvByte();

功能: 用来接收从器件传来的数据,并判断总线错误(不发应答信号),发完后请用应答函数。

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

/*unsigned char RcvByte()

{

unsigned char retc;

unsigned char BitCnt;

retc=0;

SDA=1; //置数据线为输入方式

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

{

_Nop();

SCL=0; //置时钟线为低,准备接收数据位

_Nop();

_Nop(); //时钟低电平周期大于4.7us

_Nop();

_Nop();

_Nop();

SCL=1; //置时钟线为高使数据线上数据有效

_Nop();

_Nop();

retc=retc<<1;

if(SDA==1)retc=retc+1; //读数据位,接收的数据位放入retc中

_Nop();

_Nop();

}

SCL=0;

_Nop();

_Nop();

return(retc);

}

*/

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

应答子函数

原型: void Ack_I2c(void);

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

/*void Ack_I2c(void)

{

_Nop();

_Nop();

_Nop();

SCL=1;

_Nop();

_Nop(); //时钟低电平周期大于4μ

_Nop();

_Nop();

_Nop();

SCL=0; //清时钟线,钳住I2C总线以便继续接收_Nop();

_Nop();

}*/

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

非应答子函数

原型: void NoAck_I2c(void);

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

/*void NoAck_I2c(void)

{

SDA=1;

_Nop();

_Nop();

_Nop();

SCL=1;

_Nop();

_Nop(); //时钟低电平周期大于4μ

_Nop();

_Nop();

_Nop();

SCL=0; //清时钟线,钳住I2C总线以便继续接收_Nop();

}

*/

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

向无子地址器件发送字节数据函数

函数原型: bit ISendByte(unsigned char sla,ucahr c);

功能: 从启动总线到发送地址,数据,结束总线的全过程,从器件地址sla.

如果返回1表示操作成功,否则操作有误。

注意:使用前必须已结束总线。

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

/*bit ISendByte(unsigned char sla,unsigned char c)

{

Start_I2c(); //启动总线

SendByte(sla); //发送器件地址

if(ack==0)return(0);

SendByte(c); //发送数据

if(ack==0)return(0);

Stop_I2c(); //结束总线

return(1);

}

*/

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

向有子地址器件发送多字节数据函数

函数原型: bit ISendStr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); 功能: 从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。

如果返回1表示操作成功,否则操作有误。

注意:使用前必须已结束总线。

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

/*bit ISendStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) {

unsigned char i;

for(i=0;i

{

Start_I2c(); //启动总线

SendByte(sla); //发送器件地址

if(ack==0)return(0);

SendByte(suba); //发送器件子地址

if(ack==0)return(0);

SendByte(*s); //发送数据

if(ack==0)return(0);

Stop_I2c(); //结束总线

DelayMs(1); //必须延时等待芯片内部自动处理数据完毕

s++;

suba++;

}

return(1);

}

*/

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

向无子地址器件读字节数据函数

函数原型: bit IRcvByte(unsigned char sla,ucahr *c);

功能: 从启动总线到发送地址,读数据,结束总线的全过程,从器件地址sla,返回值在c.

如果返回1表示操作成功,否则操作有误。

注意:使用前必须已结束总线。

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

/*bit IRcvByte(unsigned char sla,unsigned char *c)

{

Start_I2c(); //启动总线

SendByte(sla+1); //发送器件地址

if(ack==0)return(0);

*c=RcvByte(); //读取数据

NoAck_I2c(); //发送非就答位

Stop_I2c(); //结束总线

return(1);

}

*/

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

向有子地址器件读取多字节数据函数

函数原型: bit ISendStr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); 功能: 从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。

如果返回1表示操作成功,否则操作有误。

注意:使用前必须已结束总线。

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

/*bit IRcvStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) {

unsigned char i;

Start_I2c(); //启动总线

SendByte(sla); //发送器件地址

if(ack==0)return(0);

SendByte(suba); //发送器件子地址

if(ack==0)return(0);

Start_I2c();

SendByte(sla+1);

if(ack==0)return(0);

for(i=0;i

{

*s=RcvByte(); //发送数据

Ack_I2c(); //发送就答位

s++;

}

*s=RcvByte();

NoAck_I2c(); //发送非应位Stop_I2c(); //结束总线return(1);

}

*/

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

基于51单片机的的温度报警器设计

1引言 (1) 1.1 单片机的应用背景 (1) 2 总体设计方案 (2) 2.1 功能简介 (2) 2.2 设计思路 (2) 2.3 芯片器材 (3) 3 硬件设计 (3) 3.1 AT89C51 (3) 3.1.1 AT98C51引脚图 (3) 3.1.2 AT89C51结构特点 (5) 3.2 温度获取 (5) (7) 3.3 时钟电路 (8) 3.4 温度显示电路 (8) 3.5报警电路 (10) (10) 4 程序设计 (10) 4.1 程序流程图 (11) 4.2 初始化子程序 (11) 4.3 读子程序 (12) 4.4 写子程序 (13) 4.5 数据处理子程序 (13) 4.6 显示子程序 (15) 4.7报警子程序 (17) 5 实验仿真 (18) (18) 6 总结 (19) 参考文献 (20) 附录 (21) 1引言 1.1 单片机的应用背景 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗机械了。

世面上主要的单片机类型有Motorola 单片机、Microchip 单片机、东芝单片机、8051单片机、Atmel 单片机等。此次课设中用到的是ATMEL公司,下面着重介绍一下ATMEL公司的单片机。 ATMEL 公司是世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体制造公司。ATMEL 公司最令人注目的是它的EEPROM 电可擦除技术闪速存储器技术和质量高可靠性的生产技术。在CMOS 器件生产领域中,ATMEL 的先进设计水平优秀的生产工艺及封装技术一直处于世界的领先地位。这些技术用于单片机生产,使单片机也具有优秀的品质在结构性能和功能等方面都有明显的优势,ATMEL 公司的单片机是目前世界上一种独具特色。 而性能卓越的单片机它在计算机外部设备通讯设备自动化工业控制宇航设备仪器仪表和各种消费类产品中都有着广泛的应用前景。其生产的AT90系列是增强型RISC内载FLASH单片机,通常称为A VR系列。AT91M系列是基于ARM7TDMI 嵌入式处理器的ATMEL 16/32 微处理器系列中的一个新成员,该处理器用高密度的16 位指令集实现了高效的32 位RISC 结构且功耗很低。另外ATMAL的增强型51系列单片机目前在市场上仍然十分流行,其中AT89S51十分活跃。 当今社会,人们在追求高质量的生活,所以生活中离不开单片机,根据国家权威统计显示,目前我国的单片机容量达3亿片,且每年以大约20%的速度增长,但在世界市场我国的占有率还不到1%。沿海地区尤其像电子产品高度发达的深圳大部分单片机应用更是广泛,这种发展趋势也不断向内地辐射,因此,学好单片机有很重要的意义。 2 总体设计方案 2.1 功能简介 8位LED数码管直接显示DS18B20所测量的温度,超出-50~110℃范围时喇叭报警,并且对应的发光二极管开始闪烁,在温度范围内时喇叭停止报警并且数码管显示其温度,测量精度为0.5℃。 2.2 设计思路

单片机实验报告简易报警器

简易报警器 一、本次根据单片机课程设计题目与要求,我选择的是设计一个简易报警器。 二、课程设计要求:自制一个单片机最小系统,包括串口下载、复位电路,采用两路外部中断输入门禁和红外探测两路信号(采用两个小按键模拟),中断信号输入后能将报警信息在四位一体数码管上显示,并输出声光报警信号。 三、设计所需的硬件:的无极性电容五个;10uF的极性电容两个;发光二极管两个;三极管9013四个;千欧的排阻一个;100,1k,10k 的电阻若干;芯片插座若干;的晶振一个;单片机STC89C54RD芯片一块;MAX232串口芯片一块;导线若干; 四、课程设计要求是用按键红外探测和输入门禁。但是由于实验室设备的条件,我采用的是红绿两个二极管代替红外探测的发光显示和输入门禁的报警装置。 五、总体设计思想

六、晶振电路 振荡器是数字钟的核心。振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路。石英晶体振荡器的作用是产生时间标准信号。因此,一般采用石英晶体振荡器经过分频得到这一时间脉冲信号。 七、按键模块

鉴于使用中断电路会增加硬件电路的复杂度,本电路采用独立按键的方法,只需在程序中加入扫描程序即可。其中接按键光标移位,接按键时间加数,接按键时间减数,接按键模拟红外探测,接按键模拟输入门禁,。 九、SPEAKER电路 报警器装置的原理就是利用出来的高低电平交换使得扬声器发出声音。但是由于实验室的器材有限,所以我们改用了发光二极管来代替SPEAKER电路。

十、实验仿真程序如下: #include <> #include <> #define uchar unsigned char #define uint unsigned int uchar code table_data[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x00}; uchar code table_select[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar table_buffer[]={0,0}; uchar count0,count1; sbit LEDREDCON=P0^0; sbit LEDGREENCON=P0^1; sbit spe=P0^2; sbit Kint0=P3^2;

基于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单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

基于51单片机的一氧化碳报警器的设计

基于51单片机的一氧化碳报警器的设计 本文设计了一款能够自动检测房间内一氧化碳气体浓度的报警器,当气敏传感器检测到的浓度值大于安全值时,报警器发出报警信号并控制外部的排风扇和电磁阀进行事故处理;整个过程中通过LED实时显示一氧化碳气体的浓度值。 标签:一氧化碳;气体传感器;单片机;检测;浓度 一、引言 现今,单片机技术快速发展、应用广泛,涉及到现实生活中的各个领域,单片机技术产品和设备的应用促进了生产技术水平的不断提高。本文中的气体浓度检测系统正是单片机应用系统中的一种。这次设计使用的气体传感器就是要测量一氧化碳浓度的动态信号,然后利用A/D转换芯片将浓度值转换为数字值,实现整个系统的检测与事故处理功能,实现智能控制。 二、系统硬件设计 (一)系统硬件电路组成 本系统属于单片机在系统检测及工程控制方面的应用。为保证可靠运行,整个硬件系统包括三个部分:主控模块、浓度检测及显示模块、报警及事故处理模块,其中,主控模块以单片机为中心,对其他模块的运行进行控制;浓度检测及显示模块的功能是将房间中的一氧化碳浓度值转换成为单片机能够处理的数字信号,并且将浓度值通过LED显示出来;报警及事故处理模块是此系统的外围电路,它的功能实现形式最人性化,体现了智能控制,在检测到一氧化碳的浓度超过指定值时会启动蜂鸣器报警,报警无效后即会进行事故处理,启动排气扇和关闭电磁阀来防止事故的发生。 (二)系统各个模块功能说明 1.主控模块 系统选用单片机控制,采用MCS-51单片机。MCS-51系列单片机是美国Intel 公司1980年推出的一种高性能8位单片微型计算机,内带4K字节的内存和程序保护系统,便于程序的调试修改和保密。它的主要功能是和ADC0809芯片一起共同接收检测信号,通过对数字信号的处理来控制外围电路及显示电路。模数转换芯片采用ADC0809,接收经过运算放大器处理后的一氧化碳传感器的检测值,检测结果经过ADC0809处理后送单片机进行数据处理。处理后的信息将通过单片机控制,在LED显示管上显示出来,并且控制事故处理模块。 2.气体浓度检测模块

基于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单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

基于51单片机的温湿度报警器

引言 网络通信技术的发展,使监控系统广泛应用于工农业生产等领域,因此,粮情检测技术粮情检测属监控系统范畴,近年来,由于计算机技术、超大规模集成电路技术和的研究在软、硬件等方面都有了一定的进展。 早期粮情监测主要采用温度计测量法,它是将温度计放入特制的插杆中,根据经验插在粮堆的多个测温点,管理人员定期拔出读数,确定粮温的高、低,决定是否倒粮。这种方法对储粮有一定的作用,但由于温度计精度、人工读数的人为因素等原因,温度检测不仅速度慢,而且精度低,抽样不彻底,局部粮温过高不易被及时发现,导致因局部粮食发霉变质引起大面积坏粮的情况时有发生。随着科技的发展,从1978 年开始,采用电阻式温度传感器、采样器、模数转换器、报警器等组成的储粮监测系统出现,它可对各粮库的各个测温点进行巡回检测,检测速度、精度大大提高,降低了劳动强度,但由于电阻传感器的灵敏度低,致检测精度、系统可靠性还不够理想。至1990 年,粮情检测系统有了很大的改善和提高,系统在布线上采用矩阵式布线技术,简化了数据采集部分的线路,在传感器方面应用了半导体、热电偶等器件;在线路传输上采用了串行传输方式,从而减少了传输线根数;采用单板机进行数据处理,并采用各种手段提高数据传输及检测速度,通过软硬件技术的结合,检测精度和可靠性较前有很大提高。但温度传感器的线性度差,系统的检测精度仍不理想,无法大面积推广。近年来,随着单片机功能的日益强大和计算机的广泛应用,粮情检测的准确性、稳定性要求越来越高。寻找最佳配置和最好的性价比成为粮情监测研究的热点国外在粮情监控技术上已达到了很成熟的地步,高科技数字式传感器广泛应用于粮情检测系统。这种传感器采用了半导体集成电路与微控制器最新技术,在一个管芯上集成

(完整版)基于单片机的红外报警器的设计

微机原理与单片机系统课程设计 专 班 姓 名: 学 兰州交通大学自动化与电气工程学院 2014 年 12 月 31 日

基于51单片机的红外防盗报警器的设计 1设计说明 1.1设计目的 该设计以单片机AT89C51芯片为核心,加上必要的外围电路,构成了一个基于单片机的红外线防盗报警器。功能主要通过软件编程来实现,降低了硬件电路的复杂性和制作成本。此外,设计中所采用的红外线是不可见光,有很强的隐蔽性和保密性,以满足现代人们住宅防盗的需要。 1.2设计要求 该设计要求当热释电红外线传感器探测到人体辐射的红外线时,单片机控制电路启动声光报警并显示报警次数。此外,用户还可以设定报警时间并手动解除报警。 1.3设计方法 该设计以AT89C51单片机为核心,由时钟电路、复位电路、外部触发电路、报警时间选择电路、声光报警电路、报警次数显示电路和中断报警电路共同组成报警系统。系统具有显示报警次数,设定报警时间,手动解除报警的功能。 2设计方案及原理 2.1设计方案简述 该设计使用AT89C51单片机芯片控制电路,通过热释电红外传感器采集外部触发信号,采用7段LED数码管显示报警次数,采用蜂鸣器和红色发光二极管实现声光报警,手动解除报警功能由单片机外部中断实现,报警时间由单片机内部定时器实现。 2.2热释电红外传感器简单介绍 热释电红外线(PIR)传感器是80年代发展起来的一种新型高灵敏度探测元件。是一种能检测人体发射的红外线而输出电信号的传感器,它能组成防入侵报警器或各种自动化节能装置。它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。将这个电压信号加以放大,便可驱动各种控制电路。 2.3 PIR的原理特性 热释电红外线传感器主要是由一种高热电系数制成的探测元件,在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自

基于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单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

基于51单片机的报警器设计

引言 报警器,防盗报警器,是对用于发生警情、危险、紧急情况等状况下以声音、光线、气压等形式发出警报的电子产品的统称。随着科技的进步,机械式报警器越来越多地被先进的电子报警器代替,经常应用于系统故障、安全防范、交通运输、医疗救护、应急救灾等领域,与社会生产、生活密不可分。 防盗报警系统通常由:探测器(又称报警器)、传输通道和报警控制器三部分构成。报警探测器是由传感器和信号处理组成的,用来探测入侵者入侵行为的,由电子和机械部件组成的装置,是防盗报警系统的关键,而传感器又是报警探测器的核心元件。采用不同原理的传感器件,可以构成不同种类、不同用途、达到不同探测目的的报警探测装置,单片微型计算机,通常简称为单片机,它采用大规模集成电路技术把微处理器和随机存取数据存储器,只读程序存储器,输入输出电路以及定时计数器。串行通信口,时钟电路。脉冲调制电路。模拟多路转换器,A/D转换器等电路集成到单独的一块芯片上,构成一个最小的完善的计算机系统,这些电路能在软件的控制下单独。准确,迅速,高效的完成程序设计者现规定的任务。因为由单片机构成的电路玩玩具有体积小,成本低,功能强,可靠性高,功耗低,电路简洁,开发和改进容易等等一系列有点,因此就有优异地性价比,从而使它在多方面得到了越来越多的使用,本次设计就是基于单片机的报警器设计。

一设计基本电路原理和思路 该报警器得设计思路是首先,利用光敏电阻构成光敏开关,光敏开关的作用是为单片机报警主电路提供报警信号,即通过光敏开关实现高低电平信号的转换,报警信号通过单片机软件处理实现信号的转换,在利用转换的信号驱动扬声器继而用声音输出进行报警,本次实验是通过光照的变化,利用光敏电阻随光照强度变化,阻值发生变化的特性首先实现的开关电路,即报警信号的来源是关照,报警主电路由单片机和音频放大模块组成,利用单片机上写入的程序,实现当报警信号输入单片机,其就会产生频率不等的信号。以驱动扬声器报警。 采用光敏电阻的光控开关 这是两种开关电路的主要原理:利用功率MOS场效应管可以作功率开关,开关的敏感元件可以采用光敏电阻LDR,当光线照射的光敏电阻上时,LDR呈低阻值,有信号加在场效应晶体管的栅极上,源漏极间导通,从而使继电器线圈K改变状态,产生控制作用或发出信号,如果将光敏电阻LDR接在地电位处,则在暗时无光线照射的光敏电阻,光敏电阻阻值高,故VMOS管栅极电位高,导通使灯L亮,反之,当有光线照射到LDR上时,VMOS栅极处于低电位截止,灯L 不亮。 本次试验采用试验一电路,即利用继电器线圈构成的电子开关达到采集信号的目的。具体是当有光线照到LDR上时,光敏电阻阻值减小,对应VMOS门级电压增加,电磁开关上流过的电流增加,引起电磁开光开启,开关k1闭合,端口输入高电平,报警电路导通,即可实现报警功能,光敏开关控制电路置于端口P1.0与总开关K1之间。

基于单片机控制的红外线防盗报警器的设计

目录 1 绪论 (3) 1.1 研究目的和意义 (3) 1.2 研究内容 (3) 1.3研究方法和技术路线 (3) 1.4 预期的研究目标 (4) 2 系统总体设计 (4) 2.1系统概述 (4) 2.2 主要器件介绍 (6) 2.2.1 热释电红外传感器概述 (6) 2.2.2 AT89C51 单片机概述 (9) 2.3 总体设计框图 (14) 3 系统硬件设计 (15) 3.1信号检测与放大模块 (15) 3.1.1电路实现功能 (15) 3.1.2电路图 (15) 3.1.3电子元件介绍 (15) 3.2 LED显示模块 (16) 3.2.1 电路实现功能 (16) 3.2.2电路图 (16) 3.2.3电子元件介绍 (16) 3.3 报警执行模块 (17) 3.3.1 电路实现功能 (17) 3.3.2电路图 (17) 3.3.3电子元件介绍 (17) 3.4 手工暂停模块 (18) 3.4.1 电路实现功能 (18)

3.4.2电路图 (18) 3.5 晶振与复位模块 (18) 3.5.1 电路实现功能 (18) 3.5.2电路图 (19) 3.5.3电子元件介绍 (19) 4 系统软件设计 (21) 4.1 软件设计介绍 (21) 4.2 主程序设计 (21) 4.2.1 实现功能 (21) 4.2.2 流程图 (21) 4.3 定时中断程序设计 (23) 4.3.1 实现功能 (23) 4.3.2 10s定时流程图 (23) 4.3.3 关键技术 (23) 4.3.4 关键代码: (25) 4.4 解除中断程序设计 (26) 4.4.1 实现功能 (26) 4.4.2 程序流程图 (26) 4.4.3 关键技术 (27) 4.4.4 关键代码 (28) 5 实验结论 (29) 结束语 (30) 附录一 (30) 附录二 (33) 附录三 (33) 参考文献 (34) 致谢 (35)

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

《单片机技术及其应用》课程设计报告 专业:通信工程 班级:09312班 姓名:某某某 学号:09031069 指导教师: 二0一二年六月十八日

目录 1设计目的 (1) 2 设计题目描述与要求 (1) 3 设计过程 (2) 4硬件总体方案及说明 (6) 5 软件总体方案及设计流程 (9) 6 调试与仿真 (13) 7 心得体会 (14) 8 指导老师意见 (15) 9 参考文献 (16) 附录一 (16) 附录二 (21)

基于51单片机的数字计算器的设计 1设计目的 简易计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,简易计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,同时学习查阅资料、参考资料的方法。 本设计是基于51系列的单片机进行的简易计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED 上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件选择AT89C51单片机和74ls164,输入用4×4矩阵键盘。显示用5位7段共阴极LED静态显示。软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。选用编译效率最高的Keil软件进行编程,并用proteus仿真。 2 设计题目描述与要求 基于AT89C51数字计算器设计的基本要求与基本思路: (1)扩展4*4键盘,其中10个数字,5个功能键,1个清零 (2)使用五位数码管接口电路

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

基于C51单片机的声光报警器设计说明

本科课程设计报告 题目:基于C51单片机的声光报警器设计院(系):电气与信息工程学院 专业:电子信息工程 班级: 姓名: 学号:2009021986 指导教师: 设计日期:2012年11月29日 报告书写要求

1、报告封皮标题栏为宋体小三号居中,下划线需右边对齐。 2、报告的撰写要求条理清晰、语言准确、表述简明。报告中段首空两个字符,中文字体为宋体五号,数字、字符、字母为Times New Roman五号,且单教研室主任意见: 3、报告中插图应与文字紧密配合,文图相符,技术容正确。每个图都应配有图题(由图号和图名组成)。图题(宋体小五号)置于图下居中,其中图号按顺序编排,图名在图号之后空一格排写。图中若有分图时,分图号用(a)、(b)等置于分图之下。 4、报告中插表应与文字紧密配合,文表相符,技术容正确。表格不加左、右边线,每个表应配有表题(由表号和表名组成)。表题(宋体小五号)置于表上居中,其中表号按顺序编排,表名在表号之后空一格排写。 5、报告中公式原则上居中书写。若公式前有文字(如“解”、“假定”等),文字顶格书写,公式仍居中写。公式末不加标点。公式序号按顺序编排,如报告中第一部分的第一个公式序号为“(1-1)”,文中引用公式时,一般用“见式(1-1)”或“由公式(1-1)”。 6、参考文献反映报告的取材来源,是报告不可缺少的组成部分,参考文献数量一般为8~10篇。引用文献标示应置于所引容最末句的右上角,用小五号字体。所引文献编号用阿拉伯数字置于方括号“[ ]”中,如“二次铣削[1]”。参考文献应按在文中出现的顺序编排,常用参考文献编写项目和顺序规定如下:(1)著作图书文献:序号└─┘作者.书名.版次.出版者,出版年:引用部分起止页 第一版应省略 (2)翻译图书文献:序号└─┘作者.书名.译者.版次.出版者,出版年:引用部分起止页 第一版应省略 (3)学术刊物文献:序号└─┘作者.文章名.学术刊物名.年,卷(期):引用部分起止页 (4)学术会议文献:序号└─┘作者.文章名.编者名.会议名称,会议地址,年份.出版地,出版者,出版年:引用部分起止页 (5)学位论文类参考文献:序号└─┘研究生名.学位论文题目.学校及学位论文级别.答辩年份:引用部分起止页 7、若设计完成实物制作需在报告后附录硬件电路原理图和实物测试图,附录的序号采用“附录1”、“附录2”等,并注明附录的容。 8、设计报告应按如下容和顺序A4纸双面打印(标注页码)、左侧装订成册。

基于单片机的报警系统

毕业设计 热释电人体感应红外报警器设计制作 学生学号:141101043 141101066 学生姓名:张飞鹏白堆兑 导师姓名:杜娟 班级机电一体化(2)班专业名称机电一体化 提交日期年月日答辩日期年月日 年月

摘要 热释电红外传感器,它的制作简单、成本低、安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。这种防盗器安装隐蔽,不易被盗贼发现,便于多用户统一管理。本设计包括硬件和软件设计两个部分。硬件部分包括单片机控制模块、红外探头模块、驱动执行报警模块、LED控制模块等部分组成。处理器采用51系列单片机AT89C51,程序使用C语言编写。 关键字:热释电红外传感器、AT89C51、红外线.

目录 一、引言 (4) 二、设计任务分析 (4) 三、技术方案的详细设计(实施) (5) (一)本系统的设计方案 (5) 1.系统概述 (5) (二)硬件电路设计 (5) (三)单片机部分 (6) 1.AT89C51单片机简介 (10) 2.单片机最小系统 (11) 3.按键部分电路 (11) 4.报警电路 (12) 5.红外感应部分 (110) 6.主程序工作流程图 (13) 四、调试及调试中遇到的问题 (14) 五、总结评价 (15) 致谢 (16) 参考文献 (17) 附件一:总体原理图设计 (18) 附件二:实物图 (20) 附件三:程序源代码 (20)

一、引言 随着科技的提高,电子电器飞速发展,人民生活水平有了很大提高。各种高档家电和贵重物品为许多家庭所拥有。然而一些不法分子也越来越多。这点就是因为不法分子看到了大部分人防盗意识不够强所造成的结果。因此越来越多的居民家庭对财产安全问题十分担忧。报警系统这时为人们解决了大部分问题。但是市场上的报警系统大部分是适用于一些大公司的重要机构。其价格昂贵,使普通家庭难以承受。如果设计一种价格低廉,性能可靠、智能化的报警系统,必将在私人财产的防盗领域起到巨大作用。由于红外线是不可见光,隐蔽性能良好,因此在防盗、警戒等安保装置中被广泛应用。而本设计的电路包括硬件和软件两个部分。硬件部分包括红外感应部分与单片机控制部分,整个系统电路可划分为:电源部分、传感器模块部分、单片机控制电路,而单片机控制由最小系统和指示灯电路、报警电路等子模块组成。主要工作由热释电红外感应器完成信息采集、处理、数据传送经过单片机功能设定到达报警模块这一过程。就此设计的核心模块来说,单片机就是设计的中心单元。单片机应用系统也是由硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是主要是工作的程序通过编写程序来控制输入的信号。 二、设计任务分析 1.该设计包括硬件和软件设计两个部分。模块划分为数据采集、按键设定、报警等。 2.本红外线防盗报警系统由热释电红外传感器、蜂鸣器、单片机控制电路、LED指示电路及软件组成。 3.系统可实现功能。当人员外出时,可把报警系统设置在外出布防状态,探测器工作起来,当有人闯入时,热释电红外传感器将探测到动作,设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,红外热释电模块送出TTL 电平至AT89C51单片机,经单片机处理运算后驱动执行报警电路使警号发声。

相关主题