0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Proteus:頸部按摩儀

Harmony&嵌入式學(xué)習(xí) ? 來(lái)源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-06-14 11:51 ? 次閱讀

隨著經(jīng)濟(jì)不斷發(fā)展以及人們生活節(jié)奏的不斷加快,人們?cè)絹?lái)越重視身心健康。目前我國(guó)的“亞健康”人群的比重已達(dá)到70%左右,超過(guò)了9億人,而用推拿按摩進(jìn)行保健是我國(guó)中華醫(yī)學(xué)的傳統(tǒng)項(xiàng)目,因?yàn)槔嫌捉砸耍瑧?yīng)用范圍十分廣泛。隨著具有保健功能的各種按摩器等產(chǎn)品出現(xiàn)。也因?yàn)樵谑婢弶毫?,緩解疲勞等方面的效果顯著而備受處于“亞健康”生活狀態(tài)的消費(fèi)者歡迎。巨大的需求與發(fā)展空間一定會(huì)讓各種類(lèi)型的家用按摩機(jī)械發(fā)展勢(shì)頭強(qiáng)勁,成為健康產(chǎn)業(yè)的新的增長(zhǎng)點(diǎn)。在豐厚的利潤(rùn)和發(fā)展空間的吸引下,我國(guó)的不少企業(yè)紛紛涉足按摩器具生產(chǎn)領(lǐng)域。因社會(huì)節(jié)奏和工作壓力的逐漸增大,人民需要放松自己來(lái)緩減工作的壓力和身心疲憊,因此各種人體保健機(jī)械走入大眾家庭。人民在長(zhǎng)時(shí)間的看書(shū)、寫(xiě)字或在電腦前工作時(shí),常常感到頸部肌肉酸痛,嚴(yán)重時(shí)還導(dǎo)致頸部不能轉(zhuǎn)動(dòng),領(lǐng)用戶甚為煩惱和痛苦,因此,頸部按摩器應(yīng)運(yùn)而生。目前,對(duì)于人體的頸部的按摩主要有人為按摩和機(jī)械按摩,人為按摩為人工勞動(dòng),其受人為因素影響較大,按摩質(zhì)量上很難到達(dá)保證,而且需要到制定的服務(wù)場(chǎng)所,且還需要有專業(yè)的人士方可,不能隨時(shí)隨地的按摩,便攜式的頸部按摩儀產(chǎn)品繼而產(chǎn)生。
本設(shè)計(jì)主要針對(duì)長(zhǎng)時(shí)間伏案工作的人,尤其是電腦使用者。頸部按摩器可在工作時(shí)使用,要求安全、輕便、舒適;由于是針對(duì)頸部,因此按摩器工作時(shí)還必須輕柔、舒緩,且不影響使用者低頭工作。

本設(shè)計(jì)主要解決的技術(shù)問(wèn)題是提供一種基于單片機(jī)控制的頸部按摩儀,其結(jié)構(gòu)簡(jiǎn)單,按摩電機(jī)通過(guò)不同信號(hào)實(shí)現(xiàn)不同按摩模式,振動(dòng)電機(jī)根據(jù)供電開(kāi)關(guān)頻率的不同實(shí)現(xiàn)振動(dòng)的不同模式,加熱模塊根據(jù)檢測(cè)的溫度值進(jìn)行升降溫;根據(jù)按鍵輸入的不同模式,控制模塊輸出不同的信號(hào)控制相應(yīng)的電機(jī)實(shí)現(xiàn)不同的按摩模式。
技術(shù)要求:
(1)按摩儀熱敷恒溫最高50℃。
(2)恒溫溫度范圍40~50℃,恒溫溫度控制精度±1℃。
(3)通過(guò)直流電機(jī)實(shí)現(xiàn)推拿、針刺、捶打三種按摩模式。
(4)控制振動(dòng)電機(jī)的頻率實(shí)現(xiàn)高、中、低三擋力度。
熱敷、按摩的時(shí)間分為固定時(shí)長(zhǎng)30min、45min、60min或自己設(shè)置任意時(shí)長(zhǎng)

