基于單片機(jī)的智能拐杖軟件設(shè)計(jì)_第1頁
基于單片機(jī)的智能拐杖軟件設(shè)計(jì)_第2頁
基于單片機(jī)的智能拐杖軟件設(shè)計(jì)_第3頁
基于單片機(jī)的智能拐杖軟件設(shè)計(jì)_第4頁
基于單片機(jī)的智能拐杖軟件設(shè)計(jì)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

摘要目前全球人口約為77億,而中國是全球最多人口的國家,擁有14億人口,同樣的是中國人口殘疾率也是世界拔尖的。根據(jù)世界衛(wèi)生組織的官方調(diào)查,目前全球盲人將近有4500萬,而有各種各樣的視力問題的人則多達(dá)1.8億,重要的是全球每年有近700萬新增盲人,而中國在16年時(shí)數(shù)據(jù),視力障礙人數(shù)已經(jīng)增長到1731萬人。更可怕的是,由于人口增長趨勢(shì)和老年化,如果不采取有效措施,未來十年,盲人與有視力問題的人的總數(shù)將擴(kuò)大一倍。針對(duì)以上問題,此課題將會(huì)設(shè)計(jì)一款以STC89C51單片機(jī)為控制器,采用HC-SR04超聲測(cè)距模塊作為傳感器,只做一款結(jié)構(gòu)簡單并且具有良好預(yù)警探路功能的盲人拐杖。關(guān)鍵詞:單片機(jī),傳感器,超聲波,智能拐杖SmartcrutchsoftwaredesignAbstractAtpresent,theglobalpopulationisabout7.7billion,andChinaistheworld'smostpopulouscountrywithapopulationof1.4billion.Similarly,China'spopulationdisabilityrateisalsothehighestintheworld.AccordingtotheWorldHealthOrganization,therearecurrentlynearly45millionblindpeopleworldwide,and180millionpeoplewithvariousvisionproblems,andnearly7millionnewblindpeopleworldwideeveryyear,andChina’sdataat16years,Thenumberofvisuallyimpairedpeoplehasincreasedto17.31million.Whatisevenmorefrighteningisthatduetopopulationgrowthtrendsandaging,thetotalnumberofblindandvisuallyimpairedpeoplewilldoubleinthenexttenyearsifeffectivemeasuresarenottaken.

