| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

基于51单片机数字温度计设计课程设计

文***品

贡献于2020-12-29

字数:16593







课 题: 基51单片机数字温度计设计
专 业: 电子信息工程
班 级: 班
学 号:
姓 名:
指导教师:
设计日期:
成 绩:

XX学XX学院电气学院



基51单片机数字温度计设计
设计目
1掌握单片机电路设计原理组装调试方法
2掌握LED数码显示电路设计方法
3掌握DS18B20温度传感器工作原理方法
二设计求
1次单片机课程设计求51系列单片机核心开发板台
2设计数字式温度计求DS18B20温度传感器测量温度
3单片机处理求4位体阴LED数码设计显示电路显示测量温度值
4外求设计中加入报警系统果设计系统监控某设备设备温度超低设定温度值时系统会产生报警
5求设计中加入限警报温度设置电路
三 设计具体实现
1数字温度计设计方案
做数字温度计单片机电路中信号采集电路传感器非常容易实现采温度传感器DS18B20传感器容易直接读取测温度值进行转换满足设计求采集通51系列单片机数进行相应处理LED显示电路数进行显示
2系统设计框图
温度计电路设计总体设计方框图图示控制器采单片机AT89C51温度传感器采DS18B204位体阴LED数码串口传送数实现温度显示外添加报警系统温度实施监控

3控器AT89C51芯片
单片机选择考虑80318051系列8031没部RAM系统需量存存储数适AT89C51 低价位单片机提供许高性价应场合灵活应种控制领域简单测温系统已足够单片机AT89C51具低电压供电体积等特点四端口需两口满足电路系统设计需该器件INTEL公司生产MCS5l系列单片机中基础产品采CMOS工艺制造技术具高性8位单片机属标准MCS—51CMOS产品
AT8951脚图示:

AT89C51芯片脚图
4时钟电路
80C51时钟两种方式产生部方式外部方式80C51中构成部震荡器高增益反放器引脚XTAL1XTAL2分该放器输入端输出端次采部震荡电路瓷片电容采22PF晶振12MHZ

晶体震荡电路图

5 复位电路
单片机系统复位电路里采电+钮复位电路形式中电阻R采10KΩ阻值 电容采10μF电容值

复位电路
6 温度传感电路
DALLAS 新单线数字温度传感器DS18B20种新型线器件体积更更适种场合适电压更宽更济DALLAS 半导体公司数字化温度传感器DS18B20世界第片支持线总线接口温度传感器温度测量范围55~+125 摄氏度编程9位~12 位转换精度测温分辨率达00625摄氏度分辨率设定参数户设定报警温度存储EEPROM 中掉电然保存测温度符号扩展16位数字量方式串行输出
DS18B20部结构四部分组成:64位光刻ROM温度传感器非挥发温度报警触发器THTL配置寄存器DS18B20脚排列种封装形式DQ 数输入输出引脚开漏单总线接口引脚着寄生电源器件提供电源GND信号VDD选择VDD引脚工作寄生电源时引脚必须接图示

DS18B20脚图
7 显示电路
数字温度显示采4位体阴LED数码足够显示0~100中位数显示位数部分

4位LED数码显示
8 温度报警电路
数字温度计设计温度数字显示功外加入报警系统测量温度超低设定温度值时系统会产生报警亮红灯报警
电路图示

蜂鸣器红灯报警系统电路图

