• 大小: 105KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: 其他
  • 标签: stc12c5a  PID  PWM  DS18b20  

资源简介

stc单片机12c5a60s2实现ds18b20温度数据采集,12864液晶显示,与通过键盘设置控制目标温度比较后通过PID控制PWM两路输出,控制精度在+-1度之间。代码程序经实际验证的。

资源截图

代码片段和文件信息

/******************************************************************
本程序只供学习使用,未经作者许可,不得用于其它任何用途
程序结构参考 安徽师范大学  Lyzhangxiang的EasyHW OS结构设计
delay.C  file
作者:bg8wj
建立日期: 2011.12.23
版本:V1.0
Copyright(C) bg8wj
Warning:
以下延时函数仅仅是在mcu工作12MHz时有效,一旦晶振频率改变必须从新计算延时值
否则DS18B20 lcd等部件不能正常工作。
/*******************************************************************/
#include “intrins.h“
//每个指令的振荡周期数(1,4612),注意这里一定要仔细查看芯片手册
//*12 - 早期的8051、8052及当前的绝大部分51单片机
//*6 - Philips 单片机
//*4 - Dallas 单片机
//*1 - STC 单片机
//#define OSC_PER_INST 1


/******************可变延时**********************/
//-------模块延时程序----------------------------1ms 

void delay1ms(unsigned char delay1ms) //22.1184M延时1ms
{
unsigned char ij;
for(;delay1ms>0;delay1ms--)
for(i=0;i<7;i++)
   for(j=0;j<210;j++);
}
/******************固定延时子程序*******************/
void delay6us(void)   //误差 -0.032118055556us
{
    unsigned char a;
    for(a=30;a>0;a--);
}
//---------------------------------------------------
void delay50us(void)//实际延时值为:49.3706588745117us(22.1184Mhz)
{
unsigned char j;
unsigned char i;
for(i = 1; i != 0; i--)
{
for(j = 0; j < 28; j++);
}
}
//---------------------------------------------------
void delay60us(void)   //误差 -0.004701967593us
{
    unsigned char ab;
    for(b=73;b>0;b--)
        for(a=3;a>0;a--);
    _nop_();  //if Keilrequire use intrins.h
}
//---------------------------------------------------
void delay180us(void)   //误差 -0.014105902778us
{
    unsigned char ab;
    for(b=64;b>0;b--)
        for(a=14;a>0;a--);
    _nop_();  //if Keilrequire use intrins.h
}
//---------------------------------------------------
void delay240us(void)   //误差 -0.01880787037us
{
    unsigned char ab;
    for(b=8;b>0;b--)
        for(a=164;a>0;a--);
}



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

     文件       3826  2012-05-20 17:19  我的PID温度控制显示\BSP\IOConfig.h

     文件      45409  2011-10-29 00:09  我的PID温度控制显示\BSP\STC12C5A.h

     文件        527  2010-07-28 13:45  我的PID温度控制显示\CleanMdk.bat

     文件        248  2011-12-24 21:50  我的PID温度控制显示\HW Lib\INC\delay.h

     文件        873  2011-12-24 16:18  我的PID温度控制显示\HW Lib\INC\dispkey.h

     文件        178  2011-12-22 21:19  我的PID温度控制显示\HW Lib\INC\ds18b20.h

     文件         77  2011-12-22 21:38  我的PID温度控制显示\HW Lib\INC\isp_int.h

     文件       1015  2012-05-20 00:52  我的PID温度控制显示\HW Lib\INC\LCD12864.h

     文件        286  2011-12-22 20:36  我的PID温度控制显示\HW Lib\INC\pid.h

     文件        164  2011-12-22 14:33  我的PID温度控制显示\HW Lib\INC\PWM.h

     文件        512  2011-12-23 00:02  我的PID温度控制显示\HW Lib\INC\Uart1.h

     文件        466  2010-10-29 20:47  我的PID温度控制显示\HW Lib\INC\UART2.h

     文件       2007  2011-12-24 21:50  我的PID温度控制显示\HW Lib\SCR\delay.c

     文件       1720  2011-12-24 21:57  我的PID温度控制显示\HW Lib\SCR\dispkey.c

     文件       2349  2011-12-24 16:32  我的PID温度控制显示\HW Lib\SCR\ds18b20.c

     文件          0  2011-12-22 21:46  我的PID温度控制显示\HW Lib\SCR\isp_int.c

     文件       5794  2011-12-24 22:09  我的PID温度控制显示\HW Lib\SCR\LCD12864.c

     文件        152  2011-12-22 20:35  我的PID温度控制显示\HW Lib\SCR\PID.c

     文件       1492  2011-12-24 15:36  我的PID温度控制显示\HW Lib\SCR\PWM.c

     文件       1426  2011-12-24 15:38  我的PID温度控制显示\HW Lib\SCR\Uart1.c

     文件       4093  2012-05-20 17:19  我的PID温度控制显示\MDK\List\delay.lst

     文件       4281  2012-05-20 17:19  我的PID温度控制显示\MDK\List\dispkey.lst

     文件       4523  2012-05-20 17:19  我的PID温度控制显示\MDK\List\ds18b20.lst

     文件      12256  2012-05-20 17:19  我的PID温度控制显示\MDK\List\LCD12864.lst

     文件      13120  2012-05-20 17:19  我的PID温度控制显示\MDK\List\main.lst

     文件       3220  2012-05-20 17:19  我的PID温度控制显示\MDK\List\PWM.lst

     文件       3246  2012-05-20 17:19  我的PID温度控制显示\MDK\List\Uart1.lst

     文件      42246  2012-05-20 17:19  我的PID温度控制显示\MDK\List\远程温度监控.m51

     文件       2902  2012-05-20 17:19  我的PID温度控制显示\MDK\Obj\delay.obj

     文件      14930  2012-05-20 17:19  我的PID温度控制显示\MDK\Obj\dispkey.obj

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

评论

共有 条评论