Inviewoftheaboveproblems,thistopicwilldesignaSTC89C51single-chipmicrocomputerasthecontroller,andusetheHC-SR04ultrasonicrangingmoduleasthesensor.Makeablindcrutchwithsimplestructureandgoodearlywarningpathdetectionfunction.Keywords:MCU,sensor,ultrasonic,Smartcrutches目錄第一章緒論 11.1研究背景 11.2本設(shè)研究內(nèi)容 3第二章方案選擇 42.1主芯片的選擇 42.2測(cè)距芯片的選擇 62.2.1聲波傳感器 62.2.2光學(xué)傳感器 7第三章硬件設(shè)計(jì)介紹 93.1硬件介紹 93.2仿真硬件展示 103.3系統(tǒng)控制框圖 123.4設(shè)計(jì)整體仿真圖 13第四章軟件設(shè)計(jì)介紹 144.1概述 144.2開發(fā)語言的選擇 144.3程序設(shè)計(jì)步驟 154.4程序邏輯關(guān)系 174.5軟件編程部分 184.6軟件測(cè)試與調(diào)試 19第五章總結(jié) 22參考文獻(xiàn) 23致謝 24附錄 25PAGE4第一章緒論1.1研究背景目前來說,由于全球盲人約有4500萬人,各種各樣的視力障礙者多達(dá)1.8億人,不幸的是全球每年都會(huì)有700萬人成為新增盲人。在中國的情況,我們國家是占有全球盲人數(shù)量最多并且盲人生活環(huán)境出行設(shè)備最為復(fù)雜的,比例約為全球失明患者的18%,數(shù)量則為500萬左右,可以看出我國的失明群體和盲人助行需求十分迫切與龐大,更可怕的是,我國還有600萬左右的低視力群體,這還不包括1000萬兒童斜弱視眼疾群體,更重要的是,我國還保持著很高且快速的新增的數(shù)量和潛在的群體新增比率,我國盲人上漲速度約為45萬每年,從而看出潛或有風(fēng)險(xiǎn)成為盲人群體十分龐大。全國兒童青少年近視調(diào)查在2018年數(shù)據(jù)顯示出許多問題,首先是我國年輕群體總體近視發(fā)病情況相當(dāng)嚴(yán)重。在2018年的全國調(diào)查中,青少年即未滿18歲群體中近視人數(shù)約53.6%,即每兩個(gè)中就有一個(gè)是近視的。其中,6歲的兒童即未進(jìn)行義務(wù)教育前就近視的約為14.5%,當(dāng)?shù)搅诵W(xué)讀書階段近視的占比就提升為36.0%,這種情況到了初中階段翻倍增長,約占比為71.6%,到了高中階段不近視反而成了少數(shù)群體,近視與不近視學(xué)生呈現(xiàn)5:1,比率則為81.0%,學(xué)生因?qū)W業(yè)的用眼程度使眼睛近視的防控舉步難行。二是中小學(xué)近視的增長速率突出并且難以控制。青少年群體從小學(xué)到初中的過程中,近視學(xué)生比率的情況隨著年級(jí)快速爬高,小學(xué)生從入學(xué)到畢業(yè)的近視比率從15.7%快速爬升到59.0%,青少年初中入學(xué)到畢業(yè)也從64.9%快速提升77.0%,顯而易見中小學(xué)階段是防控近視的關(guān)鍵時(shí)間段。三是高度近視是引發(fā)失明的主要問題之一,因此高度在近視的問題是我們不可忽視的事情。高中畢業(yè)的青少年群體中視力達(dá)到600度高度近的學(xué)生,在此年齡段的的近視群體中的比率居然高達(dá)21.9%,然而致盲性眼病很大部分是由于高度近視而得不到康復(fù)護(hù)理或置之不管發(fā)展而來,十分容易導(dǎo)致各系列嚴(yán)重的并發(fā)癥。導(dǎo)致這類非先天性視力障的主要原因是,我國青少年群體大部分每天眼睛放松的戶外活動(dòng)遠(yuǎn)遠(yuǎn)不足2個(gè)小時(shí),這比例約67%,甚至有29%的學(xué)生是沒有1個(gè)小時(shí)的眼部課外放松時(shí)間的;大概有73%的青少年,每天睡眠時(shí)間更是不能達(dá)到青少年應(yīng)有健康時(shí)段,這很大程度是因?yàn)閷W(xué)余時(shí)間重度使用手機(jī)或沉迷于電子游戲?qū)е碌?。而老年化?dǎo)致視力障礙甚至失明也是主要失明群體人數(shù)暴增原因之一。總所周知,我國擁有龐大的老年人群體,這是我國人口結(jié)構(gòu)老齡化所致,而老年人白內(nèi)障患者的數(shù)量也在逐年累增,而白內(nèi)障、角膜疾病這些眼科疾病正是致盲的一大原因。目前中國每年新增的眼病患者200多萬例,這200多萬名患者中雖然不全是、但絕不乏因疾病致盲而無法恢復(fù)的例子。雖然很大部分盲人可以通過眼角膜捐贈(zèng)等醫(yī)療手段來治愈失明,但是目前來說,我國目前大約有200多萬的盲人患者在等待醫(yī)療,但是治療的方式是需要眼角膜的移植,可是眼角膜的病人需求遠(yuǎn)大于實(shí)際提供的數(shù)量,目前我國角膜的移植手術(shù)平均每年完成七千多例不到八千。拿我國最發(fā)達(dá)的北京來說,此地的同仁醫(yī)院眼庫大概有4萬多的眼角膜捐獻(xiàn)登記的志愿者,絕大部分是年輕人,比例為90%。然而眼角膜捐獻(xiàn)不會(huì)無緣無故,而是逝去的人留下的余香,但年輕志愿者和其他捐獻(xiàn)者的眼角膜源何時(shí)能捐獻(xiàn)這是一個(gè)很難確定的事情,這是代表逝去和重生的十分值得期待但也矛盾的更可能存在變化難以確定的,因此遠(yuǎn)水是解不了近渴的,為何捐獻(xiàn)群體會(huì)有如此大的年齡差異,且人數(shù)稀缺,一個(gè)是很大程度是因?yàn)椤吧眢w發(fā)膚受之父母”的封建且根深蒂固的傳統(tǒng)的觀念,第二則是我國進(jìn)行眼球或角膜的捐獻(xiàn)系統(tǒng)的十分繁瑣,眼角膜的唯一合法捐獻(xiàn)途徑是公民去世并自愿捐獻(xiàn)器官。就現(xiàn)在而言,我國醫(yī)療系統(tǒng)中器官捐獻(xiàn)的體系與角膜的捐獻(xiàn)系統(tǒng)還沒有完善的并網(wǎng)互通信息,因?yàn)闊o法簡單便捷的給失明患者獲取角膜。國內(nèi)的眼庫運(yùn)作信息系統(tǒng)無法跟上器官捐獻(xiàn)系統(tǒng),是處于醫(yī)療中的孤立無援或難援的困境。各大醫(yī)療機(jī)構(gòu)只能各自的找眼角膜源。國內(nèi)的醫(yī)院大多都是處于眼角膜庫空倉的情況。而且通過昂貴的治療也不是每一個(gè)盲人能支付得起的。所以我們應(yīng)該在社會(huì)中提供更大的幫助與盲人群體。盲人道因而就由始普及,但目前來說,盲道設(shè)計(jì)與規(guī)劃也沒有十分的重視,反而很多是市政面子工程,例如彎彎曲曲的盲行道,美曰其名的說是美化道路,道路車輛亂放占道,盲道被井蓋、墻壁、綠化樹打斷戛然而止、各種殘破損壞等。更嚴(yán)重的是,市民本身的不重視,道路懸掛繩索,店鋪物品外放占道,這是屬于事不關(guān)己的漠視態(tài)度,這早在多年前就有的各式不文明現(xiàn)象,對(duì)于盲人來說,盲道似乎并不能給他們帶來太多實(shí)際的幫助。因而外出的盲人更多時(shí)候是帶協(xié)助工具或幫手,現(xiàn)在常見的導(dǎo)盲犬就是解決盲人導(dǎo)航的方法之一。發(fā)達(dá)國家失明人士大多都會(huì)去用導(dǎo)盲犬解決導(dǎo)路問題,這也與他們社會(huì)公共社區(qū)接納犬類動(dòng)物有關(guān),在中社會(huì)環(huán)境來說,寵物犬犬類雖然已經(jīng)很融入人們城市社區(qū),但是很多公共場(chǎng)所依舊有所顧忌,目前在國內(nèi)最新修訂的《中華人民共和國殘疾人保障法》規(guī)定中:“盲人攜帶導(dǎo)盲犬出入公共場(chǎng)所,應(yīng)當(dāng)遵守國家有關(guān)規(guī)定?!笨墒乾F(xiàn)在具體的規(guī)定究竟是什么還沒有明確的規(guī)范確定。局部的確來說,如北京市這種國內(nèi)最發(fā)達(dá)的城市來說,五萬多名盲人在此生活,但是服務(wù)盲人的導(dǎo)盲犬?dāng)?shù)量卻不到三十只,在東城區(qū)盲人與導(dǎo)盲犬比例居然是4000:1。目前來說,只要有1%的盲人擁有導(dǎo)盲犬,即可當(dāng)做導(dǎo)盲犬普及成功,這是國際導(dǎo)盲犬聯(lián)盟規(guī)定規(guī)定的。想而易見,北京都遠(yuǎn)達(dá)不到這個(gè)標(biāo)準(zhǔn),更不用說不如北京的小城市。并且,導(dǎo)盲犬如果大量進(jìn)入人流密集的公共場(chǎng)所則會(huì)引起一系列的社會(huì)問題,例如,高鐵巴士地鐵等主要交通工具,這些地方人群結(jié)構(gòu)十分復(fù)雜,有行為難以規(guī)范的小孩,行動(dòng)緩慢的老人等,很難確保他們與導(dǎo)盲犬之間能否不發(fā)生任何沖突。乘務(wù)員一般來說保障大部分乘客的權(quán)益而委曲求全,導(dǎo)致本是弱勢(shì)群體的盲人與導(dǎo)盲犬處于相當(dāng)尷尬的局面。在餐廳類這種一樣復(fù)雜的人群環(huán)境更為不樂觀,因?yàn)閷?dǎo)盲犬的毛發(fā)與體味影響其他客人飲食這類新聞也常有。所以盲人就不能和普通人一樣,享受社會(huì)的各種服務(wù)了嗎?非也!首先從道德關(guān)懷的角度來說,為了更好地提供盲人便捷的幫助,與解決其他各種因而產(chǎn)生的社會(huì)矛盾,設(shè)計(jì)一款以STC89C51集成電路芯片作為控制器,并采用HC-SR04超聲測(cè)距模塊來作為距離探測(cè)的傳感器,做一款結(jié)構(gòu)簡單并且具有良好預(yù)警探路功能的盲人拐杖。其原理是將聲波的技術(shù)應(yīng)用到盲人的手杖上,首先這款產(chǎn)品原理簡單且造價(jià)便宜,能夠?yàn)槊と私鉀Q路面障礙物探行報(bào)警等基本出行難題,首先通過拐杖產(chǎn)生超聲波探測(cè)前方物體,當(dāng)前方有物體,聲波被反彈到拐杖的聲波接收器,則會(huì)發(fā)生警報(bào)提示提請(qǐng)盲人,用這樣的方式提高盲人路面路況的具體情況來使出行安全。相比于難以確定實(shí)際情況的導(dǎo)盲犬或者路況探測(cè)設(shè)備,我們的盲人拐杖的優(yōu)勢(shì)就十分突出,功能更是強(qiáng)于以前傳統(tǒng)的盲人探路棒,便攜性更不容置疑,比活體動(dòng)物導(dǎo)盲犬方面多且爭議少。從市場(chǎng)角度來看,盲人的數(shù)量群體非常龐大,并趨于快速上升的狀況,這此設(shè)計(jì)來說,制造成本也不貴,以至于在龐大的盲人市場(chǎng)上也會(huì)得到產(chǎn)品更好更低得普及成本。1.2本設(shè)計(jì)的研究內(nèi)容以STC89C51單片機(jī)為控制器,采用HC-SR04超聲測(cè)距模塊作為傳感器,設(shè)計(jì)一款結(jié)構(gòu)簡單并且具有良好預(yù)警探路功能的盲人拐杖。主要功能有:通過聲波探測(cè)前方障礙物并且是否報(bào)警;拐杖倒地長后定時(shí)報(bào)警1根據(jù)設(shè)計(jì)要求,對(duì)設(shè)計(jì)方案做出不同零件選擇與比較得出最佳方案。2電路設(shè)計(jì)以及仿真調(diào)試3單片機(jī)的程序開發(fā)。第二章方案選擇根據(jù)設(shè)計(jì)要求,寫出詳細(xì)的業(yè)務(wù)邏輯,再根據(jù)可行性來羅列出所有的方案,從性價(jià)比、開發(fā)難度出發(fā),選擇出最優(yōu)的方案,本設(shè)計(jì)目的是在設(shè)計(jì)一個(gè)盲人拐杖射波探測(cè)系統(tǒng),能夠有效判斷障礙物,即使聲波系統(tǒng)來檢測(cè),另外,盲人倒地或突發(fā)情況后需要建立人機(jī)交互系統(tǒng),對(duì)于人機(jī)交互來說,需要選擇輸入方式,即告訴機(jī)器要怎么做,以及機(jī)器選擇回饋方式,即機(jī)器告訴我們?cè)趺醋?,因此,?duì)于不同的模塊、功能,都要進(jìn)行方案的比較與選擇。2.1主芯片的選擇目前市場(chǎng)上占有率最大的是51系列的單片機(jī),因?yàn)楫a(chǎn)品的造價(jià)成本低結(jié)構(gòu)簡單功能齊全,指令系統(tǒng)的規(guī)范,重要的是生產(chǎn)渠道的成熟和普及,有應(yīng)用市場(chǎng)普及的優(yōu)勢(shì)。全世界眾多芯片公司有研發(fā)51芯片的核心專利,并且還在不斷升級(jí)完善技術(shù),久而久之已經(jīng)形成了龐大的體系,直到現(xiàn)在仍在不斷翻新,使單片機(jī)的設(shè)計(jì)世界注入源源不斷的新鮮血液。51系列有一套全面的軟硬件按位操作系統(tǒng),并且它的能效功耗比相當(dāng)優(yōu)秀,性能強(qiáng)勁。在功能上他也相當(dāng)易懂完整容易使用,它的處理對(duì)象不是字或者字節(jié),而是位。它不僅可以處理芯片上某些特殊的功能寄存器的某個(gè)位,還能處理傳送、置位、清零、測(cè)試等,還可以對(duì)該位執(zhí)行邏輯運(yùn)算。它的功能非常完整并且易于使用。盡管其他類型的微控制器也具有位處理功能,但很少能夠執(zhí)行位邏輯運(yùn)算。51系列在片內(nèi)RAM區(qū)間還特別開辟了一個(gè)雙重功能的地址區(qū)間,十六個(gè)字節(jié),單元地址20H~2FH,它既可作字節(jié)處理,也可作位處理(作位處理時(shí),合128個(gè)位,相應(yīng)位地址為OOH~7FH),使用極為靈活。折舊功能為設(shè)計(jì)者提供了很大的便利,因?yàn)閺?fù)雜的程序運(yùn)算會(huì)有很多分支需要建立許多標(biāo)志位。在運(yùn)行過程中,需要將相關(guān)標(biāo)志位進(jìn)行置位、清零或檢測(cè),以確定程序的運(yùn)行方向。而實(shí)施這一處理(包括前面所有的位功能),只需用一條位操作指令即可。51系列的另一個(gè)優(yōu)點(diǎn)是乘法和除法指令。八位除以八位的除法指令,商為八位,精度嫌不夠,用得不多。而八位乘八位的乘法指令,其積為十六位,精度還是能滿足要求的,用的較多。51系列的另一個(gè)優(yōu)點(diǎn)是乘法和除法指令,這給編程也帶來了便利。51系列的I/O腳的設(shè)置和使用非常簡單等。STC89C51的引腳功能介紹:(1)4KB芯片程序存儲(chǔ)器(2)128字節(jié)片上數(shù)據(jù)存儲(chǔ)器(RAM)(3)32個(gè)字節(jié)專用于注冊(cè)庫(4)16位可位尋址存儲(chǔ)器(5)3個(gè)內(nèi)部和2個(gè)外部中斷。(6)8位數(shù)據(jù)總線(7)80字節(jié)的通用存儲(chǔ)器(8)128個(gè)用戶定義的軟件標(biāo)志。(9)4家注冊(cè)銀行。(10)16位地址總線(11)16位定時(shí)器(通常為2,但可能有更多或更少)。(12)位和字節(jié)可尋址RAM區(qū)域?yàn)?6字節(jié)。(13)四個(gè)8位端口(短型號(hào)有兩個(gè)8位端口)。(14)16位程序計(jì)數(shù)器和數(shù)據(jù)指針。(15)1微秒指令周期,12MHz晶振。(16)8051的變體還可以有一些特殊的特定模型,如UART,ADC,Op_Amps等,使其成為更強(qiáng)大的微控制器。該芯片引腳有40個(gè)。在單片機(jī)的40個(gè)引腳中,電源引腳2根分別為VSS用于接低電平,VCC接電源,有2根引腳為外接晶體振蕩器,控制引腳有4根以及4組8位可編程I/O引腳有32根。各個(gè)引腳的功能為:VCC(40):電源輸入,接+5V電源GND(20):接地線XTAL1(19):片內(nèi)振蕩電路的輸入端XTAL2(20):片內(nèi)振蕩電路的輸出端RST/VPP(9):用于將微控制器復(fù)位到其初始值。ALE/PROG(30):地址鎖存的允許信號(hào)PSEN(29):外部存儲(chǔ)器的讀選通信號(hào)EA/VPP(31):程序存儲(chǔ)器的內(nèi)外部選通,接高電平從內(nèi)部程序存儲(chǔ)器讀指令,接低電平則從外部程序存儲(chǔ)器讀指令。PO口(39~32引腳):8位雙向I/O口線,名稱分別為P0.0~P0.7P1口(1~8引腳):8位準(zhǔn)雙向I/O口線,對(duì)內(nèi)程序存儲(chǔ)器校驗(yàn)和編程時(shí)用做低8位地址總線,分別為P1.0~P1.7P2口(21~28引腳):8位準(zhǔn)雙向I/O口線,對(duì)片內(nèi)程序存儲(chǔ)器校驗(yàn)編程時(shí)用做高8位地址總線,分別為P2.0~P2.7P3口(10~17):8位準(zhǔn)雙向I/O口線,可以提供特殊的第二編譯功能,分別為P3.0~P3.7圖2.1STC89C51單片機(jī)最小系統(tǒng)2.2測(cè)距芯片的選擇2.2.1聲波傳感器首先,超聲波傳播的速度與傳播介質(zhì)的密度有關(guān),這里介質(zhì)一般為空氣。適當(dāng)?shù)纳邷囟然蛘邷囟茸兓瘯r(shí),測(cè)量值可能會(huì)發(fā)生偏差。當(dāng)溫度低至零攝氏度時(shí),超聲波的傳播系數(shù)為332m/s。在十?dāng)z氏度時(shí),超聲波的速度為350m/s。在這種情況下,僅測(cè)量300米以內(nèi)的目標(biāo)時(shí),由于聲速變化引起的誤差將達(dá)到15米,也就是說,每米約5mm的誤差的確是業(yè)界難以忽略的距離,但這僅僅是用作引導(dǎo)裝置,即在知道超聲波傳播速度C時(shí),使用超聲波發(fā)射器將超聲波發(fā)射到前方,當(dāng)聲波遇到障礙物或者測(cè)試物后,聲波將被反射回接收裝置,反射波將被超聲波接收器檢測(cè)接受到。利用聲波到物體后反射回來的時(shí)間記為s,然后量出模塊到障礙物體的距離記為d,即d=340·t/2。因此,對(duì)于步幅接近半米的正常人來說,5mm的距離是一個(gè)無害的數(shù)字。因?yàn)榻Y(jié)構(gòu)簡單,成本便宜,因而這次設(shè)計(jì)選擇這款探距芯片。聲波測(cè)距原理十分簡單,如圖2.2。HC-SR04超聲波收發(fā)模塊的技術(shù)參數(shù)1:使用電壓:DC5V2:電平輸出:高5V3:電平輸出:低0V4:測(cè)試障礙物距離:0.2M-4.5M5:靜態(tài)電流:0到2mA6:感應(yīng)角度:水平夾角上下各7.5度7:高精度:誤差可達(dá)0.2CM內(nèi)圖2.2聲波測(cè)距原理圖圖2.3光學(xué)測(cè)距原理圖(激光三角法)2.2.2光學(xué)傳感器首先,光速比聲速快得多,這使得光學(xué)傳感器的響應(yīng)速度比超聲傳感器快得多。光傳感器可以輕松實(shí)現(xiàn)許多只能精確到厘米級(jí)的超聲波傳感器測(cè)距精確度,光學(xué)傳感器精度級(jí)別可以輕松達(dá)到毫米級(jí)別,實(shí)際場(chǎng)景上光學(xué)傳感器與超聲波傳感器相比,光學(xué)傳感器在拐杖的應(yīng)用上干擾性有待斟酌,例如碰到霧天、雨天或玻璃類障礙物的實(shí)際情況,但理論上來說,光學(xué)探測(cè)比聲波探測(cè)更要精準(zhǔn),無需考慮溫度和風(fēng)速等變化,并且由于光的傳播比聲波的可能性小,因此超聲波傳感器與光學(xué)傳感器相比,后者測(cè)得的最大距離遠(yuǎn)遠(yuǎn)超過了前者。光學(xué)測(cè)距模塊運(yùn)行原理是:先由發(fā)射模塊中的激光二極管向前方發(fā)射激光,物體接收到光線后光線向周圍反射,當(dāng)這時(shí)接收模塊接收到部分反射的光線后,經(jīng)雪崩光電二極管傳遞信號(hào)源,其中雪崩光電二極管是一種能放大信號(hào)的光學(xué)傳感器,因此微弱的光信號(hào)也能發(fā)揮作用。只要記錄光發(fā)出到返回被接收所經(jīng)歷的時(shí)間,也就是如聲波傳感器一個(gè)原理計(jì)算距離,即可測(cè)定目標(biāo)距離。在具體的計(jì)算環(huán)境中,只有精確的測(cè)出傳送時(shí)間才能有效計(jì)算距離,因?yàn)楣馑俦纫羲倏煜喈?dāng)多。因?yàn)楣馑傧喈?dāng)快,即使按光速約為3X10^8米每秒來計(jì)算,要想使距離誤差達(dá)到1毫米,則測(cè)距模塊與電路之間的誤差識(shí)別要在0.001m/(3X10^8m/s)=3ps之內(nèi),要分辨出3ps的時(shí)間,從物料成本來看,就會(huì)大大提高了制作成本,不利于市場(chǎng)普及,對(duì)制造拐杖來說造價(jià)太高。市面常見的光學(xué)測(cè)距傳感器工作原理如圖2.3所示。圖2.4控制系統(tǒng)硬件電路原理圖最終硬件選擇如圖2.4所示,芯片采用STC89C51,測(cè)距模塊采用SRF04聲波傳感器,各種零部件組成,電路原理圖連線如圖2.4,第三章硬件設(shè)計(jì)介紹3.1硬件介紹表3.1硬件清單元件名參數(shù)數(shù)量萬用板/PCB空板1電阻1K歐1電阻10K歐1晶振11.0592MHz1瓷片電容30PF2排阻10K歐(103)1電解電容10uF1IC座40Pin1LED紅色1插針單排20Pin2插針雙排2*31DC插頭5.5*2.11自鎖開關(guān)8*81電位器10K1SRF044腳1蜂鳴器有源1STC89C51/STC89C5211602顯示16*21輕觸開關(guān)3本次設(shè)計(jì)材料主要有STC89C51單片機(jī)、1602顯示屏、萬用板、電阻、晶振、瓷片電容、排阻、電解電容、IC座、LED燈、插針、DC插頭、自鎖開關(guān)、電位器、SRF04聲波傳感器、蜂鳴器、輕觸開關(guān)等。而數(shù)量與參數(shù)如表3.1硬件清單所示。3.2仿真硬件展示圖3.1LM016L仿真顯示屏和實(shí)物1602A顯示屏上圖為仿真LM016L和實(shí)物1602A的一個(gè)顯示屏,主要作用僅是仿真過程中設(shè)計(jì)距離時(shí)用于模擬障礙物報(bào)警距離而用,實(shí)際實(shí)物并不會(huì)用得上。圖3.2SRF04聲波傳感器上圖為聲波傳感器,在此模塊設(shè)置中范圍是2CM到4.5M可觸發(fā)報(bào)警的距離。圖3.3蜂鳴器報(bào)警圖此為蜂鳴器的報(bào)警裝置,當(dāng)距離小于30cm時(shí)蜂鳴器接受到控制器發(fā)送的命令,觸發(fā)蜂鳴器模塊工作。圖3.4復(fù)位電路圖圖3.5晶振電路圖上圖為最小系統(tǒng)的復(fù)位電路與晶振電路,當(dāng)程序運(yùn)行出現(xiàn)錯(cuò)誤或者使系統(tǒng)進(jìn)入鎖死的時(shí)候,為了解除問題可以使用復(fù)位電路的復(fù)位功能。晶振電路是給單片機(jī)提供時(shí)鐘輸入,是時(shí)鐘電路中十分重要的部件,沒了它工作頻率會(huì)不穩(wěn)定從而容易造成相關(guān)設(shè)備的波動(dòng),沒有時(shí)鐘單片機(jī)不可工作。3.3系統(tǒng)控制框圖電源模塊電源模塊STC89C51STC89C51單片機(jī)開關(guān)顯示屏聲波傳感器開關(guān)顯示屏聲波傳感器蜂鳴器蜂鳴器圖4.7整體硬件邏輯圖圖3.6硬件運(yùn)行流程圖開始開始聲波掃描報(bào)警按鍵中斷是否有障礙物結(jié)束YN圖3.7聲波報(bào)警工作流程圖本設(shè)計(jì)系統(tǒng)控制如圖3.6,圖3.7所示,由電源提供單片機(jī)5V電壓,單片機(jī)驅(qū)使聲波傳感器不斷掃面前方障礙物數(shù)據(jù),在仿真過程中添加了顯示板提供距離數(shù)值方便了解測(cè)試情況,假如障礙物在設(shè)置值30CM以內(nèi),會(huì)驅(qū)動(dòng)蜂鳴器報(bào)警,而開關(guān)設(shè)定是用于拐杖不使用時(shí)靠墻或放在物體附近時(shí)可以手動(dòng)關(guān)閉報(bào)警功能。3.4設(shè)計(jì)整體仿真圖圖3.8仿真電路設(shè)計(jì)圖圖3.8所示的是本次實(shí)驗(yàn)的仿真圖,本系統(tǒng)主要功能運(yùn)作模塊由SRF05聲波傳感器、STC89C51單片機(jī)、SMC1602A液晶顯示模塊、蜂鳴器、晶振回路和復(fù)位電路組成。第四章軟件設(shè)計(jì)介紹4.1概述硬件系統(tǒng)需要軟件系統(tǒng)作為驅(qū)動(dòng)力,擁有軟件系統(tǒng)這個(gè)靈魂,硬件系統(tǒng)這個(gè)軀體才能執(zhí)行命令。硬件系統(tǒng)與軟件系統(tǒng)同時(shí)運(yùn)行,工作中兩大系統(tǒng)皆不可缺一。4.2.開發(fā)語言的選擇目前,執(zhí)行設(shè)計(jì)方案的開發(fā)語言有C語言、JAVA、C++以及python等,它們都有自己的特點(diǎn),都有自己擅長編程的領(lǐng)域。此設(shè)計(jì)的主控芯片為STC89C51單片機(jī),目前能夠?qū)TC89C51單片機(jī)進(jìn)行程序設(shè)計(jì)的語言只有C語言、C++、匯編語言以及python(micropython)語言。對(duì)于這幾種語言,在MDK上運(yùn)行的要求也會(huì)不一樣,因此以下列舉了幾種方案:方案一:采用C語言,C語言具有地層結(jié)構(gòu)并且設(shè)計(jì)功能十分強(qiáng)大的設(shè)計(jì)功能,加上他清晰的邏輯層次編譯設(shè)計(jì),因而人們常常編譯出高效、質(zhì)量優(yōu)良的代碼。因?yàn)橐陨咸攸c(diǎn),用C語言來編程軟件即可極大縮短研發(fā)周期,結(jié)構(gòu)層次清晰還能便于他人改良和閱讀。方案二;采用匯編語言,匯編語言是最為底層的編程語言,在遇到BUG時(shí)候,能夠直接針對(duì)底層進(jìn)行修改,但是這種語言編寫繁瑣,需要寫更多的代碼完成相同功能,一般,匯編語言主要用在更加底層的任務(wù)編程上面,比如磁盤的修復(fù)等。方案三:采用python(micropython)語言,在單片機(jī)中移植micropython庫,這種方式一般用在人工智能上面,比如機(jī)器學(xué)習(xí)、圖像識(shí)別等,優(yōu)點(diǎn)是對(duì)于人工智能類的需求可以更適配,但是普通的需求卻難以勝任。方案四:采用C++語言,對(duì)于單片機(jī)編程,C++相比C語言來說擴(kuò)充了自定義類型,可以用class對(duì)任意對(duì)象封裝成模板,然后建立實(shí)物對(duì)應(yīng)的對(duì)象,此語言和C語言不通,主要是面向?qū)ο螅珻語言主要是面向過程。對(duì)于此設(shè)計(jì),并非人工智能設(shè)計(jì),因此排除方案三,C++相較于C語言更為復(fù)雜,雖然強(qiáng)大,但是適用性不強(qiáng),匯編語言比較偏向底層,在遇到BUG時(shí)候,能夠直接針對(duì)底層進(jìn)行修改,但是這種語言編寫繁瑣,需要寫更多的代碼完成相同功能,C語言也是一種偏底層的編譯型設(shè)計(jì)語言,擁有較為底層的語法結(jié)構(gòu)以及強(qiáng)大的程序設(shè)計(jì)功能,它是一個(gè)運(yùn)行快、用于底層硬件編譯、移植和可讀性簡單的語言,可以操作對(duì)象為系統(tǒng)的硬件。可以更快地完成系統(tǒng)軟件,并且修改或者擴(kuò)編便捷,可讀性更強(qiáng)而且更利于做出高性能且大規(guī)模的系統(tǒng)應(yīng)用。因而,針對(duì)以上的對(duì)比與選擇,智能拐杖系統(tǒng)選擇了C語言進(jìn)行程序設(shè)計(jì)。4.3程序設(shè)計(jì)步驟對(duì)于多通道檢測(cè)的數(shù)字頻率計(jì)的軟件調(diào)試就是對(duì)KEIL5軟件的調(diào)試,此軟件編程代碼相當(dāng)高效,有代碼緊湊、簡單易懂,在大型軟件的開發(fā)具有很大的優(yōu)勢(shì),是一款功能強(qiáng)大的C語言軟件開發(fā)系統(tǒng),其特點(diǎn)是結(jié)構(gòu)簡單、功能齊全、易讀易維護(hù)。因而使用KEIL可使代碼更為緊湊而提高編程效率。開始編程前,需打開軟件后需要新建一個(gè)工程文件。我們可以對(duì)這個(gè)新的工程進(jìn)行命名,軟件的創(chuàng)建新工程的選項(xiàng)為project-Newuvisionproject,完畢后即可進(jìn)入編寫新工程文件的界面。如圖圖4.1創(chuàng)建新工程文件新工程創(chuàng)建完畢后,需要選擇編程的芯片,例如本次編程的芯片為51系列單片機(jī),即可選擇51選項(xiàng),點(diǎn)擊軟件的“File”選項(xiàng)即可完成對(duì)空白文檔的建立。創(chuàng)建新文檔如圖圖4.2創(chuàng)建新的文檔在新文檔中,我們就可以編寫代碼了,編寫代碼的第一步就是定義頭文件,帶有“include”的第一行代碼就是定義程序的頭文件。由于是首次嘗試編寫代碼,因此在編寫過程中及編寫完成后都需要仔細(xì)的檢查,確保代碼沒有問題,順利編譯。編譯完成,通過編譯后會(huì)出現(xiàn)鏡像文件,這個(gè)鏡像文件就是要燒錄到單片機(jī)內(nèi)的程序文件。程序編譯通過并實(shí)現(xiàn)所需的功能,這樣才能證明軟件調(diào)試的成功,雖然代碼有幾百、幾千行,但只要認(rèn)真對(duì)待、認(rèn)真檢查就會(huì)取得最后的成功運(yùn)行。在完成硬件的焊接和軟件的編寫之后,軟硬件相結(jié)合的調(diào)試方法是十分重要的,也是必不可少的一個(gè)環(huán)節(jié)。在本章中,詳細(xì)的說明了軟硬件的調(diào)試過程,并且對(duì)調(diào)試的結(jié)果進(jìn)行了分析,驗(yàn)證了本系統(tǒng)的軟件和硬件的最終結(jié)果。系統(tǒng)采用KEIL5按鍵進(jìn)行編程,在程序完成后,可以在編譯器中查找錯(cuò)誤,如果有錯(cuò)誤可進(jìn)行修改。如果程序編譯不通過,可以進(jìn)行程序斷點(diǎn)調(diào)試,在軟件調(diào)試工具欄中對(duì)程序進(jìn)行逐句調(diào)試。編寫好程序代碼之后,可以點(diǎn)擊編譯。在編程中,由于編程疏忽,經(jīng)常會(huì)寫出語法錯(cuò)誤,在編譯器中會(huì)提示相關(guān)的錯(cuò)誤信息。經(jīng)過多次不屑努力,終于把錯(cuò)誤都修改完,編譯成功之后,“0error”,這樣可以生成hex鏡像文件。燒錄STC89C51單片機(jī)程序,通過KEIL5軟件進(jìn)行燒錄,加載鏡像文件,實(shí)現(xiàn)燒錄剛才編譯好的hex鏡像文件。4.4程序邏輯關(guān)系告警查詢告警查詢顯示查詢串口接收中斷處理程序入口顯示查詢串口接收中斷處理程序入口獲得超聲波傳感器數(shù)據(jù)查詢按鍵是否按下獲得超聲波傳感器數(shù)據(jù)查詢按鍵是否按下處理按鍵事件處理按鍵事件圖4.3程序引用關(guān)系圖查詢按鍵是否按下查詢按鍵是否按下獲得超聲波傳感器數(shù)據(jù)獲得超聲波傳感器數(shù)據(jù)顯示查詢

