文档库 最新最全的文档下载
当前位置:文档库 › 单片机DS18B20课程设计

单片机DS18B20课程设计

单片机DS18B20课程设计
单片机DS18B20课程设计

无线单片机及应用

课程设计报告

设计题目:温度计

专业:物联网工程

组别:温度计个人组

学生姓名: 周根弟学号: 1121316123 起止日期: 2014年6月16日~ 2014年6月20日

指导教师:邵鹤帅胡荣林

目录

1内容摘要 (3)

2温度计的概述及设计要求 (4)

2.1温度计的概述 (4)

2.2设计任务及要求 (4)

2.2.1基本任务 (4)

2.2.2设计要求 (4)

3硬件设计 (5)

3.1 单片机系统 (5)

2.1.1功能控制 (5)

3.1.2单片机系统电路原理图 (5)

3.2 数字温度传感器模块 (6)

3.2.1 DS18B20性能 (6)

3.2.2 DS18B20外形及引脚说明 (6)

3.2.3 DS18B20接线原理图 (7)

3.3 显示电路 (7)

3.4 声光报警电路 (8)

3.5数据处理 (8)

4软件设计 (9)

4.1 主程序模块 (9)

4.2读温度值模块 (9)

4.2.1读值模块 (10)

4.2.2 DS18B20初始化子程序流程图 (11)

4.2.3 DS18B20写字节和读字节子程序 (12)

4.3 中断模块 (12)

4.4 温度设定、报警模块 (13)

4.5 数码管驱动模块 (13)

5源程序 (15)

6总结体会 (20)

7参考文献 (20)

1内容摘要

目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。

单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。

本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。

传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下面利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。

该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D2、D1共2位七段码LED显示器上。系统以AT89C51单片机为控制核心, 2位温度数据显示电路以及外围电源、时钟电路等组成。本次设计完成一个最小系统的设计,系统电路简单、操作简便,系统具有可靠性高、成本低、功耗小等优点。

2温度计的概述及设计要求

2.1温度计的概述

数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C51单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。

利用集成温度传感器DS18B20设计并制作了一款基于AT89C51的2位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。

2.2设计任务及要求

2.2.1基本任务

1.数字温度计利用DS18B20集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数AD转换器转换成单片机能够处理的数字信号。

2.模拟电压信号送到单片机AT89C51中进行处理变换,最后将温度值显示在D2、D1共2位七段码LED显示器上。

3.系统以AT89C51单片机为控制核心,加上AT89C51测温电路、ADC模数转换电路、2位温度数据显示电路以及外围电源、时钟电路等组成。

2.2.2设计要求

1.5V供电;

2.温度采集采用DS18B20;

3.4位LED显示;

4.2个按键;

5.设计温度控制器原理图,学习用PROTEL画出该原理图,并用proteus进行仿真;

6.设计和绘制软件流程图,用C语言进行程序编写;焊接硬件电路,进行调试。

3硬件设计

3.1 单片机系统

2.1.1功能控制

1.DS18B20数字温度传感器的初始化和读取温度值

2.LED数码管显示驱动与控制

3.按键识别和响应控制

4.温度设置和报警

5.温度值的存储和读取

3.1.2单片机系统电路原理图

图2 单片机系统原理图

3.2 数字温度传感器模块

3.2.1 DS18B20性能

1.独特的单线接口仅需一个端口引脚进行通信

2.简单的多点分布应用

3.无需外部器件

4.可通过数据线供电

5.零待机功耗

6.测温范围-55~+125℃,以0.5℃递增

7.负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作3.2.2 DS18B20外形及引脚说明

图3 DS18B20外形及引脚

1.GND:地

2.DQ:单线运用的数据输入/输出引脚

3.VD:可选的电源引脚

3.2.3 DS18B20接线原理图

单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。

图4 DS18B20接线原理图

3.3 显示电路

LED数码管显示采用动态扫描方式,能简化电路布线,节约单片机I/O端口。

段码和位码由单片机P0送出,分别用74HC673N锁存。

图9 数码管驱动显示电路

3.4 声光报警电路

当温度超过设定温度值时,实现声光报警,蜂鸣器鸣叫、8个发光二极管点亮。蜂鸣器由单片机P2^3口控制,用三极管驱动,发光二极管接单片机P1口,由74HC673N锁存。

图10 声光报警电路

3.5数据处理

高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。

图7 字节分配

4软件设计

4.1 主程序模块

主程序需要调用3个子程序,分别为:

1.实时温度显示子程序:驱动数码管把实时温度值送出在LED数码管显示

2.温度设定、报警子程序:设定报警温度值,当温度超过该值时产生报警,即驱动蜂鸣器

鸣叫、8个发光二极管发光

主程序流程图:

开始

定时器初始化、启动

显示实时温度

温度设定、报警

完成温度的复位

图12 主程序流程图

4.2读温度值模块

读温度值模块需要调用4个子程序,分别为:

1.DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作

2.DS18B20写字节子程序:对DS18B20发出命令

3.DS18B20读字节子程序:读取DS18B20存储器的数据

4.延时子程序:对DS18B20操作时的时序控制

4.2.1读值模块

入口

DS18B20初始化

跳过读序列号

启动温度转换

延时

DS18B20初始化

跳过读序列号

读取温度值高低位

数据转换处理

返回

图13 读温度值子程序流程图

4.2.2 DS18B20初始化子程序流程图

N

Y

图14 DS18B20初始化子程序流程图

DQ 置高电平

稍延时

DQ 复位0

延时>480ms

DQ 拉高电平

延时15~60ms

DQ 为低电平?

返回

入口

4.2.3 DS18B20写字节和读字节子程序

图15 DS18B20写字节子程序流程图图16 DS18B20读字节子程序流程图

4.3 中断模块

中断采用T0方式1,初始值定时为50ms。

