• 大小: 15.42MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-20
  • 语言: 其他
  • 标签:

资源简介

基于单片机温控风扇,pwm波调控,数码管显示,适合毕设。

资源截图

代码片段和文件信息

#include 	         //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义 变量范围0~255
#define uint  unsigned int  //无符号整型 宏定义 变量范围0~65535

//数码管段选定义      0     1    2    3    4    5 6  7   8    9
uchar code smg_du[]={0x280xee0x420x720xe50xa80x410x770x200xa0
    0x600x250x390x260x310x710xff};  //断码
//数码管位选定义
uchar code smg_we[]={0xef0xdf0xbf0x7f};
uchar dis_smg[4] = {0};
uchar smg_i = 3;    //显示数码管的个位数
sbit dq   = P2^4; //18b20 IO口的定义

bit flag_lj_en;  //按键连加使能
bit flag_lj_3_en;  //按键连3次连加后使能  加的数就越大了 
uchar key_timekey_value;      //用做连加的中间变量
bit key_500ms  ;
sbit pwm = P2^3;  
uchar f_pwm_l ;   //

uint temperature ;  //
bit flag_300ms ;
uchar menu_1;       //菜单设计的变量
uint t_high = 300t_low = 100;    //温度上下限值 

/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
uint ij;
for(i=0;i for(j=0;j<120;j++);
}

/***********************小延时函数*****************************/
void delay_uint(uint q)
{
while(q--);
}


/***********************数码显示函数*****************************/
void display()
{
static uchar i;   
i++;
if(i >= smg_i)
i = 0;
P1 = 0xff;  //消隐 
P3 = smg_we[i];    //位选
P1 = dis_smg[i];  //段选         

}

/***********************18b20初始化函数*****************************/
void init_18b20()
{
bit q;
dq = 1; //把总线拿高
delay_uint(1);     //15us
dq = 0; //给复位脉冲
delay_uint(80); //750us
dq = 1; //把总线拿高 等待
delay_uint(10); //110us
q = dq; //读取18b20初始化信号
delay_uint(20); //200us
dq = 1; //把总线拿高 释放总线
}

/*************写18b20内的数据***************/
void write_18b20(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{  //写数据是低位开始
dq = 0;  //把总线拿低写时间隙开始 
dq = dat & 0x01; //向18b20总线写数据了
delay_uint(5);  // 60us
dq = 1;  //释放总线
dat >>= 1;
}
}

/*************读取18b20内的数据***************/
uchar read_18b20()
{
uchar ivalue;
for(i=0;i<8;i++)
{
dq = 0;  //把总线拿低读时间隙开始 
value >>= 1;  //读数据是低位开始
dq = 1;  //释放总线
if(dq == 1)  //开始读写数据 
value |= 0x80;
delay_uint(5);  //60us 读一个时间隙最少要保持60us的时间
}
return value;  //返回数据
}

/*************读取温度的值 读出来的是小数***************/
uint read_temp()
{
uint value;
uchar low;    //在读取温度的时候如果中断的太频繁了,就应该把中断给关了,否则会影响到18b20的时序
init_18b20();    //初始化18b20
write_18b20(0xcc);    //跳过64位ROM
write_18b20(0x44);    //启动一次温度转换命令
delay_uint(50);    //500us

init_18b20();    //初始化18b20

write_18b20(0xcc);    //跳过64位ROM
write_18b20(0xbe);    //发出读取暂存器命令

low = read_18b20();    //读温度低字节
value = read_18b20();  //读温度高字节
value <<= 8;    //把温度的高位左移8位
value |= low;    //把读出的温度低位放到value的低八位中
value *= 0.625;        //转换到温度值 小数
return value;    //返回读出的温度 带小数
}