顯示查詢

NN是否有障礙物是否有障礙物YY串口接收中斷處理串口接收中斷處理

串口發(fā)送中斷處理串口發(fā)送中斷處理圖4.4函數(shù)運(yùn)行關(guān)系流程在仿真中,程序初層由程序入口,分別引用告警查詢、顯示查詢、串口中斷查詢、獲得超聲波傳感器數(shù)據(jù)、按鍵查詢等構(gòu)成。如圖4.3所示,其中按鍵事件關(guān)系如圖4.4。4.5軟件編程部分圖4.5聲波模塊代碼本編程設(shè)計(jì)核心主要是聲波部分,代碼為圖4.5。首先開啟定時(shí)器TIME2,先對(duì)數(shù)據(jù)進(jìn)行清楚,避免數(shù)據(jù)采集出錯(cuò),設(shè)置標(biāo)志位,當(dāng)遇上障礙物時(shí),標(biāo)志位置為1,對(duì)數(shù)據(jù)進(jìn)行采集。其中,根據(jù)超聲波模塊使用手冊(cè)可知距離計(jì)算公式為((12/11059200)*344.4/2)*100,乘以100表示轉(zhuǎn)化為厘米級(jí),12表示12個(gè)時(shí)鐘周期。測(cè)距局部編程代碼如下:uint16_t

