背景技術(shù)
老年人出門由于身體不靈活、視力較差,容易發(fā)生跌倒,現(xiàn)用的老年人跌倒報警裝置是通過無線對講系統(tǒng)研發(fā)的,它外觀精美,自動化程度高,有很強的專業(yè)性,但是,設(shè)計者忽略了一個問題,因為大多數(shù)老年人使用現(xiàn)代化產(chǎn)品不熟練,隨著視力、操作能力的下降,使用該設(shè)備有很大困難。另外,老年人跌倒以后,由于受到驚嚇,再進(jìn)行操作按鈕和實施對講,就更不現(xiàn)實。
引 言
在經(jīng)濟(jì)高速發(fā)展的今天,物質(zhì)給人們帶來了對美好生活的向往,所以大批的年輕人選擇離開家鄉(xiāng),前往大城市尋找發(fā)展的機會。但是毫無意外的是,他們年邁的父母孤單地留在了家里無人照看,一旦他們生病跌倒,獨居老人根本無法及時獲救,從而錯過最佳的治療時間,更有甚者,會因此喪命。
老人跌倒警報器的設(shè)計可以強有力地預(yù)防由于老人獨居時的傷害,也可以及時地報警,保證老人在第一時間得到有效的救治,很大程度上能夠避免由于子女不在身邊而造成的二次傷害。
方案選擇 單片機的選擇
方案一:AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS型8位單片機,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。其片內(nèi)的8K程序存儲器是FLASH工藝的,這種單片機對開發(fā)設(shè)備的要求很低,開發(fā)時間也大大縮短。寫入單片機內(nèi)的程序還可以進(jìn)行加密,這又很好地保護(hù)我們的勞動成果。再者,AT89C52目前的售價比8031還低,市場供應(yīng)也很充足。AT89C52可構(gòu)成真正的單片機最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低系統(tǒng)的成本。只要程序長度小于8K,四個I/O口全部提供給用戶??捎?V電壓編程,而且擦寫時間僅需lOms。AT89C51芯片提供三級程序存儲器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。PO口是三態(tài)雙向口,通稱數(shù)據(jù)總線口,因為只有該口能直接用于對外部存儲器的讀/寫操作。
方案二:STC89C52系列單片機的指令系統(tǒng)和AT89C52系列的完全兼容,但實際操作起來卻存在很多問題:
(1)AT89C52不帶ISP下載,要用下載器才行,STC89C52可以用你的USB轉(zhuǎn)串口下載,下載軟件可以到STC廠家網(wǎng)上去下。
(2)STC單片機執(zhí)行指令的速度很快,大約是AT的3-30倍,盡管快是好事,但這樣一來,你在AT上好使的程序在STC上不一定好用,最典型的例子就是那些對時序有嚴(yán)格要求的模塊,用STC時注意得加長延時,大約是AT的10—30倍就差不多,這一點自己調(diào)試就知道了。
(3)STC單片機對工作環(huán)境的要求比較低,電壓低于5伏時仍然正常工作,甚至3伏到4伏之間都還可以工作,然而這樣的環(huán)境下AT肯定不行了,所以當(dāng)一個系統(tǒng)用STC單片機好用,但用AT的單片機不工作時,直接查最小系統(tǒng),看單片機的供電是否正常。
比較這兩種方案,由于在學(xué)校期間學(xué)過數(shù)字電路、單片機原理、C語言程序設(shè)計,綜合考慮單片機的各部分資源和作為學(xué)生能夠獲得的資源,經(jīng)過對比此次設(shè)計要求,我選擇用STC系列芯片完成。而且學(xué)校也提供了相應(yīng)的硬件操作平臺,實際操作起來比較方便,故STC為更合理的選擇。本系統(tǒng)選擇STC89C52單片機作為主控芯片。足夠本設(shè)計運行,且價格便宜,下載程序方便。
一、硬件方案
硬件構(gòu)成:本系統(tǒng)由STC89C52單片機、ADXL345重力加速度傳感器、按鍵、蜂鳴器報警及電源組成。
二、設(shè)計功能
1. 單片機型號:STC89C52/51、AT89C52/51、AT89S52/51 都可通用
2、板子豎直放置的時候,蜂鳴器不報警,板子歪倒一定角度,一定時間沒有恢復(fù)豎直,則蜂鳴器鳴叫報警。
3、系統(tǒng)帶有誤報警按鍵,蜂鳴器報警的時候,如果老人認(rèn)為是誤報警,則按鍵按下,蜂鳴器停止報警。
4、按鍵停止報警后,如果還未站起,延時一段時間會報警,防止老人發(fā)生意外。
三、實物圖
?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-405258.html
3.2主控模塊設(shè)計
單片微型計算機是隨著微型計算機的發(fā)展而產(chǎn)生和發(fā)展的。自從1975 年美國德克薩斯儀器公司的第一臺單片微型計算機( 簡稱單片機)TMS-1000 問世以來,迄今為止,單片機技術(shù)已成為計算機技術(shù)的一個獨特分支,單片機的應(yīng)用領(lǐng)域也越來越廣泛,特別是在工業(yè)控制中經(jīng)常遇到對某些物理量進(jìn)行定時采樣與控制的問題,在儀器儀表智能化中也扮演著極其重要的角色。
如果將8位單片機的推出作為起點,那么單片機的發(fā)展歷史大致可以分為以下幾個階段:
第一階段(1976—1978):單片機的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是在工控領(lǐng)域的探索,參與這一探索的公司還有Motorola、Zilog等。都取得了滿意的效果。這就是SCM的誕生年代,“單片機”一詞即由此而來。
第二階段(1978—1982):單片機的完善階段。Intel公司在MCS-48基礎(chǔ)上推出了完善的、典型的單片機系列MCS-51。它在以下幾個方面奠定了典型的通用總線型單片機體系結(jié)構(gòu)。
(1)完善的外部總線。MCS-51設(shè)置了經(jīng)典的8位單片機的總線結(jié)構(gòu),包括8位數(shù)據(jù)總線、16位地址總線、控制總線及具有多機通信功能的串行通信接口。
(2)CPU外圍功能單元的集中管理模式。
(3)體現(xiàn)工控特性的地址空間及位操作方式。
(4)指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。
第三階段(1982—1990):8位單片機的鞏固發(fā)展及16位單片機的推出階段,也是單片機向微控制器發(fā)展的階段。Intel公司推出的MCS-96系列單片機,將一些用于測控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機的微控制器特征。
第四階段(1990—):微控制器的全面發(fā)展階段。隨著單片機在各個領(lǐng)域全面、深入地發(fā)展和應(yīng)用,出現(xiàn)了高速、大尋址范圍、強運算能力的8位/16位/32位通用型單片機,以及小型廉價的專用型單片機。
單片機是在集成電路芯片上集成了各種元件的微型計算機,這些元件包括中央處理器CPU、數(shù)據(jù)存儲器RAM、程序存儲器ROM、定時/計數(shù)器、中斷系統(tǒng)、時鐘部件的集成和I/O接口電路。由于單片機具有體積小、價格低、可靠性高、開發(fā)應(yīng)用方便等特點,因此在現(xiàn)代電子技術(shù)和工業(yè)領(lǐng)域應(yīng)用較為廣泛,在智能儀表中單片機是應(yīng)用最多、最活躍的領(lǐng)域之一。在控制領(lǐng)域中,現(xiàn)如今人們更注意計算機的底成本、小體積、運行的可靠性和控制的靈活性。在各類儀器、儀表中引入單片機,使儀器儀表智能化,提高測試的自動化程度和精度,提高計算機的運算速度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價格比。
單片機引腳介紹
單片機主要特點:
(1)有優(yōu)異的性能價格比。
(2)集成度高、體積小、有很高的可靠性。單片機把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機的可靠性和抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。
(3)控制功能強。為了滿足工業(yè)控制的要求,一般單片機的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微機。
(4)低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。
(5)外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線方式,進(jìn)一步縮小了體積,簡化了結(jié)構(gòu)。
(6)單片機的系統(tǒng)擴展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
優(yōu)異的性能價格比。
1)集成度高、體積小、有很高的可靠性。
單片機把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機的可靠性與抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。
此外,程序多采取固化形式也可以提高可靠性。
2)控制功能強。
為了滿足工業(yè)控制要求,一般單片機的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微機。
單片機的系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
? ?VCC:STC89C52電源正端輸入,接+5V。
GND:電源地端。
XTAL1: ?單芯片系統(tǒng)時鐘的反相放大器輸入端。
XTAL2: 系統(tǒng)時鐘的反相放大器輸出端,一般在設(shè)計上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機。
RESET:STC89C52的重置引腳,高電平動作,當(dāng)要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。
EA/Vpp:"EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因為其內(nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時,可以利用此引腳來輸入21V的燒錄高壓(Vpp)。
ALE/PROG:ALE是英文"Address Latch Enable"的縮寫,表示地址鎖存器啟用信號。STC89C52可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進(jìn)鎖存器中,因為STC89C52是以多工的方式送出地址及數(shù)據(jù)。平時在程序執(zhí)行時ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄8751程序代碼時,此引腳會被當(dāng)成程序規(guī)劃的特殊功能來使用。
PSEN:此為"Program Store Enable"的縮寫,其意為程序儲存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(EA=0),會送出此信號以便取得程序代碼,通常這支腳是接到EPROM的OE腳。STC89C52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲器與程序存儲器可以合并在一起而共用64K的定址范圍。
PORT0(P0.0~P0.7):端口0是一個8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時可以推動8個LS的TTL負(fù)載。
PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)做一般I/O端口使用外,若是在STC89C52擴充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當(dāng)做I/O來使用了。
PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)做定時器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。
PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個TTL負(fù)載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?/p>
其引腳分配如下:
P3.0:RXD,串行通信輸入。
P3.1:TXD,串行通信輸出。
P3.2:INT0,外部中斷0輸入。
P3.3:INT1,外部中斷1輸入。
P3.4:T0,計時計數(shù)器0輸入。
P3.5:T1,計時計數(shù)器1輸入。
P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。
P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。
單片機最小系統(tǒng)
單片機芯片內(nèi)還有一項主要內(nèi)容就是并行I/O口。STC89C51共有4個8位的并行I/O口,分別記作P0、P1、P2、P3。每個口都包含一個鎖存器、一個輸出驅(qū)動器和輸入緩沖器。實際上,它們已被歸入專用寄存器之列,并且具有字節(jié)尋址和位尋址功能。在訪問片外擴展存儲器時,低8位地址和數(shù)據(jù)由P0口分時傳送,高8位地址由P2口傳送。在無片外擴展存儲器的系統(tǒng)中,這4個口的每一位均可作為雙向的I/O端口使用。
單片機的4個I/O口都是8位雙向口,這些口在結(jié)構(gòu)和特性上是基本相同的,但又各具特點。
STC89C51單片機的時鐘信號通常有兩種方式產(chǎn)生:一是內(nèi)部時鐘方式,二是外部時鐘方式。在單片機內(nèi)部有一振蕩電路,只要在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振),就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在5-30pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2-12MHz間選擇,典型值為12MHz和11.0592MHz。
當(dāng)在STC89C51單片機的RST引腳引入高電平并保持2個機器周期時,單片機內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機就處于循環(huán)復(fù)位狀態(tài))。
復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。最簡單的上電自動復(fù)位電路中上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。時鐘頻率用6MHZ時C取22uF,R取1KΩ。除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。本設(shè)計就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)過電阻與電源Vcc接通而實現(xiàn)的。
四、原理圖 ??
在本設(shè)計做的過程中,硬件和軟件方面都遇到了許多問題,但是相比于軟件,在硬件方面還是比較快解決的方面,因為硬件是比較容易檢查出來錯誤的,軟件比較晦澀難懂,還是有一定難度。
在硬件調(diào)試問題上,首先焊接好了元器件實物板后,先用萬用表測量這個工業(yè)板子的電源方面,電源方面是最重要的問題,應(yīng)該是特別需要檢查的地方,以防止電源的短路和正負(fù)極的錯誤。然后在仔細(xì)檢查電路的連接是否有問題,或者有沒有虛焊或者沒有焊接到的地方,然后核對一下元器件的安裝是否有問題,安裝上去是否符合規(guī)定,由于已經(jīng)是大學(xué)四年都是做過了很多實訓(xùn)過來了,對于這些還是游刃有余的,但是在上機調(diào)試后還是發(fā)現(xiàn)了很多的問題。
??
五、PCB圖 ?
在本設(shè)計做的過程中,硬件和軟件方面都遇到了許多問題,但是相比于軟件,在硬件方面還是比較快解決的方面,因為硬件是比較容易檢查出來錯誤的,軟件比較晦澀難懂,還是有一定難度。
在硬件調(diào)試問題上,首先焊接好了元器件實物板后,先用萬用表測量這個工業(yè)板子的電源方面,電源方面是最重要的問題,應(yīng)該是特別需要檢查的地方,以防止電源的短路和正負(fù)極的錯誤。然后在仔細(xì)檢查電路的連接是否有問題,或者有沒有虛焊或者沒有焊接到的地方,然后核對一下元器件的安裝是否有問題,安裝上去是否符合規(guī)定,由于已經(jīng)是大學(xué)四年都是做過了很多實訓(xùn)過來了,對于這些還是游刃有余的,但是在上機調(diào)試后還是發(fā)現(xiàn)了很多的問題。
?
六、程序源碼
Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。
?
#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
#include <math.h> //Keil library
#include "delay.h"
#include "adxl345.h"
sbit buzzer=P1^4; //引腳定義
sbit key=P2^2;
unsigned long times_20ms=0; //定時器計數(shù)
unsigned char reportFlag=0; //確認(rèn)是否發(fā)送警報
unsigned char CheckNum=0; //adxl345采集次數(shù)
unsigned char ErrorNum=0; //adxl345采集次數(shù)中正常未跌倒次數(shù)
unsigned char read_adxl345=0; //讀取adxl345數(shù)據(jù)標(biāo)志
unsigned char Delay_Sec=0; //秒延時 定時器中斷中處理
void Init_Timer0(void);//定時器初始化
void main (void)
{
Init_Timer0(); //定時器0初始化
buzzer=0; //打開蜂鳴器
DelayMs(100); //延時有助于穩(wěn)定
buzzer=1; //關(guān)閉蜂鳴器
Init_ADXL345(); //初+始化ADXL345
if(Single_Read_ADXL345(0X00)!=0xe5) //讀出的數(shù)據(jù)為0XE5,表示正確//**All notes can be deleted and modified**//
{
DelayMs(5);
// SendStr("ready ok",8);//顯示第二行
}
else
{
DelayMs(3);
}
buzzer=1; //閉合蜂鳴器
while(1) //主循環(huán)
{
if(read_adxl345==1) //進(jìn)行讀取
{
read_adxl345=0; //讀取標(biāo)志清除
ReadData_x(); //讀取數(shù)據(jù) 并進(jìn)行判斷 再該函數(shù)內(nèi)部
CheckNum++;
if((temp_X<550)||(abs(temp_Y)>750)) //方位值判斷 查看正常次數(shù)
{
ErrorNum++; //異常計數(shù)
}
if(CheckNum>=5) //進(jìn)行5次處理
{
if(ErrorNum>=1) //角度出現(xiàn)錯誤 5次出息1次情況
{
if(reportFlag==0) //檢測是否第一次開始 是開始延時
{
Delay_Sec=0; //延時清零
}
reportFlag=1; //警報
}
else
{
reportFlag=0; //不進(jìn)行警報
Delay_Sec = 0;
}
ErrorNum=0; //清空濾波計數(shù)
CheckNum=0; //清空檢測次數(shù)
}
}
if((reportFlag==1)&&(Delay_Sec>=3))//3S 上報
{
buzzer=0; //打開蜂鳴器
}
else
{buzzer=1;} //關(guān)閉蜂鳴器
if(key == 0)
{
DelayMs(10);
if(key == 0) //有按鍵觸發(fā) 關(guān)閉蜂鳴器響聲
{
Delay_Sec=0; //清空延時計數(shù)
reportFlag=0;
buzzer=1; //關(guān)閉蜂鳴器
}
}
}
}
void Init_Timer0(void)
{
//**All notes can be deleted and modified**//
TMOD |= 0x10; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
TH0=(65536-20000)/256; //重新賦值 20ms
TL0=(65536-20000)%256;
EA=1; //總中斷打開
ET0=1; //定時器中斷打開
TR0=1; //定時器開關(guān)打開
}
void Timer0_isr(void) interrupt 1
{
TH0=(65536-20000)/256; //重新賦值 20ms
TL0=(65536-20000)%256;
times_20ms++;
if(times_20ms%10==0) //200ms
{
read_adxl345=1; //啟動轉(zhuǎn)換
if(reportFlag==1)//如果處于觸發(fā)警報 延時自加
資料包括:
需要完整的資料可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤下載地址及提取碼。
紛傳點擊用微信打開即可,過程有點繁瑣請見諒。文章來源:http://www.zghlxwxcb.cn/news/detail-405258.html
?
到了這里,關(guān)于33、基于51單片機老人防跌倒蜂鳴器報警系統(tǒng)加速度檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!