源程序:
********************************************************************
* 程序名 基51单片机温度计
* 功 : 实时测量温度超限报警报警温度手动调整K1
* 进入限调节模式K1进入限调节模式进入限
* 调节模式正常模式K2进入查限温度模式显示1s左右动
* 退出K3进入查限温度模式显示1s左右动退出K4消
* 键音启动键音调节限温度模式K2实现加1功
* K1实现减1功K3设定限温度正负
*********************************************************************
#include
#includeintrinsh头文件包含程序(调中_nop_()空操作函数延时)
#define uint unsigned int
#define uchar unsigned char
uchar max0x00min0x00 max限报警温度min限报警温度
bit s0 s调整限温度时温度闪烁标志位s0显示200mss1显示1s左右
bit s10 s1标志位限查时显示
void display1(uint z)
#includeds18b20h
#includekeyscanh
#includedisplayh
******************************************************
* 函数
*****************************************************
void main()
{
beer1 关闭蜂鸣器
led1 关闭LED灯
timer1_init(0) 初始化定时器1(未启动定时器1)
get_temperature(1) 首次启动DS18B20获取温度(DS18B20电动EEPROM中限温度复制THTL寄存器)
while(1)
{
keyscan()
get_temperature(0)
display(temptemp_d*0625)
alarm()
}
}
**********************************************************************
* 程序名 ds18b20数码动态显示头文件
* 功 : 通定时器0延时数码动态显示
**********************************************************************
#ifndef __ds18b20_display_H__
#define __ds18b20_display_H__
#define uint unsigned int 变量类型宏定义uint表示符号整形(16位)
#define uchar unsigned char 变量类型宏定义uchar表示符号字符型(8位)
sbit wei1P2^4 位寻址变量定义wei1表示P24口
sbit wei2P2^5 wei2表示P25口
sbit wei3P2^6 wei3表示P26口
sbit wei4P2^7 wei4表示P27口
uchar num0 定义num全局符号字符型变量赋初值0’
uchar code temperature1[]{ 0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f} 定义显示码表0~9
uchar code temperature2[]{ 0xbf0x860xdb0xcf0xe60xed0xfd0x870xff0xef} 带数点0~9
uchar code temperature3[]{ 0x000x800x400x760x38}次显示’’’H’L’
******************************************************
延时子函数
*****************************************************
void display_delay(uint t) 延时1ms左右
{
uint ij
for(iti>0i)
for(j120j>0j)
}
******************************************************
* 定时器1初始化函数
*****************************************************
void timer1_init(bit t)
{
TMOD0x10
TH00x3c
TL00xb0
EA1
ET11
TR1t 局部变量t1启动定时器10关闭定时器1
}
******************************************************
* 定时器1中断函数
*****************************************************
void timer1() interrupt 3
{
TH00x3c 重新赋初值定时50ms
TL00xb0
num++ 进入次定时器中断num加1(50ms加1次)
if(num<5)
{s1if(w1){beer1led1}else{beer1led1}}
else 进入4次中断定时200ms时报警标志位w1’启动报警1’启动
实现间歇性报警功
{s0if(w1){beer0led0}else{beer1led1}}
if(num>20) 进入20次中断定时1s
{
num0 num0重新定开始定时1s
s10 定时1s时间时动关闭报警限显示功
v11 定时1s时间时动关闭报警限查功
}
}
******************************************************
* 调整报警限选择函数
*****************************************************
void selsct_1(uchar fuchar k) 消百位0显示正负温度显示选择
{
if(f0) 正温度百位0显示百位0显示
{
if(k1000) P0temperature3[0]
else P0temperature1[k100]
}
if(f1) 负温度十位0百位显示否百位显示’
{
if(k100100) P0temperature3[0]
else P0temperature3[2]
}
}
void selsct_2(bit fuchar k) 消十位0显示正负温度显示选择
{
if(f0) 正温度百位十位均0显示十位否显示十位
{
if((k1000)&&(k100100))
P0temperature3[0]
else P0temperature1[k10010]
}
if(f1) 负温度十位0十位显示否十位显示’
{
if(k100100) P0temperature3[2]
else P0temperature1[k10010]
}
}
******************************************************
* 函数显示
*****************************************************
void display(uchar tuchar t_d) 实测温度限温度显示
{
uchar i
for(i0i<4i++) 次左右选通数码显示实现动态显示
{
switch(i)
{
case 0 选通第数码
wei21 关第二数码
wei31 关第三数码
wei41 关第四数码
wei10 开第数码
if(a0){selsct_1(ft)} a0第数码显示测量温度百位’
if(a1)
{
P0temperature3[3] a1第数码显示H’
}
if(a2)
{
P0temperature3[4] a2第数码显示L’
}
break
case 1 选通第二数码
wei11
wei31
wei41
wei20
if(a0){selsct_2(ft)} a0第二数码显示测量温度十位’
if(a1) a1第二数码显示限报警温度百位’
{
if(s0) selsct_1(f_maxmax)s0显示第二数码否显示
else P0temperature3[0] 通s标志位变化实现调节限报警温度时数码闪烁
if(s11) selsct_1(f_maxmax)s11显示第二数码(s1标志位限查时显示)
}
if(a2) a2第二数码显示限报警温度百位’
{
if(s0) selsct_1(f_minmin)
else P0temperature3[0]
if(s11) selsct_1(f_minmin)
}
break
case 2 选通第三数码
wei11
wei21
wei41
wei30
if(a0){P0temperature2[t10]}a0第三数码显示测量温度位
if(a1) a1第三数码显示限报警温度十位’
{
if(s0) selsct_2(f_maxmax)s0显示第三数码否显示
else P0temperature3[0]
if(s11) selsct_2(f_maxmax)s11显示第三数码
}
if(a2) a2第三数码显示限报警温度十位’
{
if(s0) selsct_2(f_minmin)
else P0temperature3[0]
if(s11) selsct_2(f_minmin)
}
break
case 3 选通第四数码
wei11
wei21
wei31
wei40
if(a0){P0temperature1[t_d]}a0第四数码显示测量温度数位
if(a1) a1第四数码显示限报警温度位
{
if(s0) P0temperature1[max10]s0显示第四数码否显示
else P0temperature3[0]
if(s11) P0temperature1[max10]s11显示第四数码
}
if(a2) a2第四数码显示限报警温度位
{
if(s0) P0temperature1[min10]
else P0temperature3[0]
if(s11) P0temperature1[min10]
}
break
}
display_delay(10) 数码显示3ms左右
}

}
******************************************************
* 开机显示函数
*****************************************************
void display1(uint z) 开机动画显示
{
uchar ij
bit f0
for(i0i {
for(j0j<4j++) 次左右显示’
{
switch(j)
{
case 0
wei21
wei31
wei41
wei10 break
P0temperature3[2]第数码显示
case 1
wei11
wei31
wei41
wei20break
P0temperature3[2]第二数码显示
case 2
wei11
wei21
wei41
wei30break
P0temperature3[2]第三数码显示
case 3
wei11
wei21
wei31
wei40break
P0temperature3[2]第四数码显示
}
display_delay(400) 数码显示200ms左右
}
}
}
#endif
********************************************************************
* 程序名 DS18B20头文件
* 说 明:全局变量:符号字符型变量temp(测温度整数部分)temp_d
* (测温度数部分)标志位f(测量温度标志位0’表示正温度1’表
* 示负温度)标志位f_max(限温度标志位0’表示正温度1’表
* 示负温度)标志位f_min(限温度标志位0’表示正温度1’表
* 示负温度)标志位w(报警标志位1’启动报警0’关闭报警)
*********************************************************************
#ifndef __ds18b20_h__ 定义头文件
#define __ds18b20_h__
#define uint unsigned int
#define uchar unsigned char
sbit DQ P2^3 DS18B20接口
sbit beerP1^0 beer表示P10
sbit ledP1^1 led表示P11
uchar temp0 测量温度整数部分
uchar temp_d0 测量温度数部分
bit f0 测量温度标志位0’表示正温度 1’表示负温度)
bit f_max0 限温度标志位0’表示正温度 1’表示负温度)
bit f_min0 限温度标志位0’表示正温度1’表示负温度)
bit w0 报警标志位1’启动报警0’关闭报警
******************************************************
* 延时子函数
*****************************************************
void ds18b20_delayus(uint t) 延时μs
{
while(t)
}
void ds18b20_delayms(uint t) 延时1ms左右
{
uint ij
for(iti>0i)
for(j120j>0j)
}
******************************************************
* DS18B20初始化函数
*****************************************************
void ds18b20_init()
{
uchar c0
DQ1
DQ0 控制器DS18B20发低电脉
ds18b20_delayus(80) 延时1580μs
DQ1 控制器拉高总线
while(DQ) 等DS18B20拉低总线60240μs间
ds18b20_delayus(150) 延时等拉电阻拉高总线
DQ1 拉高数线准备数传输
}
******************************************************
* DS18B20字节读函数
*****************************************************
uchar ds18b20_read()
{
uchar i
uchar d0
DQ 1 准备读
for(i8i>0i)
{
d >> 1 低位先发
DQ 0
_nop_()
_nop_()
DQ 1 必须写1否读出预期数
if(DQ) 12us处读取数
d | 0x80
ds18b20_delayus(10)
}
return d 返回读取值
}
******************************************************
* DS18B20字节写函数
*****************************************************
void ds18b20_write(uchar d)
{
uchar i
for(i8i>0i)
{
DQ0
DQd&0x01
ds18b20_delayus(5)
DQ1
d >> 1
}
}
******************************************************
* 获取温度函数
*****************************************************
void get_temperature(bit flag)
{
uchar a0b0c0d0
uint i
ds18b20_init()
ds18b20_write(0xcc) DS18B20发跳读ROM命令
ds18b20_write(0x44) 写启动DS18B20进行温度转换命令转换结果存入部RAM
if(flag1)
{
display1(1) 开机动画耗时
}
else
ds18b20_delayms(1)
ds18b20_init()
ds18b20_write(0xcc)
ds18b20_write(0xbe)
ads18b20_read() 读部RAM (LSB)
bds18b20_read() 读部RAM (MSB)
if(flag1) 局部位变量f1时读线报警温度
{
maxds18b20_read() 读部RAM (TH)
minds18b20_read() 读部RAM (Tl)

}
if((max&0x80)0x80) 读取限温度高位(符号位)1’表明负温度
{f_max1max(max0x80)} 限温度符号标志位置1’表示负温度限温度装换成符号数
if((min&0x80)0x80)读取限温度高位(符号位)1’表明负温度
{f_min1min(min0x80)} 限温度符号标志位置1’表示负温度限温度装换成符号数
ib
i>>4
if (i0)
{
f0 i0正温度设立正温度标记
temp((a>>4)|(b<<4)) 整数部分
a(a&0x0f)
temp_da 数部分
}
else
{
f1 i1负温度设立负温度标记
a~a+1
b~b
temp((a>>4)|(b<<4)) 整数部分
a(a&0x0f) 数部分
temp_da
}
}

