欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
PIC16F1947單片機做的NTC熱敏電阻溫控器原理圖及源程序
[打印本頁]
作者:
jinzhao591
時間:
2018-4-9 12:12
標題:
PIC16F1947單片機做的NTC熱敏電阻溫控器原理圖及源程序
PIC16F1947做的溫控器及程序
電路原理圖如下:
0.jpg
(72.43 KB, 下載次數: 204)
下載附件
2018-4-9 16:17 上傳
0.jpg
(40.01 KB, 下載次數: 198)
下載附件
2018-4-9 16:18 上傳
單片機源程序如下:
#include "mydefine.h"
#include "pic.h"
#include "mTouch.h"
#include "GLOBAL.H"
#include "DEFINE.H"
#include "XWKQ_KeyScan.H"
// Required Include
// CONFIGURATION SETTINGS
#include "generic_processorConfigBits.h" // Provided for ease-of-development.
// PROTOTYPES
void Example_System_Init (void);
extern void interrupt ISR (void);
extern unsigned char auto_exit;
extern void working_mode ();
extern void inplement();
extern void FAN_CONTROL();
extern volatile int SET_TEMPER10;
void key_press(void);
void key_exit(void);
extern void LCD_disp(unsigned int data_in );
extern void UpdateLCD(void);
#define uchar unsigned char
#define uint unsigned int
//volatile uchar tflag;
bit ON_OFF; //MENU ON/OFF button
bit POWER_ON_FIRST; //1 ,POWER ON FIRST TIME;
//EEPROM DATA
int SET_TEMPER; //SETTING TEMPERATURE
volatile bit SET_DATA; //change the temperature or other data
unsigned char FAN_SPEED; // 0:AUTO, 1:LOW, 2:MED, 3:HIGH
unsigned char BACKLIGHT_LEVE;
//unsigned char PIPLE4_AUTO;
volatile unsigned char MODE; //mode : 1:COOLING, 2:HEATING
extern volatile unsigned char piple_num;
bit OK; // KEY OK
unsigned char SYSTEM_SETUP; //1: TEMPERATURE FINE 2: FAN BE CONTROLED
volatile signed char TEMP_FINE; // CORRECT THE TEMPERATURE
volatile unsigned char FAN_BECONTROL;
bit FAN_DELAY;
unsigned long FAN_DELAYTIME;
extern bit FAN_DELAY_OFF;
unsigned char SET_TIME=0;
unsigned long TIME_ONOFF=0; // TIMING FOR ON OR OFF;
unsigned long TIME_ONOFF_BACKUP=0;
volatile bit TIMING; //CHINESE TIMING SIGN 0:OFF 1: ON
volatile bit TIME_COUNT; //0:DISABLE 1:ENABLE
volatile bit TIME_EDIT;
volatile bit TIME_ON; // FROM OFF TO WOROK
extern bit mode_inverter;
extern bit downup;
extern unsigned char FAN_STATUS;
extern void ClearLCD(void);
extern void KeyControl(void);
extern void KeyScan(void);
// START PROGRAM
void main(void)
{
OK=1;
POWER_ON_FIRST=1;
TIMING=0; //*****/
TIME_COUNT=0;
TIME_EDIT=0;
TIME_ON=0;
SYSTEM_SETUP=0;
FAN_DELAYTIME=0;
FAN_DELAY_OFF=1; // avoid low fan switch be turn on when power on at firest time (heating=0 && cooling=0)
FAN_DELAY=1; // avoid low fan switch be turn on when power on at firest time (heating=0 && cooling=0)
SET_DATA=0;
SET_TIME=0;
Example_System_Init(); // Your System Initialization Function
mTouch_Init(); // mTouch Initialization (Required)
PEIE = 1;
GIE = 1; // Initialization complete. Begin servicing interrupts.
WDTPS3 = 1;
SWDTEN = 1; // enable WDT
INTCON=0b11100000;
PIR1=0b00000000;
TMR1H=0x3c;
TMR1L=0xaf;
T1CON=0b00110001; // 16M internal clock
T1GVAL=0;
PORTA = 0x00;
PORTB = 0X00;
PORTC = 0x00;
PORTD = 0X00;
PORTE = 0X00;
PORTF = 0X00;
PORTG = 0X00;
LATF=0;
ANSELA =0b00001111;
ANSELE =0b00000000;
ANSELF =0b00011111;
ANSELG =0b00000000;
TRISA =0b00001001;
TRISB =0b00000001;
TRISC =0b10000000;
TRISD =0b00000000;
TRISE =0b00000000;
TRISF =0b10000000;
TRISG =0b00000010;
RG2=0;
LCDSE0 = 0xFF; // enable first group of LCD segment outputs
LCDSE1 = 0x3F; // enable second group of LCD segments
LCDSE2 = 0x00; // enable third group of LCD segments
LCDSE3 = 0x00;
LCDSE4 = 0x00;
LCDSE5 = 0x00;
LCDCON = 0b10001011;
LCDREF = 0b10000000;
LCDPS = 0b00110011;
LCDCST = 0b00000000;
LCDRL = 0b11110000;
LCDDATA0=0X00;
LCDDATA1=0X00;
LCDDATA3=0X00;
LCDDATA4=0X00;
LCDDATA6=0X00;
LCDDATA7=0X00;
LCDDATA9=0X00;
LCDDATA10=0X00;
ClearLCD();
__delay_us(100);
CLRWDT();
MODE=EEPROM_READ(0x00);
if (MODE==0XFF) {MODE=1;}
SET_TEMPER=EEPROM_READ(0x01);
if (SET_TEMPER==0XFF) {SET_TEMPER=25;}
FAN_SPEED=EEPROM_READ(0X02);
if (FAN_SPEED==0XFF) {FAN_SPEED=1;}
BACKLIGHT_LEVE=EEPROM_READ(0X03);
if (BACKLIGHT_LEVE==0XFF) {BACKLIGHT_LEVE=0;}
//CCPR3L=LIGHT_OFF;
//LIGHT_ON=0;
// PIPLE4_AUTO=EEPROM_READ(0X04);
// if (PIPLE4_AUTO==0XFF) {PIPLE4_AUTO=0;}
_nop();
_nop();
TEMP_FINE=EEPROM_READ(0X05);
FAN_BECONTROL=EEPROM_READ(0X06);
if (FAN_BECONTROL==0XFF) {FAN_BECONTROL=0;}
_nop();
_nop();
_nop();
_nop();
_nop();
_nop();
if (PIPLE_QTY==0) {piple_num=4;}else { piple_num=2; }
__delay_ms(100);
while(1)
{
CLRWDT();
if (SET_TIME !=0 && TIMING==1 &&TIME_COUNT==1&& OK==1 )
{
COOLING=0;
HEATING=0;
if (LOW==1) {CLRWDT(); __delay_ms(10);LOW=0;}
if (MED==1) {CLRWDT(); __delay_ms(10);MED=0;}
if (HIGH==1) {CLRWDT(); __delay_ms(10);HIGH=0;}
// CCPR3L=LIGHT_OFF;
LIGHT_ON=0;
TIME_ON=1;
}else
{
TIME_ON=0;
if ( SET_TIME==0 && TIMING==0 &&TIME_COUNT==1 && OK==1)
{
ON_OFF=0;
// CCPR3L=LIGHT_OFF;
LIGHT_ON=0;
}else
{
_nop();
if ( ON_OFF==1)
{
inplement();
FAN_CONTROL();
}
}
if (ON_OFF==0)
{
COOLING=0;
HEATING=0;
FAN_CONTROL();
}
}
KeyValueBuf=0;
KeyControl();
if ( auto_exit>=100 && OK==1 && LIGHT_ON==1)
{
LIGHT_ON=0;
}
if ( auto_exit>=100 && OK==0) //OVERTIME
{
// MENU_BAR=0; //RESET THE MENU BAR TO DEFAULT BAR 0;
OK=1; //RESET TO DEFAULT
TIME_ONOFF_BACKUP=0; // EXIT MENU BEGINING TO COUNT
TIME_EDIT=0;
if (TIME_COUNT==1 && SET_TIME==0) { TIME_COUNT=0;TIMING=0;}
working_mode ();
SYSTEM_SETUP=0;
}
CLRWDT();
} // end - while(1) main loop
} // end - main() function
/* Initial the system */
void Example_System_Init()
{
// The mTouch framework controls these modules:
// * TMR0 - YOU MUST INIT THE OPTION REGISTER / TMR0 PRESCALER
// Do not choose 1:1 prescaling.
//
// * ADC - automatic initialization
// * UART - automatic initialization (if enabled and available)
//
// mTouch performs better as Fosc increases.
// NOTE: Update the configuration file if Fosc is changed!
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
K9-WKQ.7z
(432.35 KB, 下載次數: 172)
2018-4-9 12:11 上傳
點擊文件名下載附件
程序
下載積分: 黑幣 -5
MCU-SI1102 調整亮度后.pdf
(1.08 MB, 下載次數: 122)
2018-4-9 12:11 上傳
點擊文件名下載附件
電路
下載積分: 黑幣 -5
作者:
danpianji3501
時間:
2018-8-12 09:13
很好 ,很有用,很不錯!
作者:
空間噶時光
時間:
2019-7-14 11:19
感謝分享
作者:
F1640183
時間:
2019-7-21 08:03
謝謝樓主無私奉獻
作者:
學徒工--靜
時間:
2019-7-25 19:46
剛好想研究溫控,謝謝樓主分享
作者:
LGH850
時間:
2019-8-10 09:26
感謝分享!大概看了一下!后面有時間再慢慢研究……
作者:
djz_1688
時間:
2019-9-20 10:31
我想用紅外溫度傳感器,根單片幾做一個,溫度控制起,溫度可調,帶LED屏,好做嗎?
作者:
dcc024
時間:
2021-6-28 06:27
我試試,PIC單片機不常用呢
作者:
zongheng99
時間:
2021-8-29 23:18
謝謝樓主分享,希望可以試試看
作者:
nanfuB
時間:
2021-9-1 22:08
謝謝分享,參考看能不能得到幫助。
作者:
zongheng99
時間:
2021-12-17 21:33
謝謝分享,參考看能不能得到幫助。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1