中断模块需调用两个子程序:

1.读温度值子程序:定时读取温度值,实时更新温度值

2.记录温度值子程序:定时记录温度值,供查询使用

把这两个子程序放在中断的原因是,不会因为调整报警温度或查询历史温度值而停止更新温度值和记录温度值。

Y N

图17中断模块流程图

4.4 温度设定、报警模块

此模块跟温度查询模块类似,需要接受按键输入,进入模块界面后,按加减键分别上调和下调设定报警温度值,当实时温度值超过设定值时驱动蜂鸣器发声,并点亮8位发光二极管,实现声光报警。

4.5 数码管驱动模块

本设计数码管通过锁存器接单片机P0口,采用动态扫描驱动7段LED 数码管进行显示,需调用延时子程序以稳定显示。

中断入口

定时器重置初值

计数值加1

1秒?

记录温度值

读温度值

中断返回

入口

关段选

P0置高

开位选

送位码

关位选

P0清零

开段选

送段码

关段选

延时

返回

图20 数码管驱动模块流程图

5源程序

#include

#define uchar unsigned char

#define uint unsigned int

/*************************变量定义************************************/ sbit DQ=P2^2;//ds18b20 端口

sbit beep=P2^3;//蜂鸣器使能端

sbit dula=P2^6;//数码管段选使能

sbit wela=P2^7;//数码管位选使能

sbit alarm=P3^6;//设定报警功能键

uchar code tabled[]={

0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f, //0~9的七段数码管段码

0x40,0x63,0x39};//- c 的段码

uchar code tablew[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f};//1~8个数码管的位选码uint countmin;//计数变量

uchar alanum=30;//报警温度值,初始值为30摄氏度

/**********************函数声明***************************************/ void delay1(uchar MS);//动态扫描延时子程序

void delay(uchar i);//DS18B20工作延时子程序

void Init_DS18B20();//DS18B20初始化子程序

void WriteOneChar(unsigned char dat);//向DS18B20写一字节数据

uchar ReadOneChar(void);//向DS18B20读一字节数据

void GetTemperature();//由DS18B20产生温度值

void Display(uchar wei,uchar duan);//数码管驱动子程序

void Alarm();//温度报警

void Showtemperature(uchar tt);//温度显示

/*********************主函数*******************************************/ void main()

{

TMOD=0x01;//定时器初始化,定时器0方式1

TH0=(65536-50000)/256;//50ms

TL0=(65536-50000)%256;

EA=1;//开中断

ET0=1;

TR0=1;//启动定时器

while(1)

{

Showtemperature(temperature);//显示实时温度

Alarm();//温度设定、报警

}

}

/************************动态扫描延时函数********************************/ void delay1(uchar MS)

{

int i,j;

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

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

}

/************************DS18B20工作延时函数*****************************/ void delay(uchar i)

{

while(i--);

}

/*************************DS18B20初始化函数******************************/ void Init_DS18B20(void)

{

unsigned char x=0;

DQ = 1; //DQ复位

delay(8); //稍做延时

DQ = 0; //单片机将DQ拉低

delay(80); //精确延时大于480us

DQ = 1; //拉高总线

delay(10);

x=DQ; //稍做延时后如果x=0则初始化成功x=1则初始化失败

delay(5);

while(!x)

{

x=DQ;

}

}

/*************************读一个字节**************************************/ uchar ReadOneChar(void)

{

unsigned char i=0;

unsigned char dat = 0;

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

{

DQ = 0; // 给脉冲信号

dat>>=1;

DQ = 1; // 给脉冲信号

if(DQ)

dat|=0x80;

delay(5);

}

return(dat);

}

/**************************写一个字节*************************************/ void WriteOneChar(unsigned char dat)

{

unsigned char i=0;

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

{

DQ = 0;

DQ = dat&0x01;

delay(5);

DQ = 1;

dat>>=1;

}

delay(5);

}

/*************************产生温度值***************************************/ void GetTemperature()

{

uchar tempL,tempH;//分别为数据低位和高位

uint temp;

Init_DS18B20();

WriteOneChar(0xCC); // 跳过读序列号的操作

WriteOneChar(0x44); // 启动温度转换

delay(200);

Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作

WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度tempL=ReadOneChar();//读出温度低位LSB

tempH=ReadOneChar();//读出温度高位MSB

temp=tempH*16+tempL/16;//tempL右移四位去掉小数位

temperature=temp&0xff;//测量0~50度,只取temp低八位

}

/**********************数码管驱动函数*************************************/ void Display(uchar wei,uchar duan)

{

dula=0;

P0=0xff;

wela=1;

P0=tablew[wei];

wela=0;

P0=0;

dula=1;

P0=tabled[duan];

dula=0;

delay1(1);

}

/**********************温度显示函数**************************************/ void Showtemperature(uchar tt)

{

Display(2,tt/10);//显示温度数值

Display(3,tt%10);

Display(4,11);//显示摄氏度单位

Display(5,12);

}

/***************************报警函数************************************/ void Alarm()

{

bit flag;

if(alarm==0)

{

delay1(80); //延时消抖

if(alarm==0)

{

flag=1;

}

}

while(flag)

{

if(add==0)

{

delay1(z);//延时消抖

if(add==0)

{

alanum++;//add键按下,上调设定值

if(alanum==51)

{

alanum=0;//最大值为50摄氏度,显示

}

}

}

}

Showtemperature(alanum);

Display(0,10);//选中数码管的其他空闲位

Display(1,10);//区别于实时温度显示“----”

Display(6,10);

Display(7,10);

if(temperature>alanum)//此处设置报警可以保证调整设定值时即可及时报警

{

beep=0;//温度大于设定值,声光报警

P1=0;

}

else

{

beep=1;//温度不大于设定值即不报警

P1=0xff;

}

}

if(temperature>alanum)//此处设置报警即保证即使没有进入设置界面任然可以报警