/*************定时器0初始化程序***************/
void time_init()   
{
EA   = 1;     //开总中断
TMOD = 0X21;   //定时器0、定时器1工作方式1
ET0  = 1;   //开定时器0中断 
TR0  = 1;   //允许定时器0定时

ET1  = 1;   //开定时器0中断 
TR1  = 1;   //允许定时器0定时

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        180  2017-02-03 13:12  ##温空风扇 数码管显示\Altium Designer Sunner画图软件学习视频\Altium Designer Sunner画图软件学习视频.txt

     文件        182  2017-02-03 12:30  ##温空风扇 数码管显示\Altium Designer Sunner画图软件安装视频\Altium Designer Sunner画图软件安装视频.txt

     文件        182  2017-02-03 14:06  ##温空风扇 数码管显示\AltiumDesignerSummer9 画图软件安装包\AltiumDesignerSummer9 画图软件.txt

     文件        157  2017-02-03 12:35  ##温空风扇 数码管显示\C语言视频教程\C语言视频教程.txt

     文件        161  2017-02-03 12:29  ##温空风扇 数码管显示\KEIL 软件安装视频\KEIL 软件安装视频.txt

     文件        173  2017-02-19 16:04  ##温空风扇 数码管显示\keil4软件安装包 开发工具地址\开发工具.txt

     文件    2697759  2009-01-05 19:56  ##温空风扇 数码管显示\MCU 单片机芯片资料\STC89C52RC.pdf

     文件        151  2017-02-06 16:55  ##温空风扇 数码管显示\MCU 单片机芯片资料\单片机所有芯片51、52资料.txt

     文件      33623  2017-02-03 23:06  ##温空风扇 数码管显示\PCB 图\PCB图.png

     文件        168  2017-02-03 12:29  ##温空风扇 数码管显示\Protel 99 软件安装包\Protel 99 软件安装包.txt

     文件        170  2017-02-03 12:28  ##温空风扇 数码管显示\Protel 99 软件安装视频\Protel 99 软件安装视频.txt

     文件        242  2017-02-03 12:54  ##温空风扇 数码管显示\Protel 99画图软件学习视频\Protel 99画图软件学习视频.txt

     文件        165  2017-02-23 21:31  ##温空风扇 数码管显示\Proteus ISIS  仿真软件学习视频\Proteus仿真软件学习视频.txt

     文件        174  2017-02-03 12:27  ##温空风扇 数码管显示\Proteus 软件安装包\Proteus 软件安装包.txt

     文件        167  2017-02-03 14:29  ##温空风扇 数码管显示\PROTEUS仿真软件的安装方法\PROTEUS仿真软件的安装方法.txt

     文件      12800  2017-02-03 14:43  ##温空风扇 数码管显示\使用前必读.doc

     文件      19968  2017-10-12 22:43  ##温空风扇 数码管显示\元件清单\元件清单 温控风扇.xls

     文件      59879  2013-10-26 17:23  ##温空风扇 数码管显示\制作过程\18B20温度传感器\1.jpg

    ..A.SH.      4096  2013-12-07 21:41  ##温空风扇 数码管显示\制作过程\18B20温度传感器\Thumbs.db

    ..A.SH.     17920  2013-12-07 21:53  ##温空风扇 数码管显示\制作过程\4位共阳数码管\Thumbs.db

     文件      71004  2013-12-07 21:47  ##温空风扇 数码管显示\制作过程\4位共阳数码管\数码管 (1).jpg

     文件      43302  2013-12-07 21:50  ##温空风扇 数码管显示\制作过程\4位共阳数码管\数码管.jpg

     文件      16626  2013-03-29 13:36  ##温空风扇 数码管显示\制作过程\三极管\NPN型原理图.jpg

     文件      10402  2013-03-29 13:34  ##温空风扇 数码管显示\制作过程\三极管\PNP型原理图.jpg

    ..A.SH.     25088  2014-01-08 16:57  ##温空风扇 数码管显示\制作过程\三极管\Thumbs.db

     文件       3296  2013-03-29 14:00  ##温空风扇 数码管显示\制作过程\三极管\三极管介绍.txt

     文件      19552  2014-01-08 16:57  ##温空风扇 数码管显示\制作过程\三极管\三极管介绍说明.jpg

     文件      17239  2013-03-29 13:29  ##温空风扇 数码管显示\制作过程\三极管\三极管引脚介绍.jpg

     文件      16763  2014-02-11 21:49  ##温空风扇 数码管显示\制作过程\发光二极管\发光二极管.jpg

     文件       9193  2014-02-11 21:50  ##温空风扇 数码管显示\制作过程\发光二极管\发光二极管1.jpg

............此处省略113个文件信息

评论

共有 条评论

相关资源