本設(shè)計(jì)采用模塊化設(shè)計(jì)法,以51單片機(jī)為核心設(shè)計(jì)的一款頸部按摩儀,當(dāng)按摩儀放置在脖頸上時(shí),溫度傳感器將物體的溫度轉(zhuǎn)換成一定函數(shù)關(guān)系的電信號(hào)。該電信號(hào)先通過(guò)前端信號(hào)處理電路,然后經(jīng)過(guò)A/D轉(zhuǎn)換電路轉(zhuǎn)換成數(shù)字信號(hào)送入到主控電路的單片機(jī)中,單片機(jī)通過(guò)掃描鍵盤(pán)和各種功能開(kāi)關(guān),根據(jù)鍵盤(pán)輸入內(nèi)容和各種功能開(kāi)關(guān)的狀態(tài)進(jìn)行判斷、分析和控制,來(lái)完成按摩、加熱以及顯示功能。
硬件結(jié)構(gòu)主要包括:溫度檢測(cè)模塊、輸入模塊、控制模塊、電源模塊、按摩模塊、加熱模塊和顯示模塊。其中,最小系統(tǒng)部分主要包括STC89C52RC、晶振電路和復(fù)位電路;鍵盤(pán)由4X4位矩陣鍵盤(pán)組成,可以選擇不同的功能、控制按摩力度及按摩時(shí)間;顯示部分由OLED組成。軟件部分由C語(yǔ)言編程,實(shí)現(xiàn)對(duì)各部分的控制。
按摩功能實(shí)現(xiàn):由單片機(jī)發(fā)出三種波形(正弦波、方波、三角波)驅(qū)動(dòng)電機(jī),實(shí)現(xiàn)對(duì)人體的多種按摩模式。
熱敷功能實(shí)現(xiàn):經(jīng)過(guò)三極管控制加熱片,當(dāng)其導(dǎo)通后,電阻絲發(fā)熱。
溫度檢測(cè)功能:由DS18B20傳入數(shù)據(jù)后進(jìn)行分析,得到精確到每一攝氏度的當(dāng)前溫度。
按鍵交互:?jiǎn)纹瑱C(jī)不斷檢測(cè)矩陣鍵盤(pán)的被按下的鍵值,調(diào)整系統(tǒng)的時(shí)間、溫度檔位等。
屏幕顯示:在OLED屏幕上顯示當(dāng)前按摩力度檔位、按摩和熱敷剩余時(shí)間、按摩模式、當(dāng)前溫度。

pYYBAGSJOMiAeCAaAAAl3M9_cGs409.png

設(shè)計(jì)一個(gè)頸部按摩儀,即基于單片機(jī)的多功能按摩儀系統(tǒng)。該系統(tǒng)包括直流電機(jī)、振動(dòng)電機(jī)、溫度傳感器、矩陣按鍵、加熱片、OLED屏幕多個(gè)部分。
由DS18B20與矩陣按鍵向單片機(jī)內(nèi)傳入數(shù)據(jù)或觸發(fā)程序中斷,經(jīng)過(guò)內(nèi)部處理后對(duì)直流電機(jī)、振動(dòng)電機(jī)、加熱片和OLED屏幕實(shí)現(xiàn)不同的控制和顯示功能,以完成本次設(shè)計(jì)內(nèi)容。
2.2總流程圖
當(dāng)上電開(kāi)始運(yùn)行時(shí),進(jìn)入模式選擇界面,此時(shí)按鍵被輪流掃描,按下某個(gè)按鍵時(shí),單片機(jī)獲取該按鍵的鍵值進(jìn)行分析,判斷是選擇的哪個(gè)模式,并繼續(xù)按照該模式對(duì)應(yīng)的程序繼續(xù)運(yùn)行。
(1)按摩功能
在按摩模式下,首先會(huì)進(jìn)行按摩方式的選擇,通過(guò)對(duì)不同方式的選擇,單片機(jī)會(huì)發(fā)出對(duì)應(yīng)的正弦波、方波、三角波去驅(qū)動(dòng)電機(jī),來(lái)完成對(duì)脖頸的按摩放松。不同類(lèi)型的波形會(huì)產(chǎn)生針刺、捶打、推拿三種形式的按摩;接著,對(duì)按摩力度的選擇,有高、中、低三檔力度,使用者可根據(jù)自己的喜好來(lái)進(jìn)行選擇。
按摩模式選擇完后會(huì)進(jìn)行時(shí)間的選擇,可以選擇固定的時(shí)長(zhǎng)30min、45min、60min,也可以自己設(shè)置任意時(shí)長(zhǎng),當(dāng)按下開(kāi)始鍵后,進(jìn)入按摩狀態(tài),屏幕實(shí)時(shí)顯示當(dāng)前剩余時(shí)間,直至中途按下停止按鍵或到達(dá)設(shè)定時(shí)長(zhǎng)自動(dòng)停止。
(2)熱敷功能
在熱敷模式下,首先進(jìn)入對(duì)溫度的選擇,初始默認(rèn)是40℃,最高溫度是50℃,用戶可根據(jù)個(gè)人需求使用按鍵對(duì)設(shè)定溫度進(jìn)行調(diào)整;選擇溫度后進(jìn)入時(shí)間的選擇,默認(rèn)可選30/45/60min,也可自由任意設(shè)置時(shí)間,按下開(kāi)始按鍵后,進(jìn)入熱敷狀態(tài),屏幕將會(huì)顯示當(dāng)前剩余時(shí)間與當(dāng)前溫度,中途按下停止鍵或時(shí)間到達(dá)會(huì)自動(dòng)停止運(yùn)行。
在熱敷狀態(tài)中,如果溫度低于設(shè)定的溫度區(qū)間,單片機(jī)將會(huì)控制加熱片開(kāi)始工作,實(shí)現(xiàn)對(duì)按摩儀的審問(wèn),直至滿足要求,以此往復(fù)盡量保持在溫度區(qū)間,實(shí)現(xiàn)動(dòng)態(tài)調(diào)節(jié)保持恒溫。