{

beep=0;//温度大于设定值,声报警

P1=0;

}

else

{

beep=1;//温度不大于设定值即不报警

P1=0xff;

}

}

/***********定时器中断0,用于温度检测时间间隔和记录数据时间间隔**************/ void timer0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;//50ms

countsec++;

countmin++;

if(countsec==20)//1s

{

countsec=0;

GetTemperature();//一秒钟更新一次温度值

}

Keeprecord();//定时记录温度值

}

6总结体会

经过将近一周的单片机课程设计,终于完成了我们的数字温度计课程设计,虽然课程设计做的不是特别好,但从心底里说,还是高兴的,因为我们收获了很多很多,这些在平常的学习当中是收获不到的,但高兴之余不得不静下来深思!在本次课程设计的过程中,我们发现很多的问题,虽然以前还做过类似的课程设计,但这次设计真的让我学到了很多、长进了很多,单片机课程设计的重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过一些程序,但觉的要写好一个程序并不是一件简单的事,所以我们只能不断的调试不断的修改才能把程写的更好。所以得出结论是:有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握,实践才是硬道理,实践是检验真理的唯一标准。并且电路板的焊接非常不理想,主要原因还是初次接触焊接,没有掌握焊接的技巧,而自己也没有向有经验的老师请教,这是这次实习的一大败笔。

通过这次的课程设计,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,这样我们才能更好的理解、掌握这些知识,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。

7参考文献

[1] https://www.wendangku.net/doc/3b7355585.html,

[2] 周月霞,孙传友.DS18B20硬件连接及软件编程.传感器世界,2001,12:25-29

[3] 马云峰.单片机与数字温度传感器DS18B20的接口设计.计算机测量与控制,2002,10(4): 278-280

[4] 郭天祥,徐玮. C51单片机高效入门(第2版). 北京:机械工业出版社,2010.

[5] 龙脉工作室,刘鲲,孙春亮(修订版). 北京:人们邮电出版社,2010.

[6] 李光弟,朱月秀,冷祖祁.单片机基础(第三版).北京:航空航天大学出版社,2007.

DS18B20温度检测程序

(1)先将数据线置高电平“1”。 (2)延时(该时间要求的不是很严格,但是尽可能的短一点) (3)数据线拉到低电平“0”。 (4)延时750微秒(该时间的时间范围可以从480到960微秒)。 (5)数据线拉到高电平“1”。 (6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 (7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 (8)将数据线再次拉高到高电平“1”后结束。

(1)数据线先置低电平“0”。 (2)延时确定的时间为15微秒。 (3)按从低位到高位的顺序发送字节(一次只发送一位)。 (4)延时时间为45微秒。 (5)将数据线拉到高电平。 (6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7)最后将数据线拉高。 DS18B20的写操作时序图如图

DS18B20的读操作 (1)将数据线拉高“1”。 (2)延时2微秒。 (3)将数据线拉低“0”。 (4)延时15微秒。 (5)将数据线拉高“1”。 (6)延时15微秒。 (7)读数据线的状态得到1个状态位,并进行数据处理。 (8)延时30微秒。DS18B20的读操作时序图如图所示。

DS18B20的Protues仿真图 源程序代码: #include "reg51.h" #include "intrins.h" // 此头文件中有空操作语句NOP 几个微秒的延时可以用NOP 语句,但本人没用NOP,直接用了I++来延时 #define uchar unsigned char #define uint unsigned int uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0x38,0x39}; sbit ds18b20_io=P2^0; //单片机与DS18B20的连接口 sbit lcdrs=P2^6; //1602与单片机的接口 sbit lcden=P2^7;

单片机电子称课程设计

目录 一、绪论 (1) 1.0引言 (1) 1.1问题的提出 (1) 1.2任务与分析 (1) 二、总体方案设计 (2) 2.1设计任务 (2) 2.2 系统设计框图 (3) 三、系统硬件设计 (3) 3.1 5V直流电源设计模块 (3) 3.2 传感器数据采集模块 (5) 3.3信号电路放大模块 (8) 3.4 A/DC0832数模转换模块 (9) 3.5 AT89C51单片机控制模块 (11) 3.6 LED显示模块 (13) 四、系统软件设计 (14) 4.1 C语言在单片机中的用 (14) 4.2电子称的软件设计与实现 (15) 4.3主程序流程图 (15) 4.4 子程序设计 (16) 4.4.1 A/DC0832采样程序 (16) 4.4.2 LED显示程序 (16) 五、Protues仿真调试 (17) 5.1 仿真调试结果 (17) 设计总结 (19) 参考文献 (20) 附录A程序清单 (20) 附录B 原理图 (26) 附录C PCB图 (27)

一、绪论 1.0引言 在我们生活中经常都需要测量物体的重量,于是就用到秤,但是随着社会的进步、科学的发展,我们对其要求操作方便、易于识别。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。 1.1问题的提出 电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。经现今电子衡器制造技术及应用得到了新发展:电子称重技术从静态称重向动态称重发展;计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。 1.2任务与分析 本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过

基于单片机的广告灯课程设计

单片机课程设计报告书 课题名称 基于单片机的广告灯课程设计 姓 名 学 号 院 系 专 业 指导教师 2011年 6月10日 ※ ※※※※※※※※ ※※ ※※ ※※ 2008级学生单片机 课程设计

基于单片机的广告灯课程设计 1、设计目的 本设计以AT89S51单片机为核心并用它来控制发光二极管双灯点亮循环的实验装置,用AT89S51单片机控制16个发光二极管发光,实现亮点从高到低位,从左到右,从单到双的循环移动。通过PROTEL软件设计、仿真,并能从中掌握通过软件控制发光二极管的思路和技巧。这次设计重点就在于利用单片机的知识去控制系统的运行。 2、设计要求 1)广告流水灯具有控制的功能。 2)设置一个系统使广告流水灯能够规律性和周期性的闪烁功能。 3)能够使其制动化和中断的功能。 3、设计总框图与方案 图3.1系统框图 本次课程设计是用流水灯的变化来表示不同的效果。主体选用AT89S51单片机使用多个发光二极管,通过编程来实现“流水灯”的花样变化。 4、硬件电路的设计 4.1系统电路图