get_ultrasonic_distance(void)

{

uint16_t

t;

uint16_t

distance;

clear_timer2();

__disable_irq();///關(guān)閉中斷,測(cè)距更準(zhǔn)

ULTRASONIC_TRIG

=

1;

ultrasonic_delay50us();

ULTRASONIC_TRIG

=

0;

while(!ULTRASONIC_ECHO);

TR2

=1;///啟動(dòng)定時(shí)器運(yùn)行

while(ULTRASONIC_ECHO);

t

=

(uint16_t)(timer2_ticks_now());

__enable_irq();

distance=t

*

0.01870768;///((12/11059200)*344.4/2)*100使用手冊(cè)提供

return

distance;}圖4.6函數(shù)調(diào)用圖4.6軟件測(cè)試與調(diào)試當(dāng)程序編輯完成后,后續(xù)調(diào)試極其重要,是設(shè)計(jì)中必不可少的環(huán)節(jié),當(dāng)發(fā)現(xiàn)錯(cuò)誤即要立即修改,編譯不成功,則可嘗試程序斷點(diǎn)調(diào)試,程序組局調(diào)試可以再軟件調(diào)試工具欄中找出。當(dāng)程序完成后進(jìn)行編譯。如圖4.7圖4.7程序編譯在設(shè)計(jì)過程中,往往會(huì)有很多疏忽,導(dǎo)致語法上錯(cuò)誤,例如少了“;”的基礎(chǔ)錯(cuò)誤,都會(huì)導(dǎo)致編譯失敗,出現(xiàn)錯(cuò)誤提示。如圖4.8圖4.8錯(cuò)誤檢查經(jīng)過多次修改,最后編譯成功后得到“0error”,即可嘗試仿真實(shí)驗(yàn),進(jìn)一步查看實(shí)際調(diào)試效果。圖4.9編譯通過當(dāng)我們轉(zhuǎn)至仿真實(shí)際功能測(cè)試中時(shí),仿真中的聲波模塊能自動(dòng)調(diào)節(jié)聲波探測(cè)距離,即模擬物體所在距離,如圖4.10,此時(shí)模擬物體距離在前方35CM處,這時(shí)聲波模塊設(shè)定報(bào)警距離低于30CM報(bào)警,因而這時(shí)蜂鳴器沒有報(bào)警,而報(bào)警距離可以通過按鍵K0增加設(shè)定值,K1減少設(shè)定值。圖4.10仿真功能測(cè)試在實(shí)物對(duì)軟件編程的調(diào)試檢驗(yàn)中,我們分別測(cè)試了五組數(shù)據(jù),分別是模塊測(cè)得距離為10/30/50/70/90CM時(shí),實(shí)際測(cè)得距離分別為多少,而數(shù)據(jù)如表4.1表4.1距離探測(cè)報(bào)警實(shí)況表Distance實(shí)際距離誤差距離10.0CM10.5CM0.5CM30.0CM31.5CM1.5CM50.0CM52.0CM2.0CM70.0CM72.4CM2.4CM90.0CM93.8CM3.8CM經(jīng)過多次測(cè)量的數(shù)據(jù)表明,此設(shè)計(jì)能夠滿足要求,并且精度對(duì)實(shí)際使用需求足夠滿足,存在的誤差都屬于正常范圍內(nèi)。圖4.11距離誤差測(cè)試第五章結(jié)論超聲波測(cè)距,所使用的原理十分明了且非常簡單,即利用超聲波的收發(fā)模塊當(dāng)作傳感器,作為核芯計(jì)算機(jī)的是51系列單片機(jī),首先測(cè)定超聲波的傳播的時(shí)間來計(jì)算出聲音傳播的距離,然后在顯示器(數(shù)碼管顯示器并不是給使用者觀看,更多的是給開發(fā)者以便利)和蜂鳴器上顯示或報(bào)警的形式體現(xiàn)出來。但其實(shí)真實(shí)情況下,盲人卻并不只是依靠了這種相對(duì)智能的拐杖即可完全的安全避開這些一切的障礙,例如生活中下垂的樹枝,滿地布滿污泥影響行人的路況,這就需要更復(fù)雜的更精準(zhǔn)的系統(tǒng)來完成檢測(cè)。所有其實(shí),最重要的還是我們的盲道的合理的設(shè)計(jì)和嚴(yán)格的施工,這才是盲人出行安全最大的前提,實(shí)際中,無論是實(shí)際中數(shù)量很少很少的久經(jīng)訓(xùn)練的導(dǎo)盲犬、亦或是多精準(zhǔn)的聲波、光波的探測(cè)拐杖甚至是語音功能的盲人導(dǎo)航,都難以媲美一條合理合情設(shè)計(jì)的綠色盲人的通道。或是無論我這個(gè)多么微不足道的盲人拐杖的設(shè)計(jì),還是已經(jīng)投入了盲人市場(chǎng)并且獲得諸多的大獎(jiǎng)的智能的設(shè)計(jì)、產(chǎn)品,最終結(jié)果也是稍微的能對(duì)盲人提高輔助的工具而已。本次設(shè)計(jì)從方案選擇刀后期實(shí)物的焊接制作都花了很多時(shí)間去了解查找,而難點(diǎn)在于元器件搭配到電路板焊接制造實(shí)際上考慮的因素有很多,當(dāng)然編程編輯與編譯調(diào)試改錯(cuò)更是繁瑣,需要多個(gè)模塊協(xié)調(diào)等。因此本次設(shè)計(jì)我從閱了所學(xué)課本書籍和網(wǎng)上各知識(shí)點(diǎn),確定了設(shè)計(jì)方向,完成了這個(gè)設(shè)計(jì)并撰寫了報(bào)告。參考文獻(xiàn)[1]?廖常初.S7-200PLC基礎(chǔ)教程[M].2版.?北京:機(jī)械工業(yè)出版社.2009[2]?蔡杏山.西門子S7-200PLC技術(shù)[M].?北京:人民郵電出版社.2010?[3]?鄭鳳翼.圖解PLC控制系統(tǒng)梯形圖和語句表[M].?北京:人民郵電出版社.2010?[4]李道霖.電氣控制與PLC原理及應(yīng)用(西門子系列).?北京:電子工業(yè)出版社.2004[5]亢俊健,賈麗萍,等.光電子技術(shù)及應(yīng)用[M].?天津:天津大學(xué)出版社.2007?[6]張福學(xué)等.傳感器敏感元器件大全.?北京:電子工業(yè)出版社.1990[7]陳建明.《電氣控制與PLC應(yīng)用》,電子工業(yè)出版社2007[8]鄧則名.《電器與可編程控制器應(yīng)用技術(shù)》,機(jī)械工業(yè)出版社[9]李建興.《可編程序控制器應(yīng)用技術(shù)》.北京:機(jī)械工業(yè)出版社,2004[10]郁漢琪.《電氣控制與可編程序控制器》,東南大學(xué)出版社,2003[11]汪曉平.《PLC可編程控制器系統(tǒng)開發(fā)實(shí)例導(dǎo)航》,人民郵電出版社,2004[12]搞欽和.《可編程控制器應(yīng)用技術(shù)與設(shè)計(jì)》,人民郵電出版社,2004致謝大學(xué)四年,我似乎獲得了不少知識(shí)的收獲,但通過此次設(shè)計(jì)卻又發(fā)現(xiàn),校園內(nèi)的知識(shí)很難深層次的涉及到社會(huì)中的真實(shí)事例,而這次實(shí)踐就很大的彌補(bǔ)了這一點(diǎn)。首先,我十分感謝,耐心、細(xì)致的知識(shí)淵博的嬌月老師,和幫助我解決問題的同學(xué)和朋友,他們使我們疑惑和困難得到提供了很大幫助!在做畢業(yè)設(shè)計(jì)的漫長過程中,他們給我們主要幫助是從設(shè)計(jì)主題的選擇和材料搜索、原理的說明,畢業(yè)論文的結(jié)構(gòu)和報(bào)告內(nèi)容完成、修改的耐心指導(dǎo)。在此,我真的要向嬌月老師表示最衷心的感謝!給我們有很多最基本的理論知識(shí),甚至細(xì)致到報(bào)告格式,并且在幫助我們尋找一切瑕疵的內(nèi)容的同時(shí),還指導(dǎo)我們利用自己的優(yōu)勢(shì)使我們的設(shè)計(jì)能夠順利完成,以滿足要求的前提下令人滿意地完成設(shè)計(jì)方案。其次,我還要十分感謝我的課題組里面一起奮斗的同學(xué)搭檔,在共同的學(xué)習(xí)中,我們一起互幫互助,愉快順利地完成了畢業(yè)設(shè)計(jì)!此外,還要感謝以前的一切教導(dǎo)我的老師,他們給予了各方面的知識(shí),相當(dāng)于給了我不少的幫助,愿他們永遠(yuǎn)工作順利、愉快,身體健康!最后,向在這學(xué)習(xí)的期間幫助過、關(guān)心過我的所有老師和同學(xué)致以由衷地感謝,愿大家都身體健康、工作愉快輕松順利、生活美滿安康幸福!附錄附錄1程序源代碼主程序#include"main.h"/***宏定義***/#defineBEEP_ON(1)#defineBEEP_OFF(0)#defineBUTTON_NUM_ALARM_INC(0)#defineBUTTON_NUM_ALARM_DEC(1)sbitbeep_pin=P2^0;/***枚舉定義***//***結(jié)構(gòu)體定義***//***外部函數(shù)原型說明***//***內(nèi)部函數(shù)原型說明***//***全局變量***/time_event_define(key_loop);button_event_define(key_distance_alarm_inc);button_event_define(key_distance_alarm_dec);time_event_define(get_distance);staticuint16_tdistance;staticuint8_tdisplay_buf[16];staticuint16_talarm_distance=30;/***常量定義***//**//***@brief處理按鍵事件***@paramkey_num:按鍵編號(hào)*@parambutton_event:參考button_event_t**@returnstatic***@note**/staticvoidbutton_response_handle(uint8_tkey_num,button_event_tbutton_event){switch(key_num){caseBUTTON_NUM_ALARM_INC:if(button_event==BUTTON_PRESS_DOWN){INC_LIMIT(alarm_distance,100);sprintf(display_buf,"%ucm",alarm_distance);lcd1602_display_string(sizeof("Alarm:")-1,1,display_buf);}break;caseBUTTON_NUM_ALARM_DEC:if(button_event==BUTTON_PRESS_DOWN){DEC_LIMIT(alarm_distance,10);sprintf(display_buf,"%ucm",alarm_distance);lcd1602_display_string(sizeof("Alarm:")-1,1,display_buf);}break;}}/**//***@brief查詢按鍵是否按下***@paramnone**@return***@note**/staticvoidkey_loop_handle(void){button_event_scan(key_distance_alarm_inc,BUTTON_NUM_ALARM_INC,get_key_value,button_response_handle);button_event_scan(key_distance_alarm_dec,BUTTON_NUM_ALARM_DEC,get_key_value,button_response_handle);time_event_start(key_loop);}/**//***@brief獲得超聲波傳感器數(shù)據(jù)***@paramnone**@return***@note**/staticvoidget_distance_data(void){distance=get_ultrasonic_distance();printf("distance=%u\r\n",distance);time_event_start(get_distance);}/**//***@brief顯示查詢***@paramnone**@return***@note**/staticvoiddisplay_loop(void){staticuint16_tdistance_bak;if(distance_bak!=distance){distance_bak=distance;sprintf(display_buf,"%ucm",distance);lcd1602_display_string(sizeof("Distance:")-1,0,display_buf);}}/**//***@brief顯示固定字符***@paramnone**@return***@note**/staticvoiddisplay_fix_string(void){lcd1602_display_string(0,0,"Distance:");lcd1602_display_string(0,1,"Alarm:");sprintf(display_buf,"%ucm",alarm_distance);lcd1602_display_string(sizeof("Alarm:")-1,1,display_buf);}/**//***@brief告警查詢***@paramnone**@return***@note**/staticvoidalarm_loop(void){if(distance<alarm_distance){beep_pin=BEEP_ON;}else{beep_pin=BEEP_OFF;}}/**//***@brief程序入口***@paramnone**@return***@note程序入口函數(shù)main**/voidmain(void){beep_pin=BEEP_OFF;uart_init();printf("Init...\r\n");lcd1602_init();ultrasonic_drv_init();timer0_mode1_init();__enable_irq();display_fix_string();get_distance_data();time_event_start(key_loop);while(1){time_event_loop(key_loop,key_loop_handle,20);time_event_loop(get_distance,get_distance_data,1000);display_loop();alarm_loop();}}/**/voidtimer0_irq(void){++clock_ticks;}/**//***@brief串口接收中斷處理***@paramch串口接收到的字符**@return***@note**/voiduart_rx_irq(uint8_tch){ch=ch;//uart_put_char(ch);}/**//***@brief串口發(fā)送中斷處理***@paramnone**@return***@note**/voiduart_tx_irq(void){}按鍵輸入代碼串口中斷代碼:定時(shí)器代碼聲波模塊代碼顯示屏代碼實(shí)物測(cè)試圖(大圖)