pYYBAGSJOOOAOxUiAABz10LOYaw040.png

#include
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P1^3; 				//數(shù)據(jù)傳輸線接單片機(jī)的相應(yīng)的引腳 
unsigned char tempL=0; 		//設(shè)全局變量
unsigned char tempH=0; 
unsigned int sdata;			//測(cè)量到的溫度的整數(shù)部分
unsigned char xiaoshu1;		//小數(shù)第一位
unsigned char xiaoshu2;		//小數(shù)第二位
unsigned char xiaoshu;		//兩位小數(shù)
bit fg=1;        			//溫度正負(fù)標(biāo)志
sbit wr=P2^0;				//數(shù)據(jù)寫(xiě)
sbit rd=P2^1;				//數(shù)據(jù)讀
sbit ce=P2^2;				//片選
sbit cd=P2^3;				//指令數(shù)據(jù)通道,1指令,0數(shù)據(jù)
sbit rst=P2^4;			//復(fù)位信號(hào)
sbit LED = P1^0;
sbit MOT = P1^1;
sbit BEEP = P1^2;
sbit KEY1 = P3^0;
sbit KEY2 = P3^1;
sbit KEY3 = P3^2;
sbit KEY4 = P3^3;
sbit KEY5 = P3^4;
sbit KEY6 = P3^5;
sbit KEY7 = P3^6;
uchar Set_temp = 45;
uchar Set_mode = 1;
uchar Set_power = 1;
uchar Sec = 0;
uchar Min = 20;
uchar flag;
void delay_18(unsigned char i)
{
	for(i;i>0;i--);
}
void delay_ms(uint c)   //誤差 0us
{
    uchar a,b;
	for (; c>0; c--)
	{
		 for (b=199;b>0;b--)
		 {
		  	for(a=1;a>0;a--);
		 }      
	}
    	
}