图4.1 广告灯的硬件原理电路图 这个电路图中都为低电位亮,高电位灭即‘0’亮‘1’灭,就这样通过查表控制‘0’与‘1’的变化来控制发光二极管的亮灭。中断中也是如此,通过取反的手段来控制灯的亮灭。按照图4.1进行仿真,通过编程来实现“流水灯”的花样变化。AT89S51的P1、P3口分别接一组发光二极管,发光二极管另一端接电源输出,故为高电平。P1、P3口输出电平的变化控制二极管的发光情况。当P1、P3口的输出电平为低时,LED灯亮;反之,不亮。 5、软件设计 5.1 流程图与程序 图5.1程序总流程图 本实验流程中,用AT89S51单片机控制16个发光二极管发光。其中二极管一端接高电平,另一端接AT89S51芯片输出端口,通过控制各输出端口高低电平的变化决定二极管是否发光,从而使广告流水灯能够规律性和周期性地分别实现一个亮灯的左右移动、一个不亮灯的左右移动、灯的从两边到中间及单双等交替闪烁等花样变化。 6、系统仿真 在Proteus的ISIS 7.1sp2软件环境下画出电路原理图,接下来就是将设计的程序在Keil C51 μVision2开发集成环境上编译成机器语言,进入Proteus 的ISIS,鼠标左键点击菜单“Debug”,选中“use romote debuger monitor”,便可实现KeilC与Proteus连接调试。首先在Proteus中双击单片机AT89C51,将KeilC下编程生成的 .HEX文件导入到AT89C51中,可在Proteus中单击全速仿真运行按钮,进行现象的查看,能清楚地观察到芯片上每一个引脚的电平变化,红色代表高电平,蓝色代表低电平;如果现象不正确,则在KeilC中单步调试程序,并在Proteus观察现象,那一步不正确则对该段的程序进行修改,调试直到仿真完全成功为止。 图6.1 Proteus软件环境下画出电路原理图 图6.2效果一

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

PROTEUS 课程设计

课程设计任务书 学生姓名:专业班级:电子1102班 指导教师:工作单位:信息工程学院 题目:方波发生电路 初始条件: 计算机、Proteus软件、Cadence软件 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写 等具体要求) 1、课程设计工作量:1.5周 2、技术要求: (1)学习Proteus软件和Cadence软件。 (2)设计一个方波发生电路。 (3)利用Cadence软件对该电路设计原理图并进行PCB制版,用Proteus软件对该电路进行仿真。 3、查阅至少5篇参考文献。按要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 时间安排: 2015.1.12做课设具体实施安排和课设报告格式要求说明。 2015.1.12-1.15学习Proteus软件和Cadence软件,查阅相关资料,复习所设计内容的基本理论知识。 2015.1.16-1.20对方波发生电路进行设计仿真工作,完成课设报告的撰写。 2015.1.21提交课程设计报告,进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要.....................................................................................................I Abstract................................................................................................II 1绪论.. (1) 2方案论证 (2) 3利用Proteus软件进行电路设计及仿真 (5) 4利用Cadence软件进行电路设计及PCB绘制 (9) 4.1电路原理图设计 (9) 4.2PCB设计 (10) 5心得体会 (13) 参考文献 (14)

DS18B20单片机数码管显示原理图和程序

最近天气热了,想要是做个能显示温度的小设备就好了, 于是想到DIY 个电子温度计, 网上找了很多资料,结合自己的材料,设计了这个用单片机控制的实时电子温度计。 作为单 片机小虾的我做这个用了 2天时间,当然是下班后,做工不行见谅了。 主要元件用到了单片机 STC89C54RD+ , DB18B20温度传感器,4为共阳数码管, PNPS8550三极管等。 先上原理图: 洞洞板布局图: 然后就是实物图了: 函8D P3 iW 、 E E FJ T I RF D51*BZ0渥度澈码管显示 F7 Dl'AI>D li'A£> I 2、心 PDRM, 杖心P0WAD7 Pl I^TO 洋心EI^AJ D FLSAH