電腦故障檢測(cè)卡代碼表

1、特殊代碼"00"和"ff"及其它起始碼有三種情況出現(xiàn):

①已由一系列其它代碼之后再出現(xiàn):"00"或"ff",則主板ok。

②如果將cmos中設(shè)置無錯(cuò)誤,則不嚴(yán)重的故障不會(huì)影響bios自檢的繼續(xù),而最終出現(xiàn)"00"或"ff"。

③一開機(jī)就出現(xiàn)"00"或"ff"或其它起始代碼并且不變化則為主板沒有運(yùn)行起來。

2、本表是按代碼值從小到大排序,卡中出碼順序不定。

3、未定義的代碼表中未列出。

4、對(duì)于不同bios(常用ami、award、phoenix)用同一代碼代表的意義不同,因此應(yīng)弄清您所檢測(cè)的電腦是屬于哪一種類型的bios,您可查閱您的電腦使用手冊(cè),或從主板上的bios芯片上直接查看,也可以在啟動(dòng)屏幕時(shí)直接看到。

5、有少數(shù)主板的pci槽只有一部分代碼出現(xiàn),但isa槽有完整自檢代碼輸出。且目前已發(fā)現(xiàn)有極個(gè)別原裝機(jī)主板的isa槽無代碼輸出,而pci槽則有完整代碼輸出,故建議您在查看代碼不成功時(shí),將本雙槽卡換到另一種插槽試一下。另外,同一塊主板的不同pci槽,有的槽有完整代碼送出,如dell810主板只有靠近c(diǎn)pu的一個(gè)pci槽有完整代碼顯示,一直變化到"00"或"ff",而其它pci槽走到"38"后則不繼續(xù)變化。

