標(biāo)題: 單片機(jī)+1602液晶溫控風(fēng)扇檔位可調(diào)的設(shè)計(jì)思路 無(wú)代碼 [打印本頁(yè)]
作者: 梁光陽(yáng) 時(shí)間: 2019-4-18 20:20
標(biāo)題: 單片機(jī)+1602液晶溫控風(fēng)扇檔位可調(diào)的設(shè)計(jì)思路 無(wú)代碼
內(nèi)容:本系統(tǒng)就是充分利用了8051芯片的I/O引腳。系統(tǒng)以采用MCS-51系列單片機(jī)89c51為中心器件來(lái)設(shè)計(jì)簡(jiǎn)易溫控風(fēng)扇系統(tǒng),實(shí)現(xiàn)了能根據(jù)設(shè)置的上下限溫度,來(lái)啟動(dòng)風(fēng)扇的工作與停止,低于設(shè)置的下限溫度,風(fēng)扇不工作,在上限與下限之間風(fēng)扇以50%的轉(zhuǎn)速工作,溫度高于上限,風(fēng)扇全速工作。
實(shí)施方案:
(1) 設(shè)計(jì)電路布局圖
(2) 準(zhǔn)備好所需的材料
(3) 按照電路圖焊接好元件
(4) 編寫單片機(jī)程序
(5) 對(duì)單片機(jī)進(jìn)行調(diào)試
預(yù)期目標(biāo):在每個(gè)溫度區(qū)間保證風(fēng)扇按要求運(yùn)行、
溫控風(fēng)扇.doc
(1.01 MB, 下載次數(shù): 51)
2019-4-18 20:17 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
PWM脈寬調(diào)制.pdf
(508.65 KB, 下載次數(shù): 16)
2019-4-18 20:19 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
脈寬調(diào)制PWM.doc
(43.5 KB, 下載次數(shù): 21)
2019-4-18 20:19 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
部分程序:
QQ截圖20190418200831.png (52.84 KB, 下載次數(shù): 39)
下載附件
2019-4-18 20:08 上傳
飛線說(shuō)明.jpg (59.17 KB, 下載次數(shù): 43)
下載附件
2019-4-18 20:10 上傳
#include <reg52.h>
#include <intrins.h>
#include <absacc.h>
#include <math.h>
#include "0832.h"
#define uchar unsigned char
#define uint unsigned int
//定義LCD1602端口
sbit E=P2^6; //1602使能引腳
sbit RS=P2^7; //1602數(shù)據(jù)/命令選擇引腳
sbit RW=P2^5;
sbit LED_RED=P2^2;
sbit LED_YELLOW=P2^1;
sbit LED_GREEN=P2^0;
sbit SET_KEY=P3^4;
sbit ADD_KEY=P3^5;
sbit SUB_KEY=P3^6;
sbit BUZZ=P3^7;
sbit jdq=P2^4;
int WARNING=250;
uint DA;
bit FlagStartRH=0;
bit flag_BJ=0;
bit set=0;
void L1602_string(uchar hang,uchar lie,uchar *p);
//定時(shí)器0初始化
void Timer0_Init()
{
ET0 = 1; //允許定時(shí)器0中斷
TMOD = 0x11; //定時(shí)器工作方式選擇
TL0 = 0xb0;
TH0 = 0x3c; //定時(shí)器賦予初值
TR0 = 1; //啟動(dòng)定時(shí)器
TL1 = 0xb0;
TH1 = 0x3c; //定時(shí)器賦予初值
ET1=1;
TR1=1;
}
//定時(shí)器0中斷
void Timer0_ISR (void) interrupt 1 using 0
{
uchar RHCounter;
TL0 = 0xb0;
TH0 = 0x3c; //定時(shí)器賦予初值
RHCounter++;
//每2秒鐘啟動(dòng)一次溫濕度轉(zhuǎn)換
if (RHCounter >= 20)
{
FlagStartRH = 1;
RHCounter = 0;
}
}
//定時(shí)器1中斷
void Timer1_ISR (void) interrupt 3
{
uchar RHCounter1;
TL1 = 0xb0;
TH1 = 0x3c; //定時(shí)器賦予初值
RHCounter1++;
if(RHCounter1>=10)
{
RHCounter1=0;
if(flag_BJ==1)
BUZZ=!BUZZ;
else
BUZZ=1;
}
}
/********************************************************************
* 文件名 : 液晶1602顯示.c
* 描述 : 該程序?qū)崿F(xiàn)了對(duì)液晶1602的控制。
***********************************************************************/
/********************************************************************
* 名稱 : delay()
* 功能 : 延時(shí),延時(shí)時(shí)間大概為140US。
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void delay()
{
int i,j;
for(i=0; i<=10; i++)
for(j=0; j<=2; j++);
}
void delay_ms(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<110;j++);
}
作者: 陳煒豪 時(shí)間: 2019-6-3 15:53
可以很強(qiáng)!!!
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |