第一章 課程設(shè)計主要任務(wù)
1.設(shè)計內(nèi)容
(1)設(shè)計一個洗衣機(jī)控制系統(tǒng),用直流電機(jī)的轉(zhuǎn)速表征三種不同洗衣方式:弱洗、強(qiáng)洗、漂洗;
(2)用三個獨立按鍵設(shè)置待洗衣物的不同洗滌方式,實現(xiàn)最長10分鐘定時:
????絲質(zhì)衣服: 漂洗 定時3分鐘
棉質(zhì)衣服:弱洗 2分鐘;強(qiáng)洗 5分鐘;漂洗 3分鐘;
化纖衣服: 強(qiáng)洗 4分鐘;漂洗 2分鐘;
(3)定時時間到,蜂鳴器報警提示。
第二章?總體設(shè)計
2.1?總體設(shè)計及功能描述
本設(shè)計以單片機(jī)?AT89C51為控制核心,?采用模塊化設(shè)計,?共分以下幾個功能模塊:單片機(jī)控制系統(tǒng)模塊、?電源模塊、?時鐘模塊、?復(fù)位模塊、?按鍵控制模塊、?直流電機(jī)控制模塊和顯示模塊等。?洗衣機(jī)主要有三種衣物的定時洗滌方式、報警和暫停等功能。
系統(tǒng)結(jié)構(gòu)框圖如下圖2-1所示:?
?
各模塊功能如下:
1.AT89C51單片機(jī):洗衣機(jī)控制系統(tǒng)的核心控制器件。
2.時鐘電路模塊:產(chǎn)生時鐘驅(qū)動單片機(jī)工作。
3.復(fù)位電路模塊:將單片機(jī)的寄存器重定,使程序指針回到最初位置。以便于系統(tǒng)運行時,程序從最初位置開始執(zhí)行。
4.電機(jī)調(diào)速控制模塊:利用L298驅(qū)動芯片輸入不同的信號使電機(jī)產(chǎn)生正轉(zhuǎn)和反轉(zhuǎn)。
5.顯示模塊:顯示模塊電路采用3個?LED 和3個電阻以及LCD液晶顯示屏與單片機(jī)相連,利用?C 語言程序設(shè)計實現(xiàn)洗衣機(jī)自動化顯示功能。
6.報警模塊:定時時間到,蜂鳴器報警提示。
2.2 系統(tǒng)硬件設(shè)計
(1)?單片機(jī)控制模塊的設(shè)計
AT89C51單片機(jī)是一種高效微控制器,?也是低功耗高性能單片機(jī)。?單片機(jī)是本設(shè)計的核心主要起控制作用,?采用?40 引腳雙列直插封裝形式,?32 個外部雙向輸入/輸?出(I/O)埠,?同時內(nèi)含?2 個外中斷口,?2 個?16 位可程序設(shè)計定時計數(shù)器, 2 個全雙工串行通信口,因為受引腳數(shù)目?的限制,?所以有不少引腳具有第二功能。?外形及引腳排列如圖?2-2 所示。
?AT89C51單片機(jī)的主要管腳功能:
VCC:?供電電壓。
?GND:?接地。
?P0 口:?P0 口為一個?8 位漏級開路雙向?I/O 口,?每腳可吸收?8TTL 門電流。?當(dāng)?P1 口的管腳第一次寫?1 時,?被定義為高阻輸入。?P0 能夠用于外部程序數(shù)據(jù)存儲器,?它可以被定義為數(shù)據(jù)/地址的第八位。
P1 口:?P1 口是一個內(nèi)部提供上拉電阻的?8 位雙向?I/O 口,?P1 口緩沖器能接收輸出4TTL 門電流。?P1 口管腳寫入?1 后,?被內(nèi)部上拉為高,?可用作輸入,?P1 口被外部下拉為低電平時,?將輸出電流,?這是由于內(nèi)部上拉的緣故。
?P2 口:?P2 口為一個內(nèi)部上拉電阻的?8 位雙向?I/O 口,?P2 口緩沖器可接收,?輸出?4個?TTL 門電流,?當(dāng)?P2 口被寫?1 時,?其管腳被內(nèi)部上拉電阻拉高,?且作為輸入。?并因此作為輸入時,?P2 口的管腳被外部拉低,?將輸出電流。
P3 口:?P3 口是?8 個帶內(nèi)部上拉電阻的雙向?I/O 口,?可接收輸出?4 個?TTL 門電流。當(dāng)?P3 口寫入?1 后,?它們被內(nèi)部上拉為高電平,?并用作輸入。?作為輸入,?由于外部下拉為低電平,?P3 口將輸出電流(ILL)?這是由于上拉的緣故。?RST:?復(fù)位輸入。?當(dāng)振蕩器復(fù)位器件時,?要保持?RST 腳兩個機(jī)器周期的高電平時間。
ALE/PROG:?當(dāng)訪問外部內(nèi)存時,?地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。?在?FLASH 程序設(shè)計期間,?此引腳用于輸入程序設(shè)計脈沖。?在平時,?ALE 端以不變的頻率周期輸出正脈沖信號,?此頻率為振蕩器頻率的?1/6。?因此它可用作對外部輸出的脈沖或用于定時目的。
PSEN :?外部程序內(nèi)存的選通信號。?在由外部程序內(nèi)存取指期間,?每個機(jī)器周期兩次?PSEN 有效。?但在訪問外部數(shù)據(jù)存儲器時,?這兩次有效的?PSEN 信號將不出現(xiàn)。
?EA/VPP:?當(dāng)?EA保持低電平時,?則在此期間外部程序內(nèi)存(0000H-FFFFH),?不?管是否有內(nèi)部程序內(nèi)存。?注意加密方式?1 時,?EA將內(nèi)部鎖定為?RESET;?當(dāng)?EA端保持高電平時,?此間內(nèi)部程序內(nèi)存。在?FLASH 程序設(shè)計期間,?此引腳也用于施加?12V 程序設(shè)計電源?(VPP)。
??????????????????????
圖?2-2 AT89C51 單片機(jī)的管腳圖
?電源、?時鐘信號以及復(fù)位電路是單片機(jī)工作的基本條件,?缺一不可。?AT89C51 單片機(jī)系統(tǒng)的基本工作電路包括電源電路、?時鐘電路、?復(fù)位電路。?其組成方框圖如圖?2-3 所示。
? ? ? ? ??
?(2)時鐘電路模塊設(shè)計
電源電路模塊為系統(tǒng)電路和其他模塊提供+5V 電源。?供電電源可由開關(guān)電源提供。
時鐘電路模塊的設(shè)計
?由于?AT89C51單片機(jī)芯片內(nèi)有時鐘振蕩電路,?因此本系統(tǒng)單片機(jī)采用內(nèi)部時鐘方式,只要在單片機(jī)的?XTAL1和?XTAL2引腳外接石英晶體和微調(diào)電容,?就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時鐘脈沖信號,?具體電路設(shè)計如圖?2-4 所示。??工作原理:?時鐘信號通常用兩種電路形式得到:?內(nèi)部振蕩和外部振蕩。?在?XTAL1 和?XTAL2 引腳上外接定時組件,?就能構(gòu)成自激振蕩電路。?定時組件通常采用石英晶體和電容組成的并聯(lián)諧振電路。一般電容?C4 和?C5 主要起頻率微調(diào)作用,?電容值可選取為?30pF 左右或?40pF左右;?晶體振蕩器,?簡稱晶振,?其晶振頻率(fosc)?范圍為?1. 2MHz~12MHz, 本設(shè)計中選擇12MHz。?晶體振蕩頻率越高,?系統(tǒng)的時鐘頻率也越高,?單片機(jī)的運行速率就越快。
圖?2-4 時鐘振蕩電路
(3)復(fù)位電路模塊設(shè)計
復(fù)位電路使單片機(jī)或系統(tǒng)中的其他部件處于某種確定的狀態(tài)。?當(dāng)在?MCS-51 系列單片的?RST 引腳處引入高電平并保持?2 個機(jī)器周期,?單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。?復(fù)位操作有兩種基本形式:?一種是上電復(fù)位,?另一位是按鍵復(fù)位。?本設(shè)計采用按鍵復(fù)位方式。?如圖?2-5 ?工作原理:?當(dāng)按下按鍵時,?RST 直接與?VCC 相連,?出現(xiàn)?2 個以上的高電平形成復(fù)位,?同時電解電容被短路放電;?按鍵松開時,?電容充電,?電流流過電阻,?RST 為高電平,?仍然是復(fù)位,充電完成后,?電容相當(dāng)于開路,?RST 為低電平,?正常工作。
圖?2-5 復(fù)位電路
(4)按鍵控制電路設(shè)計
單片機(jī)設(shè)計中,?重要的一個模塊是按鍵的設(shè)計。?常見的單片機(jī)按鍵設(shè)計分為獨立式和行列式(矩陣式)。?獨立式按鍵設(shè)計簡單,?但占用?I/O 口較多;?行列式按鍵設(shè)計相對復(fù)雜,?占用?I/O 口較少。?如圖?2-6 所示。
?圖?2-6 控制電路,為方便使用,設(shè)計了?五個獨立式按鍵,分別為絲質(zhì)、棉質(zhì)、化纖、啟動和暫停。
絲質(zhì):K1鍵選擇洗衣方式;
棉質(zhì):K2鍵選擇洗衣方式;
棉質(zhì):K2鍵選擇洗衣方式。
啟動:洗衣機(jī)啟動,開始洗衣。
停止:洗衣機(jī)無論在何種工作狀態(tài)下都會停止工作,蜂鳴器報警結(jié)束洗衣。
(5)蜂鳴器報警電路設(shè)計?
本設(shè)計中,當(dāng)某個洗衣方案完全結(jié)束,會有蜂鳴器?3S 鐘的報警時間。?蜂鳴器電路設(shè)計?如圖?2-7所示。由單片機(jī)直接輸出的信號不足以驅(qū)動蜂鳴器的工作。因此,在單片機(jī)與蜂鳴器之間加一個?PNP 三極管作為驅(qū)動。三極管的基極通過一個?4.7K 歐的電阻與單片機(jī)相應(yīng)的?I/O 相連,電源和蜂鳴器與發(fā)射極極相連,集電極接地。這樣就完成了蜂鳴器的驅(qū)動電路。
圖?2-7 蜂鳴器驅(qū)動電路
(6)?顯示電路設(shè)計
?在單片機(jī)應(yīng)用系統(tǒng)中,?對于系統(tǒng)的運行狀態(tài)和運行結(jié)果,?通常都需要直觀顯示出來。本設(shè)計采用的是3個共陽極發(fā)光二極管和LCD液晶顯示屏顯示,?顯示電路如圖?2-8 所示。?顯示電路由3個LED 和3個電阻構(gòu)成。?3個電阻都分別為?100 奧姆,?在電路中,?電阻起限流保護(hù)作用,?防止?LED 被燒壞。?3個?LED 是共陽級,?當(dāng)輸入低電平時?LED 點亮,?當(dāng)輸入高電平時?LED 熄滅。
??????圖?2-8 顯示電路(LED燈和LCD液晶顯示屏)
(7)?直流電機(jī)驅(qū)動電路設(shè)計
圖?2-9 直流電機(jī)電路
?圖?2-9 所示為一個典型的直流電機(jī)控制電路
直流電機(jī)的控制通過L298電機(jī)驅(qū)動芯片,它能同時控制兩個電機(jī)。當(dāng)IN1和IN2同時輸入高電平或者低電平是電機(jī)停止不轉(zhuǎn),??IN1輸入低電平IN2輸入高電平時電機(jī)反轉(zhuǎn);同時ENA和ENB分別是使能端,能對電機(jī)進(jìn)行PWM速度控制。L298N可對電機(jī)進(jìn)行直接控制,通過主控芯片的I/O輸入對其控制電平進(jìn)行設(shè)定,就可為電機(jī)進(jìn)行正轉(zhuǎn)反轉(zhuǎn)驅(qū)動,操作簡單、穩(wěn)定性好,可以滿足直流電機(jī)的大電流驅(qū)動條件。用數(shù)字頻率代替Vc的電壓波形,尤其是在PWM脈沖上升或下降邊沿時刻所對應(yīng)的Vc波形。
2.3 硬件仿真電路圖
如圖2-10所示
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
第?3 章?系統(tǒng)軟件設(shè)計
軟件在硬件平臺上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)。系統(tǒng)功能是由軟硬件共同實現(xiàn)的,?由于軟件的可伸縮性,最終實現(xiàn)的系統(tǒng)功能可強(qiáng)可弱,差別可能很大。?軟件采用模塊化設(shè)計方法,?不僅易于程序設(shè)計和調(diào)試,?也可減小軟件故障率和提高軟件的可靠性。同時,?對軟件進(jìn)行全面測試也是檢驗錯誤排除故障的重要手段。?由于程序設(shè)計多涉及到數(shù)值運算,?比較復(fù)雜,?還有?LCD 燈的顯示設(shè)計都是需要多重選擇判斷,用我們平時常用的匯編程序設(shè)計是很難實現(xiàn)的,這里我們選用了移值性好、結(jié)構(gòu)清晰、能進(jìn)行復(fù)雜運算的?C語言來實現(xiàn)程序設(shè)計。
3.1軟件主要程序流程
整個系統(tǒng)的功能是由硬件電路配合軟件來實現(xiàn)的,?當(dāng)硬件基本定型的時候軟件也基本定下了,?從軟件的功能不同,?可以分為兩的類:?一是監(jiān)控軟件(主程序)?它是整個軟件的核心,?專門用來協(xié)調(diào)各個執(zhí)行模塊和操作者的聯(lián)系。?二是執(zhí)行軟件(子程序)?它是用來完成各種實質(zhì)性的工作的,?如測量、?計算、?顯示、?通訊等。?每一個執(zhí)行軟件就是一個小的執(zhí)行模塊,?這里將每一個模塊一一列出來,?并為每個執(zhí)行模塊進(jìn)行功能定義和接口定義。?各執(zhí)行模塊規(guī)劃好以后,?就可以規(guī)劃監(jiān)控軟件了。?首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),?然后根據(jù)實時性的條件,?合理安排監(jiān)控軟件和執(zhí)行軟件之間的調(diào)度關(guān)系。
洗衣機(jī)通電之后單片機(jī)上電首先進(jìn)行程序的初始化包括定時器0、外部中斷0、外部中斷1的初始化以及各參數(shù)初值的設(shè)定。然后進(jìn)行按鍵檢測,默認(rèn)洗衣強(qiáng)度為“絲質(zhì)衣服”漂洗3分鐘。掃描按鍵的狀態(tài)確定洗衣過程。當(dāng)發(fā)現(xiàn)啟動鍵按下洗衣機(jī)從待命狀態(tài)進(jìn)入工作狀態(tài)并在LCD1602顯示屏上顯示衣物,洗滌方式及倒計時。其中,絲質(zhì)衣服: 漂洗 定時3分鐘;棉質(zhì)衣服:弱洗 2分鐘;強(qiáng)洗 5分鐘;漂洗 3分鐘;化纖衣服: 強(qiáng)洗 4分鐘;漂洗 2分鐘;當(dāng)洗衣結(jié)束時控制蜂鳴器發(fā)聲。
主要流程圖如下圖3-1? ? ? ? ? ? ? ? ?
?
3.2.主要子程序
主要子程序包括絲質(zhì)衣服洗滌程序,棉質(zhì)衣服洗滌程序,化纖衣服洗滌程序,電機(jī)控制子程序,T0中斷服務(wù)子程序等
3.2.1絲質(zhì)衣物洗滌程序設(shè)計
開始選擇按鍵,K1按下選擇絲質(zhì)衣服,再按下K4啟動洗衣機(jī),進(jìn)入3分鐘定時漂洗,若途中按下K5則暫停,蜂鳴器發(fā)出警報,結(jié)束洗衣;否則3分鐘漂洗結(jié)束蜂鳴器發(fā)出警報,洗衣結(jié)束。
流程圖如下圖3-2-1
3.2.2棉質(zhì)衣物洗滌程序設(shè)計
開始選擇按鍵,K2按下選擇棉質(zhì)衣服,再按下K4啟動洗衣機(jī),進(jìn)入2分鐘定時弱洗,若途中按下K5則暫停,蜂鳴器發(fā)出警報,結(jié)束洗衣;否則弱洗結(jié)束進(jìn)入5分鐘強(qiáng)洗,同理中途暫停結(jié)束洗衣,否則強(qiáng)洗后進(jìn)行3分鐘漂洗后蜂鳴器發(fā)出警報,洗衣結(jié)束。
流程圖如下圖3-2-2
3.2.3化纖衣物洗滌程序設(shè)計
開始選擇按鍵,K3按下選擇化纖衣服,再按下K4啟動洗衣機(jī),進(jìn)入4分鐘定時弱洗,若途中按下K5則暫停,蜂鳴器發(fā)出警報,結(jié)束洗衣;否則弱洗結(jié)束進(jìn)入2分鐘漂洗后蜂鳴器發(fā)出警報,洗衣結(jié)束。
流程圖如下圖3-2-3
3.2.4關(guān)于直流電機(jī)轉(zhuǎn)速的強(qiáng)洗,弱洗,漂洗程序設(shè)計與實現(xiàn)
直流電機(jī)轉(zhuǎn)速的數(shù)字頻率來實現(xiàn)強(qiáng)洗,弱洗,漂洗。
當(dāng)電機(jī)轉(zhuǎn)速數(shù)字頻率小于10時電機(jī)轉(zhuǎn)動實現(xiàn)漂洗;當(dāng)電機(jī)轉(zhuǎn)速數(shù)字頻率大于10且小于30時電機(jī)轉(zhuǎn)動實現(xiàn)漂洗;當(dāng)電機(jī)轉(zhuǎn)速數(shù)字頻率大于30且小于50時電機(jī)轉(zhuǎn)動實現(xiàn)漂洗;
流程圖如下圖3-2-4
直流電機(jī)轉(zhuǎn)速實現(xiàn)強(qiáng)洗、弱洗、漂洗程序:
void pwm(uchar k)//弱洗、強(qiáng)洗、漂洗;?
{
uchar i;
for(i=0;i<99;i++)
{
if(k==1)
{
if(i<30) ??//弱洗
out=0;
else
out=1;
}
if(k==2)
{
if(i<50) ???//強(qiáng)洗
out=0;
else
out=1;
}
if(k==3)
{
if(i<10) ??//漂洗
out=0;
else
out=1;
}
}
}??
3.2.5 T0中斷服務(wù)子程序
該子程序運用定時器T0中斷,該子程序的主要作用是使時間達(dá)到1秒時,令1秒標(biāo)志為真,返回到主函數(shù)運行時間減1,1秒標(biāo)志為假,再調(diào)用到該子程序以此實現(xiàn)每秒顯示時間減1。
第4章?系統(tǒng)仿真
4.1 Protoeus8.11和keil μVision5
本設(shè)計用Proteus 8.11軟件作圖,C語言對單片機(jī)進(jìn)行控制操作,易讀好懂,用Keil μVision5軟件進(jìn)行了調(diào)試。
4.2調(diào)試中遇到的問題:
當(dāng)編譯通過,但?點下Debug功能時,可以進(jìn)去調(diào)試界?,馬上就崩潰了,路徑名中有中?字符,計算機(jī)?戶名稱是中?。
解決辦法:換個深度淺?點的路徑。更換路徑之后,要全部重新編譯,否則調(diào)試的時侯MDK還會找舊路徑的源代碼;換個別的路徑,路徑中不帶中?就好;更改計算機(jī)?戶名稱。此計算機(jī):右鍵->管理->本地?戶和組->?戶。右鍵點擊->重命名。
修改并重新編譯后編譯結(jié)果如下圖4-1所示:
圖4-1 Keil μVision5調(diào)試結(jié)果
4.3 模擬圖
在Keil中生成.hex文件之后,在proteus里打開原理圖,將生成的檔加載到單片機(jī)中,經(jīng)過反復(fù)調(diào)試,三種衣物洗滌方式如下圖4-2、4-3-1、4-3-2、4-3-3、4-4-1、4-4-2所示:
(1)silk絲質(zhì)衣服模擬圖:漂洗3分鐘倒計時為0蜂鳴器報警,洗衣結(jié)束。
圖4-2 Proteus8.11 silk絲質(zhì)衣服漂洗中
(2)cotton棉質(zhì)衣服模擬圖:棉質(zhì)衣服先弱洗兩分鐘再強(qiáng)洗五分鐘再漂洗三分鐘,實現(xiàn)最長時間10分鐘倒計時,計時為0蜂鳴器報警,洗衣結(jié)束。
圖4-3-1 Proteus8.11 cotton棉質(zhì)衣服弱洗中
圖4-3-2 Proteus8.11 cotton棉質(zhì)衣服強(qiáng)洗中
圖4-3-3 Proteus8.11 cotton棉質(zhì)衣服漂洗中
(3)chemical化纖衣服模擬圖:化纖衣服先強(qiáng)洗四分鐘再漂洗兩分鐘,實現(xiàn)6分鐘倒計時,計時為0蜂鳴器報警,洗衣結(jié)束。
圖4-4-1 Proteus8.11chemical化纖衣服強(qiáng)洗中
圖4-4-2 Proteus8.11chemical化纖衣服漂洗中
第五章?總結(jié)
1.通過最后的硬件和軟件的模擬調(diào)試,本課題的研究工作已經(jīng)達(dá)到預(yù)期的要求,歸納起來有以下幾點:
(1)本課題實現(xiàn)了洗衣機(jī)控制系統(tǒng)的自動化。
(2)系統(tǒng)硬件設(shè)計使用的有芯片AT89C51,電容,晶振,電阻,L298驅(qū)動器,lcd1602液晶顯示屏,LED燈,蜂鳴器,按鈕,三極管PNP,直流電機(jī)等。
(3)系統(tǒng)軟件設(shè)計包括初始化程序、T0中斷服務(wù)程序,三種模式程序,LCD1602顯示程序,延時函數(shù),報警程序等,完成了洗衣機(jī)控制系統(tǒng)的自動化。
2.本次設(shè)計主要是以?AT89C51單片機(jī)為核心的,?對洗衣機(jī)進(jìn)行了簡單的設(shè)計與闡述。?本次設(shè)計可以說是軟硬結(jié)合,又以硬件為主,軟件為輔。?當(dāng)今科技發(fā)展迅速,單片機(jī)嵌入式開發(fā)有著光明的前景。?由于單片機(jī)具有經(jīng)濟(jì)實用、開發(fā)簡便等特點,?所以依然在工業(yè)控制、?家電等領(lǐng)域占據(jù)廣泛的市場。由于我以前對?51 單片機(jī)的?C 語言沒有認(rèn)真鉆研過,所以感覺課程設(shè)計的任務(wù)十分緊迫。?通過對本系統(tǒng)的設(shè)計,?我學(xué)習(xí)到了硬件開發(fā)和軟件開發(fā)的基本流程并有了一定的駕御此開發(fā)過程的能力。?通過實際的程序設(shè)計和不斷的調(diào)試過程,我更加熟練地掌握了單片機(jī)相關(guān)程序的程序設(shè)計方法,在不斷的設(shè)計過程中,我對單片機(jī)系統(tǒng)有了更深刻的認(rèn)識,進(jìn)一步熟悉和掌握了單片機(jī)的結(jié)構(gòu)以及它的工作原理,對定時、中斷程序等有了更深地認(rèn)識,學(xué)到了如何熟練使用仿真軟件Proteus8.11和程序設(shè)計軟件Keil uVision5。程序設(shè)計的過程中,?雖然不乏辛苦,但更多的是程序調(diào)試成功后的喜悅。文章來源:http://www.zghlxwxcb.cn/news/detail-418123.html
總之,?這次課程設(shè)計對我來說是一次比較全面的、富有創(chuàng)造性和探索性的鍛煉,完成了我選題時的心愿。令我深有感觸,?對于我今后的學(xué)習(xí)、工作和生活都將是受益非淺的!文章來源地址http://www.zghlxwxcb.cn/news/detail-418123.html
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第六章? 源代碼(需要的看作者個人簡介提供答疑)
到了這里,關(guān)于51單片機(jī)實現(xiàn)簡單的洗衣機(jī)控制系統(tǒng)設(shè)計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!