uchar code HZ0[][32]={

{0x00,0x00,0x7E,0xFE,0x04,0x10,0x08,0x20,0x18,0x7C,0x24,0x44,0x42,0x54,0x81,0x54,
0x00,0x54,0x7E,0x54,0x08,0x54,0x08,0x54,0x08,0x28,0x0E,0x24,0xF0,0x42,0x40,0x82},/*"頸",0*/

{0x10,0x00,0x08,0x3E,0x7F,0xA2,0x00,0x24,0x21,0x24,0x12,0x28,0xFF,0xE4,0x00,0x24,
0x00,0x22,0x3F,0x22,0x21,0x22,0x21,0x34,0x21,0x28,0x3F,0x20,0x21,0x20,0x00,0x20},/*"部",1*/

{0x10,0x40,0x10,0x20,0x10,0x20,0x13,0xFE,0xFA,0x02,0x14,0x44,0x10,0x40,0x1B,0xFE,
0x30,0x88,0xD0,0x88,0x11,0x08,0x10,0xD0,0x10,0x20,0x10,0x50,0x50,0x88,0x23,0x04},/*"按",2*/

{0x00,0x80,0x3F,0xFE,0x24,0x10,0x3F,0x7C,0x26,0x38,0x2D,0x54,0x34,0x12,0x20,0x38,
0x27,0xC0,0x20,0x40,0x27,0xF8,0x20,0x40,0x2F,0xFE,0x40,0x40,0x41,0x40,0x80,0x80},/*"摩",3*/

{0x08,0x80,0x08,0x48,0x0A,0x48,0x12,0x08,0x12,0x08,0x31,0x10,0x31,0x10,0x51,0x10,
0x90,0xA0,0x10,0xA0,0x10,0x40,0x10,0x40,0x10,0xA0,0x11,0x10,0x12,0x08,0x14,0x06},/*"儀",4*/

{0x01,0x00,0x21,0x08,0x11,0x08,0x09,0x10,0x09,0x20,0x01,0x00,0x7F,0xF8,0x00,0x08,
0x00,0x08,0x00,0x08,0x3F,0xF8,0x00,0x08,0x00,0x08,0x00,0x08,0x7F,0xF8,0x00,0x08},/*"當(dāng)",5*/

{0x10,0x10,0x08,0x10,0x08,0x20,0xFF,0xFE,0x00,0x00,0x3E,0x08,0x22,0x48,0x22,0x48,
0x3E,0x48,0x22,0x48,0x22,0x48,0x3E,0x48,0x22,0x08,0x22,0x08,0x2A,0x28,0x24,0x10},/*"前",6*/

{0x10,0x20,0x11,0x24,0x10,0xA4,0x10,0xA4,0xFC,0xA8,0x10,0x20,0x33,0xFC,0x38,0x04,
0x54,0x04,0x50,0x04,0x91,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x13,0xFC,0x10,0x04},/*"檔",7*/

{0x08,0x80,0x08,0x40,0x08,0x40,0x10,0x00,0x17,0xFC,0x30,0x00,0x30,0x08,0x52,0x08,
0x92,0x08,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x20,0x10,0x20,0x1F,0xFE,0x10,0x00},/*"位",8*/

{0x00,0x00,0x23,0xF8,0x12,0x08,0x12,0x08,0x83,0xF8,0x42,0x08,0x42,0x08,0x13,0xF8,
0x10,0x00,0x27,0xFC,0xE4,0xA4,0x24,0xA4,0x24,0xA4,0x24,0xA4,0x2F,0xFE,0x00,0x00},/*"溫",9*/

{0x01,0x00,0x00,0x80,0x3F,0xFE,0x22,0x20,0x22,0x20,0x3F,0xFC,0x22,0x20,0x22,0x20,
0x23,0xE0,0x20,0x00,0x2F,0xF0,0x24,0x10,0x42,0x20,0x41,0xC0,0x86,0x30,0x38,0x0E},/*"度",10*/

{0x11,0x10,0x11,0x10,0x17,0xFC,0x11,0x10,0xFC,0x00,0x13,0xF8,0x32,0x08,0x3B,0xF8,
0x56,0x08,0x53,0xF8,0x90,0x40,0x17,0xFC,0x10,0xA0,0x11,0x10,0x12,0x08,0x14,0x06},/*"模",11*/

{0x00,0x48,0x00,0x44,0x00,0x44,0x00,0x40,0xFF,0xFE,0x00,0x40,0x00,0x40,0x3E,0x40,
0x08,0x40,0x08,0x40,0x08,0x20,0x08,0x22,0x0F,0x12,0x78,0x0A,0x20,0x06,0x00,0x02},/*"式",12*/

{0x00,0x00,0x21,0xF0,0x11,0x10,0x11,0x10,0x01,0x10,0x02,0x0E,0xF4,0x00,0x13,0xF8,
0x11,0x08,0x11,0x10,0x10,0x90,0x14,0xA0,0x18,0x40,0x10,0xA0,0x03,0x18,0x0C,0x06},/*"設(shè)",13*/

{0x02,0x00,0x01,0x00,0x7F,0xFE,0x40,0x02,0x80,0x04,0x00,0x00,0x3F,0xF8,0x01,0x00,
0x01,0x00,0x11,0x00,0x11,0xF8,0x11,0x00,0x11,0x00,0x29,0x00,0x47,0xFE,0x80,0x00},/*"定",14*/


};
uchar code SZ[][16]={
	
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",0*/

{0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"1",1*/

{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x02,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},/*"2",2*/

{0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00},/*"3",3*/

{0x00,0x00,0x00,0x04,0x0C,0x0C,0x14,0x24,0x24,0x44,0x7F,0x04,0x04,0x1F,0x00,0x00},/*"4",4*/

{0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x78,0x44,0x02,0x02,0x42,0x44,0x38,0x00,0x00},/*"5",5*/

{0x00,0x00,0x00,0x18,0x24,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x22,0x1C,0x00,0x00},/*"6",6*/

{0x00,0x00,0x00,0x7E,0x42,0x04,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"7",7*/

{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",8*/

{0x00,0x00,0x00,0x38,0x44,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,0x24,0x18,0x00,0x00},/*"9",9*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",10*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00},/*":",11*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",12*/
};
void delay(uint t) //延時(shí)函數(shù)
{
uint i,j;
for(i=0;i480us) 
	DQ=1; 					//拉高數(shù)據(jù)線 
	delay_18(5); 				//等待(15~60us) 
	x=DQ; 					//用X的值來(lái)判斷初始化有沒(méi)有成功,18B20存在的話X=0,否則X=1 
	delay_18(20); 
}

//讀一個(gè)字節(jié)
ReadOneChar(void)  			//主機(jī)數(shù)據(jù)線先從高拉至低電平1us以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀信號(hào)
{
	unsigned char i=0; 		//每個(gè)讀周期最短的持續(xù)時(shí)間為60us,各個(gè)讀周期之間必須有1us以上的高電平恢復(fù)期
	unsigned char dat=0; 
	for (i=8;i>0;i--) 		//一個(gè)字節(jié)有8位 
	{
		DQ=1; 
		delay_18(1); 
		DQ=0;
		dat>>=1; 
		DQ=1; 
		if(DQ) 
		dat|=0x80; 
		delay_18(4);
	} 
	return(dat);
}

//寫(xiě)一個(gè)字節(jié)
void WriteOneChar(unsigned char dat) 
{ 
	unsigned char i=0; 		//數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生寫(xiě)起始信號(hào)。15us之內(nèi)將所需寫(xiě)的位送到數(shù)據(jù)線上,
	for(i=8;i>0;i--) 		//在15~60us之間對(duì)數(shù)據(jù)線進(jìn)行采樣,如果是高電平就寫(xiě)1,低寫(xiě)0發(fā)生。 
	{
		DQ=0; 				//在開(kāi)始另一個(gè)寫(xiě)周期前必須有1us以上的高電平恢復(fù)期。 
		DQ=dat&0x01; 
		delay_18(5); 
		DQ=1; 
		dat>>=1;
	} 
	delay_18(4);
}

//讀溫度值(低位放tempL;高位放tempH;)
void ReadTemperature(void) 
{ 
	Init_DS18B20(); 					//初始化
	WriteOneChar(0xcc); 				//跳過(guò)讀序列號(hào)的操作
	WriteOneChar(0x44); 				//啟動(dòng)溫度轉(zhuǎn)換
	delay_18(125); 						//轉(zhuǎn)換需要一點(diǎn)時(shí)間,延時(shí) 
	Init_DS18B20(); 					//初始化
	WriteOneChar(0xcc); 				//跳過(guò)讀序列號(hào)的操作 
	WriteOneChar(0xbe); 				//讀溫度寄存器(頭兩個(gè)值分別為溫度的低位和高位) 
	tempL=ReadOneChar(); 				//讀出溫度的低位LSB
	tempH=ReadOneChar(); 				//讀出溫度的高位MSB	
	if(tempH>0x7f)      				//最高位為1時(shí)溫度是負(fù)
	{
		tempL=~tempL;					//補(bǔ)碼轉(zhuǎn)換,取反加一
		tempH=~tempH+1;       
		fg=0;      						//讀取溫度為負(fù)時(shí)fg=0
	}
	sdata = tempL/16+tempH*16;      	//整數(shù)部分
	xiaoshu1 = (tempL&0x0f)*10/16; 		//小數(shù)第一位
	xiaoshu2 = (tempL&0x0f)*100/16%10;	//小數(shù)第二位
	xiaoshu=xiaoshu1*10+xiaoshu2; 		//小數(shù)兩位
}

void KEY_scan()
{
	if(KEY1 == 0)
	{
		delay(20);
		if(KEY1 == 0)
		{
			while(KEY1 == 0);
			Set_temp++;
		}
	}

	if(KEY2 == 0)
	{
		delay(20);
		if(KEY2 == 0)
		{
			while(KEY2 == 0);
			Set_temp--;
		}
	}

	if(KEY3 == 0)
	{
		delay(20);
		if(KEY3 == 0)
		{
			while(KEY3 == 0);
			if(Set_mode != 3)
			{
				Set_mode++;
			}else
			{
				Set_mode = 0;
			}
		}
	}

	if(KEY4 == 0)
	{
		delay(20);
		if(KEY4 == 0)
		{
			while(KEY4 == 0);
			if(Set_power != 3)
			{
				Set_power++;
			}else
			{
				Set_power = 0;
			}
		}
	}

	if(KEY5 == 0)
	{
		delay(20);
		if(KEY5 == 0)
		{
			while(KEY5 == 0);
			if(flag==0)
			{
			Min++;
			}
		}
	}

	if(KEY6 == 0)
	{
		delay(20);
		if(KEY6 == 0)
		{
			while(KEY6 == 0);
			if(flag == 0)
			{
			Min--;
			}
		}
	}

	if(KEY7 == 0)
	{
		delay(20);
		if(KEY7 == 0)
		{
			while(KEY7 == 0);
			if(flag==0)
			{
				flag=1;
				MOT = 1;
			}else
			{
				flag = 0;
				MOT = 0;
				LED = 0;
				Sec = 0;
				Min = 20;
			}
		}
	}	
	
	
}



void main()
{
	TMOD |= 0x01;	  //開(kāi)啟定時(shí)器0  0x10時(shí)使用定時(shí)器1  0x11時(shí)啟動(dòng)兩個(gè)
	TH0=0XFC;	//給定時(shí)器賦初值,定時(shí)1ms   TH1
	TL0=0X18;	 //TL1
	EA=1;            //總中斷打開(kāi)
	ET0=1;           //定時(shí)器0中斷打開(kāi)    ET1
	TR0=1;           //定時(shí)器0開(kāi)關(guān)打開(kāi)    TR1
	init();
	Init_DS18B20();
	
	display_HZ(0,0,HZ0[0]);
	display_HZ(0,1,HZ0[1]);
	display_HZ(0,2,HZ0[2]);
	display_HZ(0,3,HZ0[3]);

	
	display_HZ(1,0,HZ0[5]);
	display_HZ(1,1,HZ0[6]);
	display_HZ(1,2,HZ0[9]);
	display_HZ(1,3,HZ0[10]);
	display_SZ(1,8,SZ[11]);
	display_SZ(1,11,SZ[12]);
	
	
	display_HZ(2,0,HZ0[5]);
	display_HZ(2,1,HZ0[6]);
	display_HZ(2,2,HZ0[11]);
	display_HZ(2,3,HZ0[12]);
	display_SZ(2,8,SZ[11]);
	
	display_HZ(3,0,HZ0[5]);
	display_HZ(3,1,HZ0[6]);
	display_HZ(3,2,HZ0[7]);
	display_HZ(3,3,HZ0[8]);
	display_SZ(3,8,SZ[11]);
	display_SZ(0,13,SZ[11]);
	LED = 0;
	MOT = 0;
	BEEP = 1;
	while(1)
	{
		delay_ms(10);
		ReadTemperature();
		
		delay_ms(10);
		
		display_SZ(1,9,SZ[sdata/10]);
	  display_SZ(1,10,SZ[sdata%10]);	
		
		display_SZ(1,12,SZ[Set_temp/10]);
		display_SZ(1,13,SZ[Set_temp%10]);	
		
		display_SZ(2,9,SZ[Set_mode]);
		display_SZ(3,9,SZ[Set_power]);

		display_SZ(2,9,SZ[Set_mode]);
		display_SZ(3,9,SZ[Set_power]);
		
		display_SZ(0,11,SZ[Min/10]);
		display_SZ(0,12,SZ[Min%10]);
		
		display_SZ(0,14,SZ[Sec/10]);
		display_SZ(0,15,SZ[Sec%10]);	
		
		KEY_scan();
		
		if(sdata < Set_temp && flag == 1)
		{
			LED = 1;
		}else if(sdata > Set_temp && flag == 1)
		{
			LED = 0;
		}
	}
}


void Timer0() interrupt 1     //參考上圖  定時(shí)器1時(shí)為3
{
	static uint i;   //定義一個(gè)自變形變量
	TH0=0XFC;	//給定時(shí)器賦初值,定時(shí)1ms    TH1
	TL0=0X18;   //TL1
	i++;
	if(i==1000)
	{
		i=0;
		if(flag == 1)
		{
			if(Sec != 0 && Min != 0)
			{
				Sec--;
			}else if(Sec == 0 && Min != 0)
			{
				Sec = 59;
				Min--;
			}else if(Sec == 0 && Min == 0)
			{
				flag = 0;
				BEEP = 0;
				MOT  = 0;
			}
			
		}
	}	
}
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OLED
    +關(guān)注

    關(guān)注

    119

    文章

    6171

    瀏覽量

    223679
  • Proteus
    +關(guān)注

    關(guān)注

    79

    文章

    1692

    瀏覽量

    106288
  • 按摩儀
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    167
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    多功能按摩椅使用SLH89F5162設(shè)計(jì)

    項(xiàng)目說(shuō)明: 分為三部分:頸部按摩 背部按摩 腳底按摩 小腿部按摩 主要應(yīng)用STC系列單片機(jī)時(shí)間安排:2013.11月即將開(kāi)始
    發(fā)表于 10-10 12:17

    泰浩微藍(lán)牙方案|頸部按摩方案開(kāi)發(fā)

      泰浩微推出的頸部按摩方案,已經(jīng)有了成熟的案例,并且能夠提供企業(yè)定制開(kāi)發(fā)服務(wù)。并且我們能夠提供穩(wěn)定的頸部按摩
    發(fā)表于 06-14 11:47

    開(kāi)啟節(jié)奏按摩先潮,機(jī)械師音樂(lè)頸部按摩

    機(jī)械師音樂(lè)頸部按摩可通過(guò)藍(lán)牙連接手機(jī),可解碼手機(jī)所播放的音樂(lè)節(jié)奏,轉(zhuǎn)變TENS脈沖信號(hào),相當(dāng)于擁有無(wú)數(shù)種按摩模式,開(kāi)啟人機(jī)交互式按摩先潮。
    的頭像 發(fā)表于 07-28 15:31 ?1853次閱讀

    NV080D語(yǔ)音芯片在頸部按摩器上的應(yīng)用

    頸部按摩對(duì)頸肩僵硬退化、預(yù)防駝背、矯正身姿。同時(shí)按摩點(diǎn)上的磁療點(diǎn)直接接觸身體可以幫助血液循環(huán),促進(jìn)新陳代謝,緩解輔助治療頸椎病 5-15分鐘效果顯著,特別適用的人群:白領(lǐng)、司機(jī)、長(zhǎng)時(shí)
    的頭像 發(fā)表于 04-02 15:36 ?4541次閱讀

    頸椎按摩方案的開(kāi)發(fā)原理及功能

    工作者頸部肌肉的放松,促進(jìn)和改善局部和全身的血液循環(huán)。芯嶺技術(shù)有一種基于單片機(jī)設(shè)計(jì)的頸椎按摩開(kāi)發(fā)方案,下面為您介紹詳細(xì)知識(shí)。
    發(fā)表于 06-24 14:46 ?2310次閱讀

    NV080D語(yǔ)音芯片,幫助頸部按摩實(shí)現(xiàn)語(yǔ)音提示功能

    年輕人因?yàn)楣ぷ鞣泵?,長(zhǎng)期伏案工作,缺少運(yùn)動(dòng),處于亞健康狀態(tài),有一些年輕人年紀(jì)輕輕就患上了頸椎病。而越來(lái)越重視健康和養(yǎng)生的年輕人,頸部按摩已經(jīng)成為了不少年輕人在家里,甚至是辦公室里的必需品!
    的頭像 發(fā)表于 02-10 17:02 ?960次閱讀
    NV080D語(yǔ)音芯片,幫助<b class='flag-5'>頸部</b><b class='flag-5'>按摩</b><b class='flag-5'>儀</b>實(shí)現(xiàn)語(yǔ)音提示功能

    頸部按摩語(yǔ)音提示ic,擋位真人語(yǔ)音播報(bào)提示IC芯片,唯創(chuàng)WT588F

    隨著現(xiàn)代生活節(jié)奏的加快,越來(lái)越多的人開(kāi)始意識(shí)到身體健康的重要性。其中,頸部按摩作為一種常用的健康產(chǎn)品,備受關(guān)注。然而,在使用頸部按摩
    發(fā)表于 05-06 10:00 ?132次閱讀
    <b class='flag-5'>頸部</b><b class='flag-5'>按摩</b><b class='flag-5'>儀</b>語(yǔ)音提示ic,擋位真人語(yǔ)音播報(bào)提示IC芯片,唯創(chuàng)WT588F

    頸部按摩語(yǔ)音控制新方案,NV040DS語(yǔ)音芯片,IO口豐富

    頸部按摩是一款電子按摩器材,它能夠幫助人們緩解頸部疼痛和僵硬等相關(guān)問(wèn)題。隨著生活方式和工作環(huán)境的變化,越來(lái)越多的人面臨著因長(zhǎng)時(shí)間低頭使用電
    發(fā)表于 05-30 16:39 ?257次閱讀

    智能頸部按摩器原型開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《智能頸部按摩器原型開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 06-15 10:12 ?9次下載
    智能<b class='flag-5'>頸部</b><b class='flag-5'>按摩</b>器原型開(kāi)源分享

    緩解你的頸部疲勞——沐渥智能頸椎按摩

    在如今快節(jié)奏的生活中,很多人因?yàn)樽瞬徽_,長(zhǎng)時(shí)間對(duì)著電腦,低頭玩手機(jī)等不良生活習(xí)慣,導(dǎo)致頸部出現(xiàn)酸痛、疲勞、發(fā)麻等問(wèn)題,嚴(yán)重影響到身體健康。我們?cè)谌粘I钪谐思訌?qiáng)鍛煉外,也可以通過(guò)頸椎按摩來(lái)
    的頭像 發(fā)表于 08-30 17:30 ?582次閱讀
    緩解你的<b class='flag-5'>頸部</b>疲勞——沐渥智能頸椎<b class='flag-5'>按摩</b><b class='flag-5'>儀</b>

    頸部按摩語(yǔ)音提示ic,擋位真人語(yǔ)音播報(bào)提示IC芯片,唯創(chuàng)WT588F

    隨著現(xiàn)代生活節(jié)奏的加快,越來(lái)越多的人開(kāi)始意識(shí)到身體健康的重要性。其中,頸部按摩作為一種常用的健康產(chǎn)品,備受關(guān)注。然而,在使用頸部按摩
    的頭像 發(fā)表于 05-06 10:46 ?431次閱讀
    <b class='flag-5'>頸部</b><b class='flag-5'>按摩</b><b class='flag-5'>儀</b>語(yǔ)音提示ic,擋位真人語(yǔ)音播報(bào)提示IC芯片,唯創(chuàng)WT588F

    頸部按摩器語(yǔ)音播報(bào)IC方案 高性價(jià)比 WTN6語(yǔ)音芯片

    想要利用碎片化的時(shí)間按摩肩頸,頸部按摩器是很好的選擇。然而,隨著科技的不斷進(jìn)步,一些新的技術(shù)也開(kāi)始被應(yīng)用于頸部按摩
    的頭像 發(fā)表于 06-01 10:55 ?581次閱讀
    <b class='flag-5'>頸部</b><b class='flag-5'>按摩</b>器語(yǔ)音播報(bào)IC方案 高性價(jià)比 WTN6語(yǔ)音芯片

    2.4G芯片做遙控頸部按摩器方案

    頸部按摩器很受上班族的歡迎,具有仿真人揉捏按摩效果,多單位力度調(diào)節(jié),舒緩因長(zhǎng)時(shí)間工作緊繃的的肌肉。主控芯片使用宇凡微的2.4g合封芯片。 一、頸部
    的頭像 發(fā)表于 08-09 10:15 ?584次閱讀

    分立器件產(chǎn)品在頸部按摩產(chǎn)品上的應(yīng)用案例分享

    當(dāng)我們?cè)诠ぷ骼哿说臅r(shí)候,這時(shí)候如果有個(gè)頸部按摩產(chǎn)品給您的頸部按摩,您的疲憊會(huì)很快消失。
    的頭像 發(fā)表于 05-17 11:46 ?400次閱讀
    分立器件產(chǎn)品在<b class='flag-5'>頸部</b><b class='flag-5'>按摩</b><b class='flag-5'>儀</b>產(chǎn)品上的應(yīng)用案例分享

    智能頸部按摩拆解

    網(wǎng)上買(mǎi)了一款智能頸部按摩拆機(jī)研究了一下,下面來(lái)聊下我的拆機(jī)結(jié)果。
    的頭像 發(fā)表于 11-07 09:48 ?86次閱讀
    智能<b class='flag-5'>頸部</b><b class='flag-5'>按摩</b><b class='flag-5'>儀</b>拆解