6、復(fù)位信號(hào)所需時(shí)間isa與pci不一定同步,故有可能isa開始出代碼,但pci的復(fù)位燈還不熄,故pci代碼停要起始代碼上。

代碼對(duì)照表

00.已顯示系統(tǒng)的配置;即將控制INI19引導(dǎo)裝入。

01處理器測(cè)試1,處理器狀態(tài)核實(shí),如果測(cè)試失敗,循環(huán)是無限的。處理器寄存器的測(cè)試即將開始,不可屏蔽中斷即將停用。CPU寄存器測(cè)試正在進(jìn)行或者失敗。

02確定診斷的類型(正常或者制造)。如果鍵盤緩沖器含有數(shù)據(jù)就會(huì)失效。停用不可屏蔽中斷;通過延遲開始。CMOS寫入/讀出正在進(jìn)行或者失靈。

03清除8042鍵盤控制器,發(fā)出TESTKBRD命令(AAH)通電延遲已完成。ROMBIOS檢查部件正在進(jìn)行或失靈。

04使8042鍵盤控制器復(fù)位,核實(shí)TESTKBRD。鍵盤控制器軟復(fù)位/通電測(cè)試??删幊涕g隔計(jì)時(shí)器的測(cè)試正在進(jìn)行或失靈。

05如果不斷重復(fù)制造測(cè)試1至5,可獲得8042控制狀態(tài)。已確定軟復(fù)位/通電;即將啟動(dòng)ROM。DMA初如準(zhǔn)備正在進(jìn)行或者失靈。

06使電路片作初始準(zhǔn)備,停用視頻、奇偶性、DMA電路片,以及清除DMA電路片,所有頁面寄存器和CMOS停機(jī)字節(jié)。已啟動(dòng)ROM計(jì)算ROMBIOS檢查總和,以及檢查鍵盤緩沖器是否清除。DMA初始頁面寄存器讀/寫測(cè)試正在進(jìn)行或失靈。

07處理器測(cè)試2,核實(shí)CPU寄存器的工作。ROMBIOS檢查總和正常,鍵盤緩沖器已清除,向鍵盤發(fā)出BAT(基本保證測(cè)試)命令。.