******************************************************
* 存储极限温度函数
*****************************************************
void store_t()
{
if(f_max1) 限温度负限温度转换成符号数 maxmax+0x80
if(f_min1) 限温度负限温度转换成符号数
minmin+0x80
ds18b20_init()
ds18b20_write(0xcc)
ds18b20_write(0x4e) DS18B20发写字节暂存器23(THTL)命令
ds18b20_write(max) 暂存器TH(限温度暂存器)写温度
ds18b20_write(min) 暂存器TL(限温度暂存器)写温度
ds18b20_write(0xff) 配置寄存器写命令进行温度值分辨率设置
ds18b20_init()
ds18b20_write(0xcc)
ds18b20_write(0x48) DS18B20发RAM中23字节容写入EEPROM
} DS18B20电会动EEPROM中限温度拷贝THTL暂存器
******************************************************
* 温度超限报警函数
*****************************************************
void alarm()
{ 限值正值
if(f_max0)
{
if(f_min0) 限值正值
{
if(f0) 测量值正值
{
if(tempmax)
{w1TR11} 测量值值值时报警
if((tempmin))
{w0} 测量值值值时报警
}
if(f1){w1TR11} 测量值负值时报警
}
if(f_min1) 限值负值
{
if(f0) 测量值正值
{
if(temp>max)测量值值时报警
{w1TR11}
if(temp {w0}
}
if(f1) 测量值负值
{
if(temp>min)测量值值时报警
{w1TR11}
if(temp {w0}
}
}
}

if(f_max1) 限值负值
{
if(f_min1) 限值负值
{
if(f1) 测量值负值
{
if((tempmin))
{w1TR11} 测量值值值时报警
if((tempmax))
{w0} 测量值值值时报警
}
if(f0){w1TR11} 测量值正值时报警
}

}
}
#endif
********************************************************************
* 程序名 基51单片机温度计
* 功 : 实时测量温度超限报警报警温度手动调整K1
* 进入限调节模式K1进入限调节模式进入限
* 调节模式正常模式K2进入查限温度模式显示1s左右动
* 退出K3进入查限温度模式显示1s左右动退出K4消
* 键音启动键音调节限温度模式K2实现加1功
* K1实现减1功K3设定限温度正负
*********************************************************************
#include
#include intrinsh头文件包含程序(调中_nop_()空操作函数延时)
#define uint unsigned int
#define uchar unsigned char
uchar max0x00min0x00 max限报警温度min限报警温度
bit s0 s调整限温度时温度闪烁标志位s0显示200mss1显示1s左右
bit s10 s1标志位限查时显示
void display1(uint z) 声明display1()函数(displayh头文件中函数ds18b20h应先声明)
#includeds18b20h
#includekeyscanh
#includedisplayh
******************************************************
* 函数
*****************************************************
void main()
{
beer1 关闭蜂鸣器
led1 关闭LED灯
timer1_init(0) 初始化定时器1(未启动定时器1)
get_temperature(1) 首次启动DS18B20获取温度(DS18B20电动EEPROM中限温度复制THTL寄存器)
while(1)
{
keyscan()
get_temperature(0)
display(temptemp_d*0625)
alarm()
}
}
**********************************************************************
* 程序名 ds18b20keyscan函数
* 功 : 通键盘设定设定限报警温度
**********************************************************************
#ifndef __keyscan_H__ 定义头文件
#define __keyscan_H__
sbit key1P2^2
sbit key2P2^1
sbit key3P2^0
sbit key4P3^3
uchar i0 定义全局变量i功模式选择0’正常模式1’限调节模式2’限调节模式
uchar a0 定义全局变量a模式数码显示选择
bit k40 K4键双功选择位k40时K4键选择消键音功k41时K4键选择正负温度设定功
bit v0 K2K3键双功选择位v0时选择限查功v1时选择限温度加减功
bit v10 v11时定时1250ms时间动关闭报警限查功
bit v20 消键音功调整位0’时开键音1’时关键音
******************************************************
* 读键盘延时子函数
*****************************************************
void keyscan_delay(uint z) 延时1ms左右
{
uint ij
for(izi>0i)
for(j120j>0j)
}
******************************************************
* 温度调节函数
*****************************************************
int temp_change(int countbit f) 限温度调整
{
if(key20) 判断K2否
{
if(v20)beer0 v20开键音否消键音
keyscan_delay(10) 延时10ms
if(key20) 次判断K2否(实现键时消抖)
{
beer1 K2关键音
if(f0) 温度正
{
count++ K2温度调1
if(a1){if(count>125) count125}温度值125时调
if(a2){if(count>125) count125}
}
if(f0) 温度负
{
count++ K2温度调1
if(a1){if(count>55) count55}温度值55时调
if(a2){if(count>55) count55}
}
}
while(key20) K2松开键时消抖
keyscan_delay(10)

}
if(key30)
{
if(v20)beer0
keyscan_delay(10)
if(key30) K3键时消抖
{
beer1
count K3温度正时调1负时调1
if(a1){if(count<0) count0}温度值达0时调
if(a2){if(count<0) count0}
}
while(key30)
keyscan_delay(10) K3松开键时消抖
}
return count
}
******************************************************
* 读键盘函数
*****************************************************
void keyscan()
{
if(key10)
{
if(v20)beer0
keyscan_delay(10)
if(key10) K1键时消抖
{
beer1
TR11 开定时器1通s标志位变化实现限温度调整时温度显示时闪烁功
k41 温度调节功模式选择K4调整限温度正负功
v1 温度调节功模式选择K2K3温度加减功
i++ K1i加1i0’进入正常模式i1’进入调限模式i2’进入调限模式
if(i>2) K1三次退出调节模式
{
i0 进入正常模式
TR10 关定时器1
k40 正常模式选择K4消键音功
v0 正常模式选择K2K3查限报警温度功
store_t() 存储调整限报警温度
}
switch(i) 显示选择
{
case 0a0break a0选择显示测温度
case 1a1break a1选择显示限温度
case 2a2break a2选择显示限温度
defaultbreak
}
}
while(key10) K1松键时消抖
keyscan_delay(10)
}
if(a1&&v1) a1选择显示限温度v1时选择限温度加功
{led0maxtemp_change(maxf_max)}显示限温度
else if(a2&&v1) a2选择显示限温度v1时选择限温度减功
{led1mintemp_change(minf_min)}
else
if(k41) k41时K4键选择正负温度设定功
{
if(key40)
{
if(v20)beer0
keyscan_delay(5)
if(key40)
{
beer1
if(a1)
{if(max>55) f_max0else f_max~f_max}温度55度时设定正温度
if(a2)
{if(min>55) f_max0else f_min~f_min}温度55度时设定正温度
}
while(key40)
keyscan_delay(10)
}
}
if(v0) v0时选择限查功
{
if(key20)
{
if(v20)beer0
keyscan_delay(10)
if(key20)
{
beer1
a1 选择限显示
TR11 开定时器1开始定时分钟左右
s11 限显示闪烁显示分钟左右动退出
}
while(key20)
keyscan_delay(10)
}
if(key30)
{
if(v20)beer0
keyscan_delay(10)
if(key30)
{
beer1
a2 选择限显示
TR11 开定时器1开始定时1s
s11 限显示闪烁显示1s动退出
}
while(key30)
keyscan_delay(10)
}
if(v11) v11时定时1s时间动关闭报警限查功
{a0v10TR10} a0显示实测温度v1清零关定时器1
if(k40) k40时K4键选择消键音功
{
if(key40)
{
if(v20)beer0
keyscan_delay(10)
if(key40)
{
beer1
v2~v2 0’时开键音1’时关键音 }
while(key40)
keyscan_delay(10)
}
}
}
}
#endif

四 总结
单片机学应相关总结体会课设程中仅巩固时学单片机知识通断查阅相关资料学新知识说通次单片机实践学学单片机关知识现实生活中方面应更深层次认识学步入社会参加工作帮助
次课程设计进程中遇问题例开始确定课设题目编写程序时思路太清晰设计求中需新器件DS18B20智测温相关知识模糊甚说知通查找相关资料书寻求辅导老师帮助动思考理清思路终程序修改正确仿真时前数模电课设仿真验时课设进行利没受什阻碍
通次单片机课程设计明白理指导实践理需实践予证明盲目相信书事通思考推敲否会取进步时学生活中应该周围学相互学交流验遇会东西时切忌焦躁首先独立思考定想法查找相关资料书刊者找学讨果实解释找辅导老师遇问题解决问题程中断加强动脑力进指导动手力样思路清晰条理畅时候进行软件编写硬件操作工作起事半功倍效果
五 附录

系统硬件原理电路图

数字温度计设计器材表
单片机STC89C52
1
DS18B20
1
晶振12M
1
三极8850
1
电容30PF
2
电解电容10UF25V
1
蜂鸣器
1
LED ø5红
1
电阻10k3k2k1k510330
5
4位体阴数码
1
ACDC(5V1A)电源
1
IC插座40
1
9X15cm万板
1
六 参考文献
1李群芳编单片微型计算机接口技术[M]电子工业出版社
2楼然苗编51系列单片机设计实例[M]北京航空航天学出版社
3黄勤编计算机硬件技术基础实验教程[M]重庆学出版社


文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

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

数字测温计设计摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。本文介绍了基于AT89S51单片机的测温系统,描述了利用DS18B20开发测温系统的过程,对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详实的分析,对各部分的电路也逐

文***享 3年前 上传1204   0

基于单片机的数字温度计设计课程设计

基于单片机的数字温度计设计引言随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用AT89C51型单

文***享 3年前 上传937   0

基于单片机的数字温度计课程设计

摘要 本文提出了关于MCS-51系列单片机的数字温度计的制作电路方法和编程思想。设计一直灌输着电子电路制作软硬结合,以硬件为主的理念。采用模块化的设计思想。硬件模块分为温度的感应模块、时钟模块、控制模块、显示模块。软件同样采用模块化设计,分为中断模块、温度转化模块、时间调整模块。控制器采用单片机AT89S51,时钟电路采用万年历芯片DS1302,温度传感器采用DS18B20,用数码管并行

文***享 3年前 上传783   0

基于51单片机的定时闹钟设计单片机课程设计

单片机 课 程 设 计 报 告 院系: 信息工程学院 专业: 电子信息工程 课程设计题目: 基于51单片机的定时闹钟设计

文***品 2年前 上传496   0

基于热敏电阻数字温度计课程设计

单片机应用系统(三级)项目设计说明书(2012/2013学年第二学期)题 目 : 基于热敏电阻的数字温度计 __专业班级 : 电子信息工程 学生姓名 : 指导教师 :

文***品 4年前 上传652   0

学士论文开题报告基于51单片机的数字示波器设计

XX学院信息工程学院学士学位论文开题报告课题名称 基于51单片机的数字示波器设计 学生姓名 导师姓名 所在系部 信息工程学院 学科专业 电子信息科学与技术 年 级 级 论文工作的 起止时间 2008.11.15-2009.5.

文***品 2年前 上传756   0

基于51单片机音乐盒课程设计

基于51单片机音乐盒课程设计 课程名称: 微机原理课程设计 题 目: 基于51单片机的音乐盒设计 摘要 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本设计是一个基于STC89C52RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路

l***金 5年前 上传1274   0

基于AT89S51单片机无线传输系统设计毕业设计

毕业论文(设计) 题 目: 单片机无线传输系统设计 完 成 人: 班 级: 学 制: 专

文***享 4年前 上传874   0

基于51单片机的智能窗户设计毕业设计

基于51单片机的智能窗户设计【摘 要】 随着电子技术的发展和人民生活水平的不断提高,智能窗已经越来越多地被用到了现代智能化建筑中,提供住户一个安全、方便的环境。据统计,在未来的几年内,安装智能窗的用户将不断增加。本次设计的智能窗户系统能通过其数据检测传感电路不断循环检测室外湿度及温度,当室外湿度达到一定时(下雨时)窗户自动关闭,防止潮湿空气或雨水进入房间;另外可设置自动关闭窗户或开启窗户时

文***品 5个月前 上传123   0

基于51单片机压力检测系统设计毕业设计

 学号: xx 大 学 毕业设计(论文) (xxxx届) 题 目 基于51单片机的压力检测系统设计

z***u 5年前 上传2724   0

单片机课程设计报告基于单片机的温控系统

职业学院机械与电子工程学院基于单片机温控系统课程设计报告班 级 电信班 学生姓名 学 号 指导教师 时 间 2011 目录摘 要 I1系统方案设计及组成 I2系统设计 1

文***品 3年前 上传996   0

基于AT89C51单片机的简易计算器的设计

 毕 业 设 计 题目 简易计算器的制作 专 业 通信工程 目 录 摘 要 1 Abstract 2 第一章 绪论 3 1.1 开发背景 3 1.2

山***1 5年前 上传2354   0

论文:基于51单片机的智能充电器的设计

在我们的日常生活中,手机已经变得越来越重要了。我们经常需要使用手机,打电话、发短信、上网、看电影、听歌、玩游戏等等。随着大屏幕和高主频的手机出现,锂离子电池就变得更加重要了,其锂离子电池充电器也受到广大消费者的重视。

z***u 5年前 上传1662   0

基于51单片机红外感应家用小夜灯的设计

 本科毕业论文(设计)题 目: 基于51单片机红外感应家用小夜灯的设计 院 系:物理与电子信息科学系 专 业:电子信息科学与技术 姓 名: 学 号: 指导教师:

文***品 2年前 上传560   0

基于51单片机的LED点阵显示屏设计

目录摘要 IIAbstract III第一章 绪论 11.1 课题背景 11.2 选题意义 11.3 论文主要内容 1第二章 方法论证对比 32.1 单片机编程语言 32.2 控制系统设计 32.3 显示方式 3第三章 系统硬件设计 43.1 总体硬件设计 43.2 系统各硬件电路介绍 53.2.1 电源电路设计介绍 53.2.2 复位电路 53.2.3 晶振电路

平***苏 3年前 上传627   0

基于51单片机的电子密码锁设计

近年来,在我国社会经济不断进步和迅猛发展的背景下,人们的生活水平越来越高,更多的人开始享受高质量的生活。就拿我们家家离不开的锁具来说,从我国古代历史上就有了各种锁的记载和使用,发展到今天人们追求的不单单只是用来锁门的一个工具。

爱***享 3年前 上传674   0

基于51单片机的智能充电器的设计

课题:基于51单片机的智能充电技术基于51单片机的智能充电器设计摘 要:智能充电器的设计第一步需要解决的就是选择什么样的芯片来进行工作,其本身需要将51单片机作为基本的设计基础,这里选择的充电芯片是MAX1898,这个芯片是Maxim公司生产的。本文目标是设计出一款智能充电设备,这个设备要能够运用单片机AT89C52进行控制。首先本文会对于锂电池的一些基本的参数进行一个基本的介绍,

平***苏 8个月前 上传228   0

基于单片机的拔河游戏机设计课程设计

××大学××学院××课程设计基于单片机的拔河游戏机设计学生姓名学 号所 在 系专业名称班 级指导教师成 绩 ××大学××学院二○一二年X月摘要:近年来随着计算机在社会领域的渗透和大规模集成电

文***享 3年前 上传585   0

基于单片机的交通灯显示系统的设计与研究课程设计

 XX学院课程设计课 程 单片机课程设计 题 目 交通灯系统 院 系 机电系 专业班级 学生姓名

文***品 3年前 上传901   0

基于单片机的“叮咚”门铃设计课程设计

基于单片机的“叮咚”门铃设计摘要:本文设计了一种基于单片机的“叮咚”门铃,主要有键盘,音频功率放大器LM386,AT89S51单片机,扬声器等构成,通过单片机定时/计数器t0来产生700Hz和500Hz的频率来使扬声器发出“叮咚”声音。关键词:AT89C51单片机 ;扬声器 ;频率;前言:1在现代电子产品中,“叮咚”门铃以它成本低,方便快捷等优点占据了很大的市场空间。本课程设计是基于

文***品 3年前 上传756   0

基于单片机的直流稳压电源设计课程设计

课程设计论文 设计题目:单片机控制直流稳压电源设计学校:院系:专业:年级:2013级姓名学号: 指导教师 单片机控制的直流稳压电源设计摘要: 本系统以 AT89S52 单片机作为系统的核心,由D/A数字模拟转换模块、按键、LED串口显示模块等模块组成一个

文***享 4年前 上传904   0

基于原理图的数字跑表设计课程设计

XX大学设计报告课程名称: 基于FPGA的现代数字系统设计 设计名称: 基于原理图的数字跑表设计 姓 名: 学 号: 班 级: 指导教师:

文***享 11个月前 上传316   0

基于单片机的数字电压表

 基于单片机的数字电压表 摘要:本文介绍一种基于89S52单片机的一种电压测量电路,该电路采用ICL7135高精度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示,可以与PC机进行串行通信。正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,89S52的特点,ICL7135的功能和应用,LCD1601的功能和应用。该电路设计新颖、功能强大、可扩展性强

山***1 5年前 上传1053   0

基于单片机的数字采控器设计毕业论文

 毕业设计说明书 基于单片机的数字采控器 设计 专业 电气工程及其自动化 学生姓名 班级 学号 指导教师 完成日期 20XX年X月X日 基于单片机的数字采控器设计 摘 要:数字采集系统简称DAS(Digital Acquisition System),是指将温度、压力、流量、位移等模拟量进行采集、量化转换成数字量后,以便由计算机进行存储、处理、显示

文***品 5年前 上传1190   0

基于单片机的数字采控器设计毕业论文

摘 要:数字采集系统简称DAS(Digital Acquisition System),是指将温度、压力、流量、位移等模拟量进行采集、量化转换成数字量后,以便由计算机进行存储、处理、显示或打印的装置。数字采集系统是采集系统中最常见的类型,随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后的一个重要发展的方向。人们需要一种应用范围广、性价比高的数据采集系统。

z***u 5年前 上传1338   0