附上源程序:程序是别人写的,我只是自己 修改了下,先谢谢原程序者的无私奉献。 #include"reg52.h” #define uchar unsigned char #define uint unsigned int sbit DQ=P3A 4; 〃温度数据口 sbit wx1=P2A0; sbit wx2=P2A1; sbit wx3=P2A2; sbit wx4=P2A3; unsigned int temp, temp1,temp2, xs; //位选1 //位选2 //位选3 //位选4

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6}; /****** 延时程序 *******/ void delay1(unsigned int m) { unsigned int i,j; for(i=m;i>0;i--) for(j=110;j>0;j--); } void delay(unsigned int m) { while(m--); } /***********ds18b20 uchar ReadOneChar() { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { 读一个字节 **************/ void Init_DS18B20() { unsigned char x=0; DQ = 1; //DQ 复位 delay(8); 〃稍做延时 DQ = 0; 〃单片机将 ds18b20通信端口 DQ 拉低 delay(80); //精确延时大于480us DQ = 1; delay(4); x=DQ; delay(20); } 〃拉高总线 //稍做延时后如果x=0则初始化成功 x=1 则初始化失败 〃共阳数码管 〃温度延时程序

单片机电子称课程设计1

单片机电子称课程设计1

————————————————————————————————作者:————————————————————————————————日期: 2

单片机技术及其应用原理课程设计报告 设计题目:电子秤的设计 专业年级:08电子信息工程本科 小组成员: 杨婷(200800802035 华娟(200800802041 王尹怿(200800802048 成绩: 完成时间:20110702 【设计题目】电子称的设计 【设计要求】 (1设计一款电子秤,用LED液晶显示器显示被称物体的质量(2可以设定该秤所称的上限 (3当物体超重时,能自动报警 【设计过程】 1.【方案设计】 3

4 在设计系统时,针对各个模块实现的功能来设计电子秤的方案有以下几种: 方案一 结构简图如下图所示: 图1 带有键盘输入的结构简图 此方案设计的电子秤,可以实现称物计价功能,但是局限于数码管的功能,在显示时只能显示单价、购物总额以及简单的货物代码等。在显示重量时,如果数码管没有足够的位数,那么称量物体重量的精度必受到限制,所以此方案需要较多的数码管接入电路中。这样在处理输入输出接口时需要另行扩展足够多的I/O 接口供数码管使用,比较麻烦。 方案二前端信号处理时,选用放大、信号转换等措施, 尤其在显示方面采用具有字符图文显示功能的LCD 显示器。这种方案不仅加强了人机交换的能力,而且满足设计要求,可以显示购物清单、所称量的物体信息等相关内容。 结构简图如下图所示: 图2 LCD 显示的方案

目前单片机技术比较成熟,功能也比较强大,被测信号经放大整形后送入单片机,由单 片机对测量信号进行处理并根据相应的数据关系译码显示出被测物体的重量。单片机控制适合于功能比较简单的控制系统,而且其具有成本低,功耗低,体积小算术运算功能强,技术成熟等优点。但其缺点是外围电路比较复杂,编程复杂。使用这种方案会给系统设计带来一定的难度。 方案三采用现场可编程门阵列(FPGA为控制核心 采用现场可编程门阵列(FPGA为控制核心,利用EDA软件编程,下载烧制实现。系统集成于一片Xilinx公司的SpartanⅡ系列XC2S100E芯片上,体积大大减小、逻辑单元灵活、集成度高以及适用范围广等特点,可实现大规模和超大规模的集成电路。 采用FPGA测频测量精度高,测量频率范围大,而且编程灵活、调试方便,设计要求的精度较高,所以要求系统的稳定性要好,抗干扰能力要强。 从下图中可以看到系统的基本工作流程和各单元电路所用到的核心器件。其中控制器采用Xilinx公司可编程器件FPGA为核心,基于ISE软件平台,采用VHDL编程实现数据处理、LED和LCD驱动、时钟芯片的I2C通讯、键盘控制等模块。 结构简图如下图所示 : 5

基于单片机的广告灯设计

《单片机原理及应用》 课程设计 题目∶广告灯 院系∶机电工程系 专业班级∶机电一体化机电0911 姓名∶晓寒 学号∶21 指导教师∶沈全鹏 成绩∶ 2011年12 月日

目录 中文摘要 (2) 英文摘要 (2) 绪论 (3) 第一章设计思路.目的和方案的确定 (4) 1.1设计思路 (4) 1.2设计目的 (5) 1.3方案的确定 (6) 第二章主要元器件介绍 (7) 2.1 AT89S51 (7) 2.2发光二极管 (10) 2.3石英晶振 (11) 2.4蜂鸣器 (12) 第三章电路图.程序框图 (13) 第四章电路分析及原理 (1) 5 4.1电路分析 (15) 4.2电路原理 (17) 结论 (1) 8 参考文献 (1) 9

附录: C语言程序 (20) 中文摘要 随着改革的不断深入,社会主义市场经济的不断繁荣和发展,个大中小城市都在进行亮化工程。个人企业为宣传自己企业的形象和产品,均采用广告手法之一:流水灯来实现这一目的.当我们夜晚走在大街上,马路两旁各色各样的流水灯广告均可以见到,一种是采用霓虹灯管做成的各种形状和多种彩色的灯管,另一种为日光等管或白炽灯管作为光源,另配大型广告语或宣传画来达到宣传的效果。这些灯的亮灭,闪烁时间及流动方向等均可以通过单片机来达到控制的要求. (关键字: 广告灯、AT89S51单片机、程序设计) English Abstract With the deepening of reform, the socialist market economy, increasing prosperity and development of cities during the months Xinhuanet lighting project. Individual companies to promote their corporate image and products are one of advertising practices: water lights to achieve this purpose. When we walk in the streets at night, the road on both sides of a great variety of water can see the lights all advertising, a is made of neon tubes of various shapes and a variety of color tubes, and the other for sunlight, such as a pipe or tube as the incandescent light source, language or reprovision a large poster advertising to achieve the effect of publicity. Out of these bright lights, flashing all the time and the flow direction can be achieved through the single-chip control. (Keyword: Advertisement lamp AT89S51Singlechip Program Design)

proteus课程设计

沈阳航空航天大学电子信息工程学院 电子设计应用软件训练 总结报告 学生姓名: 专业: 班级: 学号: 指导教师: 训练时间:2013年7月8日至2013年7月12日 电子信息工程学院电子设计应用软件训练任务 【训练任务】:

1、熟练掌握PROTEUS软件的使用; 2、按照设计要求绘制电路原理图; 3、能够按要求对所设计的电路进行仿真; 【基本要求及说明】: 1、按照设计要求自行定义电路图纸尺寸; 2、设计任务如下: 51单片机内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,将其数值P1口驱动LED灯上显示出来,由按键产生计数脉冲,LED 分别显示脉冲个数(10个以内)。 3、按照设计任务在Proteus 6 Professional中绘制电路原理图; 4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。 成绩: 一、任务说明 51单片机内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚

进行计数,将其数值P1口驱动LED灯上显示出来,由按键产生计数脉冲,LED分别显示脉冲个数(10个以内)。按照设计任务在Proteus 6 Professional中绘制电路原理图。 根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。 二、PROTEUS软件的使用 1、软件概述: Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单机和SPICE分析于一身的仿真软件,功能极其强大。 图1 proteus工作界面 2、对象的添加和放置 点击工具箱的元器件按钮,使其选中,再点击IsIs对象选择器左边中间的置P 按钮,出现“Pick Devices”对话框。在这个对话框里我们可以选择元器件和一些

基于单片机的电子称传感器课程设计

测控技术与仪器专业 《传感器技术》课程设计任务书 淮阴工学院电子与电气工程学院 2014年06月

专业方向课程设计 课题:电阻应变式电子称 班级测控1111 学生姓名金梦磊学号 1111203115 指导教师张青春 淮阴工学院电子与电气工程学院

目录1.系统方案设计 1.1 概述 1.2 检测原理 1.3 系统原理框图 2.系统硬件设计 2.1 传感器选择及其特性 2.2 测量电路 2.3 信号采集电路 2.4 单片机及外围电路 2.5 总体电路图 3.系统软件设计 3.1 软件设计方法 3.2 软件流程图 3.3 软件清单及说明 4.系统调试与验证 4.1 调试过程 4.2调试结果(仿真结果)截图4.3 误差分析 5.课程设计体会与总结 附录:1、参考资料 2、元器件表

基于电阻式应变片式传感器的电子称设计 ` 1.系统方案设计 1.1概述 随着时代的进步和科技的发展,电子称已经成为现代生活中不可或缺的一部分。无论是做生意确定货物的重量,还是菜市场买菜看斤看两,还是没事减肥看看自己体重有没有减少,我们都需要使用称量道具,电子称以其便携,准确等优点占据着市场。 早期的电子称是通过模拟电路实现的,其抗干扰能力不足,准确也比较低。现在的电子称都是通过微控制器,采用数字信号的方式,这样就克服了以前的缺点,还可以实现键盘控制以及超额报警等更能。在学习了传感器,单片机,测控电路几门课程之后,我们可以自己设计出一个电子称了。 在我的设计中,我将采用电阻式应变片传感器进行测量,并采用放大器对传感器转换出的电压信号进行放大、达到A/D转换器输入电压的要求,采用8位A/D转换器将放大器产生的模拟信号转换成数字信号,单片机将接收到的数字处理后显示在4个数码管上(量程为0-1.999kg,所以只需要4个数码管),还需要蜂鸣器进行超量程报警,led灯显示电源的通断,两个拨位开关实现电源通断的控制,以及单片机的复位功能。 1.2检测原理 电阻式应变片传感器是通过电阻的应变效应进行测量。

基于-单片机的节日彩灯设计

单片机课程设计 题目: 院(系): 专业: 学号: 姓名: 指导教师:

摘要 彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次报告中设计的花样彩灯控制器是其中较简单的,但这是进行复杂设计的基础。 查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。利用键盘上的灯实现灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。 关键词:可编程节日彩灯;循环;控制高低电平;实现对彩灯的控制

目录 目录 引言 (4) 1、设计目的与要求 (5) 2、设计总体方案 (5) 3、模块电路的设计 (7) 4、独立设计部分 (10) 5、焊接制作与调试结果及其分析 (12) 6、设计过程中的问题及其解决方案 (13) 7、心得体会 (13) 8、改进工作展望 (14) 参考文献 (14) 附录一 (15) 附录二 (17) 附录三 (19) 1 设计目的与要求 1.1引言 在现代生活中,彩灯作为一种景观,安装在建筑物的适当地方。一是作为装饰增添

节日气氛,二是有一种广告宣传的作用:用在舞台上增强晚会灯光效果。 彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次报告中设计的花样彩灯控制器是其中较简单的,但这是进行复杂设计的基础。 数码管是一种半导体发光器件,其基本单元是发光二极管。通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。 可编程节日彩灯打破常规彩灯闪烁固定变化的现状,可根据人们不同的意愿进行编程设计出想要的变换的色彩效果。查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。利用键盘上的灯实现灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。 1.2设计目的 通过课程设计使我们更进一步掌握微机原理与应用课程的有关知识,通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定的提高,同时也会提高我们通过动手进行硬件设计及程序设计从而提高解决实际问题的能力。 1.3实验要求———————————— 1. 用16盏以上的LED小灯,实现至少4种彩灯灯光效果(不含全部点亮,全部熄灭; 2. 手动模式与自动模式切换:设置一个按钮可以在自动模式和手动模式间切换; 3. 手动模式可以用输入按钮在几种灯光效果间切换; 4. 自动模式下自动在几种效果间切换的功能; 5. 可以通过按钮暂停彩灯效果,使小灯全亮并闪烁,再次按下相同按钮后继续之前的效果。 2 设计总体方案 2.1硬件设计的思路、原理、设计细节 用单片机最小系统控制彩灯电路用流水灯的方式实现彩灯自动闪烁,彩灯电路总共有32的LED共隐接法组成,彩灯电路有三个部分,八个LED组成“二”,十六个LED组成字母“G”,八个LED组成字母“O”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,用P1和P2控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭。 2.2、软件设计的思路、原理、设计细节 采用C语言编写控制程序,程序设计思路用流水灯先点亮“二”,然后再点亮字母“G”,最后点亮“O”。

proteus课程设计

皖西学院( Proteus专业应用软件训练总结报告 学生姓名:张字航 系、专业:电气1204 班级学号:2012011196 指导教师:翁志远 训练时间:2014年10月9日至2014年11月13日

目录 实验一:专业PROTEUS软件的使用 实验二:利用PROTEUS绘制简单的电路原理图实验三:PROTEUS的汇编语言仿真实验 实验四:Proteus与Keil联调方法 实验五:利用Proteus制作PCB板

实验心得和体会 专业PROTEUS软件的使用 (一)任务说明 本节Proteus专业应用软件训练课的主要内容是初步认识Proteus应用软件和基本操作及原理图绘制。首先认识ISIS窗口(启动PROTEUS ISIS),了解窗口各部分功能,如:菜单栏、编辑区、对象预览窗口、对象选择器、工具栏分类及其工具按钮、坐标显示(Co-ordinate Display)等。其次学习Proteus软件的各种基本操作,包括:建立和保存文件、PROTEUS文件类型、设定绘图纸大小、选取元器件并添加到对象选择器中、放置电源、地(终端)、电路图布线、设置修改元器件的属性、电器检测。最后根据要求绘制原理图和Proteus仿真。(二)原理图绘制说明

(三)proteus仿真说明 用汇编语言编写实现电路要求功能的源程序,应用Keil软件编写并编译运行程序,最终与电路原理图相连接,仿真实现其功能。下面介绍关于Keil软件的使用与Proteus远程调控监视安装Keil软件后,打开它,用Proteus画电路原理图Proteus中提供了非常丰富的元件与部件,可以轻而易举完成电路原理图的编辑。 (四)结果演示

AT89C51单片机的花样广告灯

物理与电子信息学院 课程设计Ⅳ 基于AT89C51单片机的花样彩灯仿真分析 姓名: 班级:电子科学与技术 学号: 指导老师: 时间:2011年1日6日

目录 内容摘要 (1) 关键词 (1) Abstract (1) 1绪论 (1) 2 系统设计 (2) 2.1 设计任务与要求 (2) 2.2 方案的选择与论证 (2) 3 系统硬件设计 (2) 3.1 控制器模块 (3) 3.2 按键模块 (5) 3.4 LED显示模块 (5) 3.5硬件元件清单 (6) 4软件设计与仿真 (6) 4.1主程序设计 (6) 4.3 仿真结果 (8) 4.4 系统调试 (9) 4.5 误差分析 (9) 结束语 (10)

内容摘要:随着电子技术的迅速发展,单片机得到了越来越多的应用。本设计用单片机89S51结合LED(发光二极管)制作了一个广告移动彩灯,它由一块89S51组成,通过逐次扫描其中一块的P2.0--P2.7口,从而依次实现彩灯轮流点亮、逐点点亮、间隔点亮。 关键词:LED彩灯;AT-89C51单片机;彩灯控制器 Abstract:Along with the electronic technology rapid development, the monolithicintegrated circuit obtained more and more many applications. Here Iused monolithic integrated circuit 89C51 to unify LED (light emitterdiode) to manufacture a belt music broadcast function advertisementmigration colored lantern with the loudspeaker, it was composed by two89C51, through gradually scanned together P3.0--P3.2 mouth, judgedwhether had the pressed key to press down, unified the port scanningand the pressed key scanning, thus realized the colored lantern tolighten, to lighten, the gap point by point in turn in turn lightens. Keywords: LED lantern; AT-89C51 single-chip microcomputer; Lantern controller 1绪论 近年来,彩灯对于美化、亮化城市有着不可轻视的重要工作。因此作为城市装饰的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高。但传统的彩灯控制电路一般是由数字电路组成,这种彩灯控制器电路结构复杂、成本较高、功率损耗大,此外从功能效果上看,彩灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。而单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。LED彩灯具有成本低、发光纯度高、发光热量小、耗电量低、超长寿命的特点。所以利用单片机作LED彩灯控制,不仅是使控制花样、路数大大增加,成本也很低,而且对环境能源没有污染,有着很大的发展前景。本方案是一种基于AT-89C51单片机的彩灯控制方案,实现对LED彩灯的控制。主要以AT-89C51单片机作为主控核心与发光二极管、晶振、复位、电源等组成电路,利用软件编辑实现彩灯流水灯的效果。

proteus实验报告

Proteus 专业应用软件训练总结报告实验项目 项目一: Proteus 的基本操作与原理图绘制 一任务说明: 1.掌握Proteus仿真软件的的安装与破解 2.初步认识Proteus的运行环境及操作界面 3.画出所给电路图并进行仿真演示 二 Proteus 软件的安装及原理图绘制: 1.Proteus 软件的安装方法 1)首先解压安装文件,找到; (2)点击“YES,进入下一步,然后一直点击“ Next”,下一步,直到出现如图所示的添加License 界面; (3)点击“ Browse For Key File”,装入刚刚解压的“完美破解”的路径; 4)点击“ install ”,点击“是”,然后点击“ CLOS”E; (5)点击“next ”,需要改安装路径就改改,然后点击“ next ”,若不用PCB贝U将第二个图标不选,然后一直点“ next ”到完成。 (6)安装完成后需要导入钥匙,点击解压的文件如下图 (7)、点击“ browser”,将刚才的安装路径导进去 (8)、导进去后,点击“ up date ”,若失败就是路径不正确,重新导入路径,完成后点击“ CLOE”S ,安装完成。 2.Proteus 软件的原理图绘制 Proteus 软件成功安装之后,打开Proteus 下的ISIS 功能模块,则进入了原理图的绘制和 仿真界面。首先要了解各个功能区域的操作和功能: 1)编辑区域的缩放 P roteus编辑区域是放置电器元件和绘制原理图的区域,它的缩放操作多种多样, 极大地方便了工程项目的设计。常见的几种方式有:完全显示、放大按钮和缩小按钮,拖放、取景、找中心。

51单片机操作DS18B20汇编源程序

51单片机操作DS18B20汇编源程序 推荐 ; FLAG1:标志位,为"1"时表示检测到DS18B20 ; DQ:DS18B20的数据总线接脚 ; TEMPER_NUM:保存读出的温度数据 ; 本程序仅适合单个DS18B20和51单片机的连接,晶振为12MHZ左右TEMPER_LEQU36H TEMPER_HEQU35H DQBITP1.7 ; DS18B20初始化程序 ;//*****************************************// INIT_1820: SETBDQ NOP CLRDQ MOVR0,#06BH TSR1: DJNZR0,TSR1; 延时 SETBDQ MOVR0,#25H TSR2: JNBDQ,TSR3 DJNZR0,TSR2 LJMPTSR4; 延时 TSR3: SETBFLAG1; 置标志位,表示DS1820存在 LJMPTSR5 TSR4: CLRFLAG1; 清标志位,表示DS1820不存在 LJMPTSR7 TSR5: MOVR0,#06BH TSR6: DJNZR0,TSR6; 延时 TSR7: SETBDQ RET ;//*****************************************//

; 重新写DS18B20暂存存储器设定值 ;//*****************************************// RE_CONFIG: JBFLAG1,RE_CONFIG1; 若DS18B20存在,转RE_CONFIG1 RET RE_CONFIG1: MOVA,#0CCH; 发SKIP ROM命令 LCALLWRITE_1820 MOVA,#4EH; 发写暂存存储器命令 LCALLWRITE_1820 MOVA,#00H; TH(报警上限)中写入00H LCALLWRITE_1820 MOVA,#00H; TL(报警下限)中写入00H LCALLWRITE_1820 MOVA,#1FH; 选择9位温度分辨率 LCALLWRITE_1820 RET ;//*****************************************// ; 读出转换后的温度值 ;//*****************************************// GET_TEMPER: SETBDQ; 定时入口 LCALLINIT_1820 JBFLAG1,TSS2 RET; 若DS18B20不存在则返回 TSS2: MOVA,#0CCH; 跳过ROM匹配 LCALLWRITE_1820 MOVA,#44H; 发出温度转换命令 LCALLWRITE_1820 LCALLINIT_1820 MOVA,#0CCH; 跳过ROM匹配 LCALLWRITE_1820 MOVA,#0BEH; 发出读温度命令 LCALLWRITE_1820 LCALLREAD_1820 MOVTEMPER_NUM,A; 将读出的温度数据保存 RET ;//*****************************************// ; 读DS18B20的程序,从DS18B20中读出一个字节的数据

电子秤课程设计实验报告

电 子 设 计 实 验 报 告 电子科技大学 设计题目:电子称姓名:

学生姓名 任务与要求 一、任务 使用电阻应变片称重传感器,实现电子秤。用砝码作称重比对。 二、要求 准确、稳定称重; 称重传感器的非线性校正,提高称重精度; 实现“去皮”、计价功能; 具备“休眠”与“唤醒”功能,以降低功耗。

电子秤 第一节绪论 摘要:随着科技的进步,在日常生活以及工业运用上,对电子秤的要求越来越高。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。影响其精度的因素主要有:机械结构、传感器和数显仪表。在机械结构方面,因材料结构强度和刚度的限制,会使力的传递出现误差,而传感器输出特性存在非线性,加上信号放大、模数转换等环节存在的非线性,使得整个系统的非线性误差变得不容忽视。因此,在高精度的称重场合,迫切需要电子秤能自动校正系统的非线性。此外,为了保证准确、稳定地显示,要求所采用的ADC具有足够的转换位数,而采用高精度的ADC,自然增加了系统的成本。基于电子秤的现状,本文提出了一种简单实用并且精度高的智能电子秤设计方案。通过运用很好的集成电路,使测量精度得到了大大提高,由于采用数字滤波技术,使稳态测量的稳定性和动态测量的跟随性都相当好。并取得了令人满意的效果。 关键词:压力传感器,AD620N放大电路,ADC模数转换,STM32单片机,OLED 显示屏,矩阵键盘,电子秤。 1.1引言 本课程设计的电子秤以单片机为主要部件,利用全桥测量原理,通过对电路输出电压和标准重量的线性关系,建立具体的数学模型,将电压量纲(V)改为重量纲(g)即成为一台原始电子秤。其中测量电路中最主要的元器件就是电阻应变式传感器。电阻应变式传感器是传感器中应用最多的一种,本设计采用全桥测量电路,是系统产生的误差更小。输出的数据更精确。而AD620N放大电路的作用就是把传感器输出的微弱的模拟信号进行一定倍数的放大,以满足A/D 转换器对输入信号电平的要求。A/D转换的作用是把模拟信号转变成数字信号,进行模拟量转数字量转换,然后把数字信号输送到显示电路中去,最后由OLED

基于单片机的广告流水灯控制设计

A n h u i Vo c a t i o n a l& Te c h n i c a l C o l l e g e o f I n d u s t r y&Tr a d e 毕业论文 广告灯的设计与制作Advertising Lamp design and production of this sentence 所在系院:电气与信息工程系 专业班级:机电一体化(3)班 学生学号:2012350327 学生姓名:汪静 指导教师:崔老师 2014年3月20日

A n h u i Vo c a t i o n a l& Te c h n i c a l C o l l e g e o f I n d u s t r y&Tr a d e 毕业论文说明书 广告灯的设计与制作Advertising Lamp design and production of this sentence 所在系院:电气与信息工程系 专业班级:机电一体化(3)班 学生学号:2012350327 学生姓名:汪静 指导教师:崔老师 2014年3月20日

毕业设计(论文)任务书 系(院)电子与信息工程系专业机电一体化班级 12机电(3)班 学生姓名汪静学号 2012350327 一、题目:广告灯的设计与制作 二、内容与要求: 1、内容主要是利用单片机来控制广告灯。 2、目的是让电子信息工程专业的毕业生通过自己完全动手制作一些实际电子产品,掌握一定的电子产品设计、制作技能和力。 三、设计(论文)起止日期: 任务下达日期:年月日 完成日期:年月日 指导教师签名: 年月日 四、教研室审查意见: 教研室负责人签名: 年月日

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