08使CMOS計(jì)時(shí)器作初始準(zhǔn)備,正常的更新計(jì)時(shí)器的循環(huán)。已向鍵盤發(fā)出BAT命令,即將寫入BAT命令。RAM更新檢驗(yàn)正在進(jìn)行或失靈。

09EPROM檢查總和且必須等于零才通過。核實(shí)鍵盤的基本保證測(cè)試,接著核實(shí)鍵盤命令字節(jié)。第一個(gè)64KRAM測(cè)試正在進(jìn)行。

0A使視頻接口作初始準(zhǔn)備。發(fā)出鍵盤命令字節(jié)代碼,即將寫入命令字節(jié)數(shù)據(jù)。第一個(gè)64KRAM芯片或數(shù)據(jù)線失靈,移位。

0B測(cè)試8254通道0。寫入鍵盤控制器命令字節(jié),即將發(fā)出引腳23和24的封鎖/解鎖命令。第一個(gè)64KRAM奇/偶邏輯失靈。

0C測(cè)試8254通道1。鍵盤控制器引腳23、24已封鎖/解鎖;已發(fā)出NOP命令。第一個(gè)64KRAN的地址線故障。

0D1、檢查CPU速度是否與系統(tǒng)時(shí)鐘相匹配。2、檢查控制芯片已編程值是否符合初設(shè)置。3、視頻通道測(cè)試,如果失敗,則鳴喇叭。已處理NOP命令;接著測(cè)試CMOS停開寄存器。第一個(gè)64KRAM的奇偶性失靈

0E測(cè)試CMOS停機(jī)字節(jié)。CMOS停開寄存器讀/寫測(cè)試;將計(jì)算CMOS檢查總和。初始化輸入/輸出端口地址。

0F測(cè)試擴(kuò)展的CMOS。已計(jì)算CMOS檢查總和寫入診斷字節(jié);CMOS開始初始準(zhǔn)備。.

10測(cè)試DMA通道0。CMOS已作初始準(zhǔn)備,CMOS狀態(tài)寄存器即將為日期和時(shí)間作初始準(zhǔn)備。第一個(gè)64KRAM第0位故障。

11測(cè)試DMA通道1。CMOS狀態(tài)寄存器已作初始準(zhǔn)備,即將停用DMA和中斷控制器。第一個(gè)64DKRAM第1位故障。

12測(cè)試DMA頁面寄存器。停用DMA控制器1以及中斷控制器1和2;即將視頻顯示器并使端口B作初始準(zhǔn)備。第一個(gè)64DKRAM第2位故障。

13測(cè)試8741鍵盤控制器接口。視頻顯示器已停用,端口B已作初始準(zhǔn)備;即將開始電路片初始化/存儲(chǔ)器自動(dòng)檢測(cè)。第一個(gè)64DKRAM第3位故障。

14測(cè)試存儲(chǔ)器更新觸發(fā)電路。電路片初始化/存儲(chǔ)器處自動(dòng)檢測(cè)結(jié)束;8254計(jì)時(shí)器測(cè)試即將開始。第一個(gè)64DKRAM第4位故障。

15測(cè)試開頭64K的系統(tǒng)存儲(chǔ)器。第2通道計(jì)時(shí)器測(cè)試了一半;8254第2通道計(jì)時(shí)器即將完成測(cè)試。第一個(gè)64DKRAM第5位故障。

16建立8259所用的中斷矢量表。第2通道計(jì)時(shí)器測(cè)試結(jié)束;8254第1通道計(jì)時(shí)器即將完成測(cè)試。第一個(gè)64DKRAM第6位故障。

17調(diào)準(zhǔn)視頻輸入/輸出工作,若裝有視頻BIOS則啟用。第1通道計(jì)時(shí)器測(cè)試結(jié)束;8254第0通道計(jì)時(shí)器即將完成測(cè)試。第一個(gè)64DKRAM第7位故障。

18測(cè)試視頻存儲(chǔ)器,如果安裝選用的視頻BIOS通過,由可繞過。第0通道計(jì)時(shí)器測(cè)試結(jié)束;即將開始更新存儲(chǔ)器。第一個(gè)64DKRAM第8位故障。

19測(cè)試第1通道的中斷控制器(8259)屏蔽位。已開始更新存儲(chǔ)器,接著將完成存儲(chǔ)器的更新。第一個(gè)64DKRAM第9位故障。

1A測(cè)試第2通道的中斷控制器(8259)屏蔽位。正在觸發(fā)存儲(chǔ)器更新線路,即將檢查15微秒通/斷時(shí)間。第一個(gè)64DKRAM第10位故障。

1B測(cè)試CMOS電池電平。完成存儲(chǔ)器更新時(shí)間30微秒測(cè)試;即將開始基本的64K存儲(chǔ)器測(cè)試。第一個(gè)64DKRAM第11位故障。

1C測(cè)試CMOS檢查總和。.第一個(gè)64DKRAM第12位故障。

1D調(diào)定CMOS配置。.第一個(gè)64DKRAM第13位故障。

1E測(cè)定系統(tǒng)存儲(chǔ)器的大小,并且把它和CMOS值比較。.第一個(gè)64DKRAM第14位故障。

1F測(cè)試64K存儲(chǔ)器至最高640K。.第一個(gè)64DKRAM第15位故障。

20測(cè)量固定的8259中斷位。開始基本的64K存儲(chǔ)器測(cè)試;即將測(cè)試地址線。從屬DMA寄存器測(cè)試正在進(jìn)行或失靈。

21維持不可屏蔽中斷(NMI)位(奇偶性或輸入/輸出通道的檢查)。通過地址線測(cè)試;即將觸發(fā)奇偶性。主DMA寄存器測(cè)試正在進(jìn)行或失靈。

22測(cè)試8259的中斷功能。結(jié)束觸發(fā)奇偶性;將開始串行數(shù)據(jù)讀/寫測(cè)試。主中斷屏蔽寄存器測(cè)試正在進(jìn)行或失靈。

23測(cè)試保護(hù)方式8086虛擬方式和8086頁面方式?;镜?4K串行數(shù)據(jù)讀/寫測(cè)試正常;即將開始中斷矢量初始化之前的任何調(diào)節(jié)。從屬中斷屏蔽存器測(cè)試正在進(jìn)行或失靈。

24測(cè)定1MB以上的擴(kuò)展存儲(chǔ)器。矢量初始化之前的任何調(diào)節(jié)完成,即將開始中斷矢量的初始準(zhǔn)備。設(shè)置ES段地址寄存器注冊(cè)表到內(nèi)存高端。

25測(cè)試除頭一個(gè)64K之后的所有存儲(chǔ)器。完成中斷矢量初始準(zhǔn)備;將為旋轉(zhuǎn)式斷續(xù)開始讀出8042的輸入/輸出端口。裝入中斷矢量正在進(jìn)行或失靈。

26測(cè)試保護(hù)方式的例外情況。讀出8042的輸入/輸出端口;即將為旋轉(zhuǎn)式斷續(xù)開始使全局?jǐn)?shù)據(jù)作初始準(zhǔn)備。開啟A20地址線;使之參入尋址。

27確定超高速緩沖存儲(chǔ)器的控制或屏蔽RAM。全1數(shù)據(jù)初始準(zhǔn)備結(jié)束;接著將進(jìn)行中斷矢量之后的任何初始準(zhǔn)備。鍵盤控制器測(cè)試正在進(jìn)行或失靈。

28確定超高速緩沖存儲(chǔ)器的控制或者特別的8042鍵盤控制器。完成中斷矢量之后的初始準(zhǔn)備;即將調(diào)定單色方式。CMOS電源故障/檢查總和計(jì)算正在進(jìn)行。

29.已調(diào)定單色方式,即將調(diào)定彩色方式。CMOS配置有效性的檢查正在進(jìn)行。

2A使鍵盤控制器作初始準(zhǔn)備。已調(diào)定彩色方式,即將進(jìn)行ROM測(cè)試前的觸發(fā)奇偶性。置空64K基本內(nèi)存。

2B使磁碟驅(qū)動(dòng)器和控制器作初始準(zhǔn)備。觸發(fā)奇偶性結(jié)束;即將控制任選的視頻ROM檢查前所需的任何調(diào)節(jié)。屏幕存儲(chǔ)器測(cè)試正在進(jìn)行或失靈。

2C檢查串行端口,并使之作初始準(zhǔn)備。完成視頻ROM控制之前的處理;即將查看任選的視頻ROM并加以控制。屏幕初始準(zhǔn)備正在進(jìn)行或失靈。

2D檢測(cè)并行端口,并使之作初始準(zhǔn)備。已完成任選的視頻ROM控制,即將進(jìn)行視頻ROM回復(fù)控制之后任何其他處理的控制。屏幕回掃測(cè)試正在進(jìn)行或失靈。

2E使硬磁盤驅(qū)動(dòng)器和控制器作初始準(zhǔn)備。從視頻ROM控制之后的處理復(fù)原;如果沒有發(fā)現(xiàn)EGA/VGA就要進(jìn)行顯示器存儲(chǔ)器讀/寫測(cè)試。檢測(cè)視頻ROM正在進(jìn)行。

2F檢測(cè)數(shù)學(xué)協(xié)處理器,并使之作初始準(zhǔn)備。沒發(fā)現(xiàn)EGA/VGA;即將開始顯示器存儲(chǔ)器讀/寫測(cè)試。.

30建立基本內(nèi)存和擴(kuò)展內(nèi)存。通過顯示器存儲(chǔ)器讀/寫測(cè)試;即將進(jìn)行掃描檢查。認(rèn)為屏幕是可以工作的。

31檢測(cè)從C800:0至EFFF:0的選用ROM,并使之作初始準(zhǔn)備。顯示器存儲(chǔ)器讀/寫測(cè)試或掃描檢查失敗,即將進(jìn)行另一種顯示器存儲(chǔ)器讀/寫測(cè)試。單色監(jiān)視器是可以工作的。

32對(duì)主板上COM/LTP/FDD/聲音設(shè)備等I/O芯片編程使之適合設(shè)置值。通過另一種顯示器存儲(chǔ)器讀/寫測(cè)試;卻將進(jìn)行另一種顯示器掃描檢查。彩色監(jiān)視器(40列)是可以工作的。

33.視頻顯示器檢查結(jié)束;將開始利用調(diào)節(jié)開關(guān)和實(shí)際插卡檢驗(yàn)顯示器的關(guān)型。彩色監(jiān)視器(80列)是可以工作的。

34.已檢驗(yàn)顯示器適配器;接著將調(diào)定顯示方式。計(jì)時(shí)器滴答聲中斷測(cè)試正在進(jìn)行或失靈。35.完成調(diào)定顯示方式;即將檢查BIOSROM的數(shù)據(jù)區(qū)。停機(jī)測(cè)試正在進(jìn)行或失靈。

36.已檢查BIOSROM數(shù)據(jù)區(qū);即將調(diào)定通電信息的游標(biāo)。門電路中A-20失靈。

37.識(shí)別通電信息的游標(biāo)調(diào)定已完成;即將顯示通電信息。保護(hù)方式中的意外中斷。

38.完成顯示通電信息;即將讀出新的游標(biāo)位置。RAM測(cè)試正在進(jìn)行或者地址故障>FFFFH。

39.已讀出保存游標(biāo)位置,即將顯示引用信息串。.

3A.引用信息串顯示結(jié)束;即將顯示發(fā)現(xiàn)信息。間隔計(jì)時(shí)器通道2測(cè)試或失靈。

3B用OPTI電路片(只是486)使輔助超高速緩沖存儲(chǔ)器作初始準(zhǔn)備。已顯示發(fā)現(xiàn)<ESC>信息;虛擬方式,存儲(chǔ)器測(cè)試即將開始。按日計(jì)算的日歷時(shí)鐘測(cè)試正在進(jìn)行或失靈。

3C建立允許進(jìn)入CMOS設(shè)置的標(biāo)志。.串行端口測(cè)試正在進(jìn)行或失靈。

3D初始化鍵盤/PS2鼠標(biāo)/PNP設(shè)備及總內(nèi)存節(jié)點(diǎn)。.并行端口測(cè)試正在進(jìn)行或失靈。

3E嘗試打開L2高速緩存。.數(shù)學(xué)協(xié)處理器測(cè)試正在進(jìn)行或失靈。

40.已開始準(zhǔn)備虛擬方式的測(cè)試;即將從視頻存儲(chǔ)器來檢驗(yàn)。調(diào)整CPU速度,使之與外圍時(shí)鐘精確匹配。

41中斷已打開,將初始化數(shù)據(jù)以便于0:0檢測(cè)內(nèi)存變換(中斷控制器或內(nèi)存不良)從視頻存儲(chǔ)器檢驗(yàn)之后復(fù)原;即將準(zhǔn)備描述符表。系統(tǒng)插件板選擇失靈。

42顯示窗口進(jìn)入SETUP。描述符表已準(zhǔn)備好;即將進(jìn)行虛擬方式作存儲(chǔ)器測(cè)試。擴(kuò)展CMOSRAM故障。

43若是即插即用BIOS,則串口、并口初始化。進(jìn)入虛擬方式;即將為診斷方式實(shí)現(xiàn)中斷。.44.已實(shí)現(xiàn)中斷(如已接通診斷開關(guān);即將使數(shù)據(jù)作初始準(zhǔn)備以檢查存儲(chǔ)器在0:0返轉(zhuǎn)。)BIOS中斷進(jìn)行初始化。

45初始化數(shù)學(xué)協(xié)處理器。數(shù)據(jù)已作初始準(zhǔn)備;即將檢查存儲(chǔ)器在0:0返轉(zhuǎn)以及找出系統(tǒng)存儲(chǔ)器的規(guī)模。.

46.測(cè)試存儲(chǔ)器已返回;存儲(chǔ)器大小計(jì)算完畢,即將寫入頁面來測(cè)試存儲(chǔ)器。檢查只讀存儲(chǔ)器ROM版本。

47.即將在擴(kuò)展的存儲(chǔ)器試寫頁面;即將基本640K存儲(chǔ)器寫入頁面。

48.已將基本存儲(chǔ)器寫入頁面;即將確定1MB以上的存儲(chǔ)器。視頻檢查,CMOS重新配置。

49.找出1BM以下的存儲(chǔ)器并檢驗(yàn);即將確定1MB以上的存儲(chǔ)器。.

4A.找出1MB以上的存儲(chǔ)器并檢驗(yàn);即將檢查BIOSROM數(shù)據(jù)區(qū)。進(jìn)行視頻的初始化。

4B.BIOSROM數(shù)據(jù)區(qū)的檢驗(yàn)結(jié)束,即將檢查<ESC>和為軟復(fù)位清除1MB以上的存儲(chǔ)器。.4C.清除1MB以上的存儲(chǔ)器(軟復(fù)位)即將清除1MB以上的存儲(chǔ)器.屏蔽視頻BIOSROM。.4D。已清除1MB以上的存儲(chǔ)器(軟復(fù)位);將保存存儲(chǔ)器的大小。.

4E若檢測(cè)到有錯(cuò)誤;在顯示器上顯示錯(cuò)誤信息,并等待客戶按<F1>鍵繼續(xù)。開始存儲(chǔ)器的測(cè)試:(無軟復(fù)位);即將顯示第一個(gè)64K存儲(chǔ)器的測(cè)試。顯示版權(quán)信息。

4F讀寫軟、硬盤數(shù)據(jù),進(jìn)行DOS引導(dǎo)。開始顯示存儲(chǔ)器的大小,正在測(cè)試存儲(chǔ)器將使之更新;將進(jìn)行串行和隨機(jī)的存儲(chǔ)器測(cè)試。.

50將當(dāng)前BIOS監(jiān)時(shí)區(qū)內(nèi)的CMOS值存到CMOS中。完成1MB以下的存儲(chǔ)器測(cè)試;即將高速存儲(chǔ)器的大小以便再定位和掩蔽。將CPU類型和速度送到屏幕。

51.測(cè)試1MB以上的存儲(chǔ)器。.

52所有ISA只讀存儲(chǔ)器ROM進(jìn)行初始化,最終給PCI分配IRQ號(hào)等初始化工作。已完成1MB以上的存儲(chǔ)器測(cè)試;即將準(zhǔn)備回到實(shí)址方式。進(jìn)入鍵盤檢測(cè)。

53如果不是即插即用BIOS,則初始化串口、并口和設(shè)置時(shí)種值。保存CPU寄存器和存儲(chǔ)器的大小,將進(jìn)入實(shí)址方式。.

54.成功地開啟實(shí)址方式;即將復(fù)原準(zhǔn)備停機(jī)時(shí)保存的寄存器。掃描“打擊鍵”

55.寄存器已復(fù)原,將停用門電路A-20的地址線。.

56.成功地停用A-20的地址線;即將檢查BIOSROM數(shù)據(jù)區(qū)。鍵盤測(cè)試結(jié)束。

57.BIOSROM數(shù)據(jù)區(qū)檢查了一半;繼續(xù)進(jìn)行。.

58.BIOSROM的數(shù)據(jù)區(qū)檢查結(jié)束;將清除發(fā)現(xiàn)<ESC>信息。非設(shè)置中斷測(cè)試。

59.已清除<ESC>信息;信息已顯示;即將開始DMA和中斷控制器的測(cè)試。.

5A..顯示按“F2”鍵進(jìn)行設(shè)置。

5B..測(cè)試基本內(nèi)存地址。

5C..測(cè)試640K基本內(nèi)存。

60設(shè)置硬盤引導(dǎo)扇區(qū)病毒保護(hù)功能。通過DMA頁面寄存器的測(cè)試;即將檢驗(yàn)視頻存儲(chǔ)器。測(cè)試擴(kuò)展內(nèi)存。

61顯示系統(tǒng)配置表。視頻存儲(chǔ)器檢驗(yàn)結(jié)束;即將進(jìn)行DMA#1基本寄存器的測(cè)試。.

62開始用中斷19H進(jìn)行系統(tǒng)引導(dǎo)。通過DMA#1基本寄存器的測(cè)試;即將進(jìn)行DMA#2寄存器的測(cè)試。測(cè)試擴(kuò)展內(nèi)存地址線。

63.通過DMA#2基本寄存器的測(cè)試;即將檢查BIOSROM數(shù)據(jù)區(qū)。.

64.BIOSROM數(shù)據(jù)區(qū)檢查了一半,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論