2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  智能裝置課程設(shè)計(jì)</b></p><p>  題 目:智能電機(jī)測速儀</p><p><b>  姓 名: </b></p><p><b>  班 級: </b></p><p><b>  學(xué) 號: </b><

2、;/p><p><b>  同組人: </b></p><p><b>  課程設(shè)計(jì)目的:</b></p><p>  深入了解PIC16F877單片機(jī)的工作原理,熟練掌握匯編語言程序設(shè)計(jì)方法,熟練使用MPLAB-ICD仿真器及MPLAB-IDE仿真調(diào)試軟件。</p><p>  通過該課程設(shè)計(jì)使學(xué)生初

3、步掌握以單片機(jī)為核心的智能裝置設(shè)計(jì)的簡單原則、步驟和方法。</p><p>  熟悉智能裝置設(shè)計(jì)中有關(guān)的硬件設(shè)計(jì)調(diào)試,如人機(jī)界面等。</p><p>  熟悉智能裝置設(shè)計(jì)中相關(guān)軟件的設(shè)計(jì)、編程和調(diào)試。</p><p><b>  課程設(shè)計(jì)內(nèi)容:</b></p><p>  以16F877單片機(jī)為核心,結(jié)合給出的其他原器件

4、和智能裝置實(shí)驗(yàn)系統(tǒng)原有的內(nèi)容設(shè)計(jì)智能電機(jī)測速顯示儀硬件電路。</p><p>  利用試驗(yàn)板提供的光電耦合器采集電機(jī)速度。</p><p>  將采集的速度值通過液晶顯示器顯示出來。</p><p>  將轉(zhuǎn)速內(nèi)容上傳至計(jì)算機(jī)界面。</p><p>  利用SPI總線與D/A轉(zhuǎn)換器,操控電機(jī)進(jìn)行調(diào)速,使電機(jī)能夠達(dá)到范圍內(nèi)的任何要求轉(zhuǎn)速。<

5、;/p><p><b>  課程設(shè)計(jì)要求:</b></p><p>  根據(jù)實(shí)驗(yàn)指導(dǎo)書的設(shè)計(jì)內(nèi)容及所給出的元件,設(shè)計(jì)智能電機(jī)測速顯示儀硬件原理圖。</p><p>  按照設(shè)計(jì)好的硬件原理圖在實(shí)驗(yàn)板上用導(dǎo)線搭建硬件電路。</p><p>  用萬用表檢查硬件電路連接是否正確,檢查無誤后上電并編制簡單的測試程 序分步調(diào)試各部分

6、功能。</p><p>  在各部分功能實(shí)現(xiàn)后,編制完整的智能電機(jī)速度測試系統(tǒng)軟件與調(diào)速軟件,并進(jìn)行軟硬件聯(lián)調(diào),直到達(dá)到設(shè)計(jì)要求。</p><p>  按照設(shè)計(jì)內(nèi)容要求測試儀表誤差并做分析,給出儀表精度,完成后由教師進(jìn)行驗(yàn)收檢查。</p><p><b>  課程設(shè)計(jì)設(shè)備</b></p><p><b>  儀

7、器</b></p><p>  MPLAB-ICD模塊與仿真頭</p><p><b>  智能裝置實(shí)驗(yàn)系統(tǒng)</b></p><p>  安裝了MPLAB-IDE開發(fā)軟件的計(jì)算機(jī)</p><p><b>  數(shù)字萬用表</b></p><p><b> 

8、 導(dǎo)線若干</b></p><p><b>  元器件</b></p><p>  PIC16F877芯片(6MHz晶振)</p><p>  LCD顯示屏(雙行液晶單色顯示,可顯示漢字與字符)</p><p>  測速電機(jī)(轉(zhuǎn)速范圍約在0~2500轉(zhuǎn),自帶紅外線光電開關(guān)測速,測速結(jié)果以脈沖形式從電機(jī)的1口輸

9、出,電機(jī)轉(zhuǎn)速由dianji1與dianji2兩個(gè)端口的電位差決定)</p><p>  RS-232串行總線接口(支持異步傳輸,波特率自定,11與12兩個(gè)端口分別為發(fā)送和接收數(shù)據(jù)口)</p><p>  MAX515芯片(12位D/A轉(zhuǎn)換器,輸出電壓對應(yīng)0~5V)</p><p>  可調(diào)電位器(用于純測速程序的電機(jī)手動(dòng)調(diào)速,調(diào)速電壓0~5V)</p>

10、<p>  課程設(shè)計(jì)硬件原理圖:</p><p>  課程設(shè)計(jì)硬件設(shè)計(jì)思路:</p><p>  電機(jī)測速與調(diào)速,首先測速部分需要對電機(jī)測速脈沖引入PIC芯片,并進(jìn)行定時(shí)計(jì)數(shù),測定在一段時(shí)間內(nèi)電機(jī)轉(zhuǎn)了多少圈,以此推算電機(jī)的轉(zhuǎn)速。固需要用到定時(shí)器與計(jì)數(shù)器,其中使用timer0做計(jì)數(shù)器,timer1做定時(shí)器,因此電機(jī)的1端引腳需要接RA4。此外轉(zhuǎn)速計(jì)算結(jié)束后需要顯示到LCD屏以及通

11、過SCI通訊傳送至電腦,其中LCD屏控制需要三條線,由于不計(jì)劃使用SPI總線傳輸(后面調(diào)速會(huì)占用)而采用手動(dòng)時(shí)鐘完成,所以使用任意三條I/O端口線即可,但SCI需要固定的RC6與RC7,所以RC6需要接RS-232通訊模塊的11端口,RC7接12端口,LCD則選用RD0~RD2控制,其中RD0接CS端,RD1接CLK,RD2接SID。最后,根據(jù)原理圖要求,電機(jī)7端口接dianji1端口,dianji2端口接地,此外dianji1端口還需

12、要接上電位器,以實(shí)現(xiàn)與dianji2端口存在電位差且可調(diào),再將所有元件的電源和地接上,至此電機(jī)測速部分的接線完成。</p><p>  電機(jī)調(diào)速部分的電路與測速部分的差別在于電機(jī)的接線,由于之前使用電位器手動(dòng)調(diào)速,現(xiàn)在需要改用MAX515輸出的電壓來調(diào)速,所以拔掉電位器,電機(jī)的dianji1端口接MAX515的vout(即7端口)。MAX515的數(shù)據(jù)來源是PIC芯片,此處我使用SPI總線傳輸方式來對MAX515進(jìn)

13、行數(shù)據(jù)傳送,因此MAX515的兩個(gè)時(shí)鐘、數(shù)據(jù)輸入端(SCLK、DIN)需要接SPI總線傳輸?shù)奶厥舛丝赗C3與RC5,其中RC3接SCLK(即2端口),RC5接DIN(即1端口),CS片選端則接任意I/O端口即可,我選擇了RC0接CS(即3端口),再將515的芯片電源和地接好,至此調(diào)速系統(tǒng)的接線完成。</p><p>  調(diào)試步驟以及各步驟調(diào)試過程中出現(xiàn)的問題與解決方法:</p><p> 

14、 計(jì)數(shù)與定時(shí)調(diào)試:最初計(jì)數(shù)器計(jì)數(shù)結(jié)果一直為0,我將電機(jī)的脈沖輸出端1端口接在LED燈上,先確定脈沖輸出正常,然后檢測控制字是否有錯(cuò)誤。最后確定是控制字寫錯(cuò)了。</p><p>  LCD屏顯調(diào)試:最初接線完成之后沒有顯示,先確定了一遍接線沒有問題,由于是手寫時(shí)鐘輸入,所以不涉及端口使用錯(cuò)誤的狀況,因此檢查了一遍程序編寫時(shí)是否有端口寫錯(cuò)的情況。核對之后還不行,于是我嘗試著查看是否有一些指令正確的寫入了LCD屏,嘗試

15、方法就是將顯示狀態(tài)開/關(guān)的控制字設(shè)置成顯示光標(biāo),并且光標(biāo)閃爍,如果這句控制字能夠成功寫入,屏幕上將有一個(gè)光標(biāo)閃爍,則至少時(shí)鐘書寫程序是正確的,不能正常顯示應(yīng)該是數(shù)據(jù)書寫或者是指令書寫順序有誤。但實(shí)驗(yàn)證明單純設(shè)置光標(biāo)也不能正常顯示,則手寫時(shí)鐘部分存在問題,經(jīng)過詢問老師最后找到問題癥結(jié):1、片選信號應(yīng)當(dāng)先置零,然后置一,寫完指令后重新置零才算成功寫入,之前一直保持高電平?jīng)]有電平變化所以寫入失敗。2、每寫完一條指令后需要加一段短延時(shí),大致在2

16、0ms左右,這樣才能保證屏幕完成指令接收,并保證下一條指令可以正確寫入。更改程序之后問題解決。</p><p>  RS-232串口通信調(diào)試:最初遇到的問題是電腦接收的信息與發(fā)送端信息完全不一致,但如果發(fā)送端保持發(fā)送的數(shù)據(jù)是穩(wěn)定的,接收端接收的數(shù)據(jù)就也是穩(wěn)定的,但接收地?cái)?shù)據(jù)與發(fā)送數(shù)據(jù)差距很大,且沒有直接的數(shù)學(xué)對應(yīng)關(guān)系。于是考慮應(yīng)該是發(fā)送方式導(dǎo)致的問題,檢查發(fā)現(xiàn)錯(cuò)誤使用了同步傳輸方式(實(shí)驗(yàn)板的RS-232接口只允許

17、異步方式)于是更改為異步,將波特率設(shè)置在9600,接收恢復(fù)正常。但為什么同步方式可以成功接收數(shù)據(jù),而且接收的數(shù)據(jù)還是穩(wěn)定的,到最后也沒有搞明白,留著問題以后等知識豐富了再解決吧!</p><p>  測速精度測試與調(diào)試:首先要說明一點(diǎn),由于課程設(shè)計(jì)要求有測速與調(diào)速兩部分,但由于兩部分需要的測速精度不盡相同,調(diào)速部分為了追求調(diào)速的效率,需要在較短的時(shí)間內(nèi)完成調(diào)速,所以調(diào)速過程中每一步測速都需要時(shí)間盡可能短,但時(shí)間短

18、的代價(jià)就是測速精度大大下降(此部分原理會(huì)在誤差分析部分進(jìn)行解釋),但如果拋開調(diào)速,而單純測速的話,便可以通過延長測速時(shí)間來達(dá)到更高的測速精度。鑒于如下原因,本人將測速與調(diào)速分成兩個(gè)程序書寫,調(diào)速程序中包含課程設(shè)計(jì)的全部環(huán)節(jié)(包括測速),可以作為最終的課設(shè)成果上交,但測速時(shí)間為1.2s,測速精度較低。另一個(gè)為單獨(dú)的測速程序,包含除調(diào)速環(huán)節(jié)外其他的程序部分,測速時(shí)間為6s,測速精度大幅提升,作為補(bǔ)充。此處只介紹測速程序的精度測試與調(diào)節(jié),調(diào)速

19、程序的測速部分相近,不予介紹。測速精度測試運(yùn)用到了萬用表的頻率功能,將萬用表的兩個(gè)表筆分別放置在電機(jī)的1端口與地,測試電機(jī)測速的脈沖頻率,考慮到電機(jī)有兩個(gè)扇葉,并且轉(zhuǎn)速單位為轉(zhuǎn)/分鐘,因此萬用表的顯示頻率需要除以2再乘以60,得到的即為轉(zhuǎn)速結(jié)果,與屏顯的轉(zhuǎn)速結(jié)果進(jìn)行比對。測速程序使用的是6s測速,雖然為兩個(gè)扇葉的累計(jì)結(jié)果,但在設(shè)置timer0</p><p>  調(diào)速部分調(diào)試:截止到上一階段,必選內(nèi)容(測速部分)

20、已全部調(diào)試完成,在此基礎(chǔ)上完成調(diào)速的調(diào)試可以避免前一段出現(xiàn)問題干擾調(diào)速調(diào)試過程。由于在前面的測速階段已經(jīng)完成了用電位器調(diào)節(jié)電機(jī)的轉(zhuǎn)速,所以在使用MAX515調(diào)速時(shí)主要調(diào)試重點(diǎn)就在于D/A轉(zhuǎn)換器的使用和SPI通信上,只要D/A能夠正常工作,提供給電機(jī)電壓,電機(jī)一定可以正常運(yùn)轉(zhuǎn)。而D/A轉(zhuǎn)換器自身不存在什么問題,其信號輸入依靠的是PIC芯片的SPI通信,因此是否能夠正常運(yùn)行主要看SPI通信是否能夠成功完成對D/A轉(zhuǎn)換器的信息錄入。調(diào)試過程中

21、最初發(fā)生的問題是無論SPI通信寫入的數(shù)值是多少,電機(jī)都會(huì)維持在800轉(zhuǎn)/分。由于不是0轉(zhuǎn)/分,所以起初以為D/A已經(jīng)成功的輸出了一個(gè)電壓,說明程序里第一次給定的數(shù)值已經(jīng)成功的通過SPI通信傳送給D/A,并且成功地進(jìn)行了轉(zhuǎn)換并輸出,問題出在第二次第三次的SPI通信,也就是說一旦程序進(jìn)行了一次循環(huán),就再也無法正常使用SPI通信功能了。然而在這樣的思路下經(jīng)過了一段時(shí)間的更改和調(diào)試,問題仍然沒有解決,調(diào)試工作也一度陷入困境,這里要感謝葉浩然、張

22、瑞小組,葉浩然在調(diào)試時(shí)也遇到了類似的問題,無論他往D/A轉(zhuǎn)換器里寫入什</p><p><b>  軟件設(shè)計(jì)流程圖:</b></p><p>  軟件設(shè)計(jì)流程框圖(帶調(diào)速部分的總程序框圖):</p><p><b>  程序設(shè)計(jì)思路概述:</b></p><p>  測速程序:測速程序?yàn)榱俗非鬁y速精

23、度,因此需要延長測速時(shí)間,由于前期通過測試了解到電機(jī)轉(zhuǎn)速范圍在0~2500轉(zhuǎn)之間,因此選擇了6秒作為一個(gè)定時(shí)周期,這樣6秒的轉(zhuǎn)數(shù)乘以10便是轉(zhuǎn)速,具體操作起來就是用測速得到的結(jié)果轉(zhuǎn)換成10進(jìn)制數(shù)之后,輸出時(shí)在結(jié)尾加一個(gè)0即可。選擇6秒的優(yōu)點(diǎn)是只需要進(jìn)行8位二進(jìn)制轉(zhuǎn)十進(jìn)制,不用16位的轉(zhuǎn)換,程序簡單不少。而6秒的轉(zhuǎn)數(shù)在0~250之間,沒有超出timer0計(jì)數(shù)器計(jì)數(shù)范圍。因此只需要將timer0置零,timer1定時(shí)6秒(24*250ms)

24、,計(jì)數(shù)結(jié)果進(jìn)行數(shù)制轉(zhuǎn)換后按位輸出(最后一位加0)至LCD屏以及通信接口即可。</p><p>  調(diào)速程序:調(diào)速程序需要在精度可以接受的條件下,盡可能的縮短調(diào)速時(shí)間,而且調(diào)速方法的不同直接決定調(diào)速時(shí)間長短。我所采用的是閉環(huán)調(diào)速,根據(jù)每次反饋的速度與要求速度的偏差情況改變給定的電壓數(shù)字量,最終使其滿足轉(zhuǎn)速要求。即可以在不了解電機(jī)機(jī)械特性曲線以及D/A誤差的情況下,實(shí)現(xiàn)最終速度的吻合。D/A轉(zhuǎn)換器的數(shù)字量輸入范圍為0

25、00H~FFFH,對應(yīng)0~5V,由于12位數(shù)據(jù)的高八位我使用的是SPI通信傳輸,低四位為手寫時(shí)鐘,不易更改,因此為了程序簡便,默認(rèn)設(shè)置低四位數(shù)據(jù)為0,只通過調(diào)節(jié)高8位數(shù)據(jù)來更改轉(zhuǎn)速,這樣產(chǎn)生的誤差可以接受,但程序能簡便許多,這樣一來,調(diào)速范圍就為00H~FFH了。在這樣的條件下,我設(shè)計(jì)了一種可以在7步之內(nèi)完成調(diào)速的調(diào)速方法,具體思路為向D/A傳送一個(gè)初始的電壓給定:80H(00H~FFH的最中間的值),然后設(shè)置一個(gè)電壓變動(dòng)變量,初始值為

26、40H,第一次測速結(jié)果與要求速度進(jìn)行比較,若高于要求速度,則用電壓給定減去電壓變動(dòng)變量(若低于則相加),得到的結(jié)果成為新的電壓給定輸出給D/A轉(zhuǎn)換器,隨后將電壓變動(dòng)變量除以二(循環(huán)右移一位),再進(jìn)行新一輪測速,比較,運(yùn)算,輸出,除二,這樣操作</p><p>  程序特點(diǎn)說明:本程序主要特點(diǎn)是沒有使用中斷功能,所有需要判斷的地方都選擇使用不同長短的延時(shí)程序來完成(定時(shí)結(jié)束延時(shí),數(shù)據(jù)發(fā)送延時(shí)),這樣的優(yōu)點(diǎn)是可以節(jié)省

27、大量系統(tǒng)資源,減少程序邏輯錯(cuò)誤的幾率,簡化程序。但同樣也存在著風(fēng)險(xiǎn),一旦某一個(gè)延時(shí)環(huán)節(jié)設(shè)置的延時(shí)不好或是出現(xiàn)無法用延時(shí)規(guī)避的情況,整個(gè)程序的調(diào)試將進(jìn)入死區(qū),不易找到錯(cuò)誤,也不易修改。但由于此程序比較簡單,硬件穩(wěn)定性較高,實(shí)驗(yàn)證明延時(shí)完全滿足要求。</p><p><b>  軟件程序清單:</b></p><p>  LIST P=16F877</p>

28、<p>  #INCLUDE<P16F877.INC></p><p>  SPTEM EQU 20H</p><p>  BINTEM EQU 21H</p><p>  LED_TEM EQU 22H</p><p>  GENE1 EQU 23H</p><p>  GENE2 EQU 24

29、H</p><p>  LEH EQU 25H</p><p>  LEM EQU 26H</p><p>  LEL EQU 27H</p><p>  COUNT1 EQU 28H</p><p>  COUNT2 EQU 29H</p><p>  COUNT3 EQU 30H</p

30、><p>  SPEED EQU 31H</p><p>  VOLT EQU 32H</p><p>  GENE3 EQU 33H</p><p>  GENE4 EQU 34H</p><p>  GENE5 EQU 35H</p><p>  SPEEDTEM EQU 36H</p&g

31、t;<p>  ORDSPE EQU D'12';調(diào)速要求最終轉(zhuǎn)速(以百轉(zhuǎn)/秒為單位)</p><p><b>  ORG 0040H</b></p><p>  START;主程序</p><p>  BSF STATUS,RP0</p><p>  BCF STATUS,RP

32、1</p><p>  MOVLW 10H;RA4輸入,其他不用。</p><p>  MOVWF TRISA</p><p>  MOVLW 80H;RC0、RC3、RC5輸出。</p><p>  MOVWF TRISC</p><p><b>  MOVLW 00H</b><

33、;/p><p>  MOVWF TRISD;RD0、RD1、RD2輸出。</p><p><b>  MOVLW 40H</b></p><p>  MOVWF SSPSTAT</p><p><b>  MOVLW 20H</b></p><p>  MOVWF OPTIO

34、N_REG</p><p><b>  MOVLW 00H</b></p><p>  MOVWF INTCON;Timer0作計(jì)數(shù)器,初始化</p><p><b>  MOVLW 04H</b></p><p>  MOVWF TXSTA</p><p><b&

35、gt;  MOVLW 26H</b></p><p>  MOVWF SPBRG;RS-232串口通信,異步模式,波特率9600</p><p>  BCF STATUS,RP0</p><p>  BSF RCSTA,SPEN</p><p>  BSF PORTC,0</p><p><b&g

36、t;  MOVLW 31H</b></p><p>  MOVWF T1CON;Timer1作定時(shí)器,定時(shí)1.2s,初始化</p><p><b>  MOVLW 30H</b></p><p>  MOVWF SSPCON;SPI總線通信初始化</p><p><b>  MOVLW 80

37、H</b></p><p>  MOVWF VOLT;初始電機(jī)轉(zhuǎn)速給定值(16進(jìn)制數(shù)字量)</p><p>  BCF PORTC,0</p><p><b>  MOVLW 80H</b></p><p>  MOVWF SSPBUF;將給定值傳送給D/A轉(zhuǎn)換器</p><p&g

38、t;  CALL DELAY1</p><p>  CALL LOWFOUR;傳送低四位,默認(rèn)均為0</p><p>  CALL DELAY1</p><p><b>  MOVLW 40H</b></p><p>  MOVWF COUNT3;電壓變動(dòng)值變量</p><p>  MOVL

39、W ORDSPE</p><p>  MOVWF SPEED</p><p>  BCF STATUS,C</p><p>  RLF SPEED,1</p><p>  BCF STATUS,C;將調(diào)速要求轉(zhuǎn)速放入speed寄存器</p><p>  CALL DELAY3</p><p>

40、;<b>  LOOP</b></p><p><b>  MOVLW 00H</b></p><p>  MOVWF TMR0;開始計(jì)數(shù)</p><p>  CALL DELAY2;1.2s定時(shí)</p><p>  MOVF TMR0,0</p><p>  MOV

41、WF SPTEM</p><p>  MOVWF SPEEDTEM;計(jì)數(shù)結(jié)果放入sptem和speedtem中分別做2-10進(jìn)制轉(zhuǎn)換和速度比較</p><p>  BCF STATUS,C</p><p>  RRF SPTEM,1</p><p>  CALL BINTOBCD;2-10進(jìn)制轉(zhuǎn)換子程序</p><p

42、><b>  MOVLW 30H</b></p><p>  ADDWF LEH,1;十進(jìn)制結(jié)果百位加三十變?yōu)锳SCII碼(在調(diào)速中百位必為0,用不上)</p><p><b>  MOVLW 0FH</b></p><p>  ANDWF BINTEM,0</p><p><b&g

43、t;  ADDLW 30H</b></p><p>  MOVWF LEL;十進(jìn)制結(jié)果個(gè)位加三十變?yōu)锳SCII碼</p><p>  MOVLW 0F0H</p><p>  ANDWF BINTEM,0</p><p><b>  ADDLW 03H</b></p><p>&

44、lt;b>  MOVWF LEM</b></p><p>  SWAPF LEM,1;十進(jìn)制結(jié)果十位加三十變?yōu)锳SCII碼</p><p>  SCITX;RS-232串口通信部分</p><p>  MOVF LEH,0</p><p>  MOVWF TXREG;將發(fā)送內(nèi)容放入txreg寄存器等待發(fā)送&

45、lt;/p><p>  BSF STATUS,RP0</p><p>  BSF TXSTA,TXEN;使能發(fā)送功能</p><p>  BCF STATUS,RP0</p><p>  CALL DELAY1;調(diào)用小延時(shí)使其能在下一步操作前完成上一步發(fā)送(所有步驟下同)</p><p>  MOVF LEM,0&l

46、t;/p><p>  MOVWF TXREG</p><p>  BSF STATUS,RP0</p><p>  BSF TXSTA,TXEN</p><p>  BCF STATUS,RP0</p><p>  CALL DELAY1</p><p>  MOVF LEL,0</p>

47、<p>  MOVWF TXREG</p><p>  BSF STATUS,RP0</p><p>  BSF TXSTA,TXEN</p><p>  BCF STATUS,RP0</p><p>  CALL DELAY1</p><p><b>  MOVLW 30H</b>

48、</p><p>  MOVWF TXREG</p><p>  BSF STATUS,RP0</p><p>  BSF TXSTA,TXEN</p><p>  BCF STATUS,RP0</p><p>  CALL DELAY1</p><p>  LEDOUT;LCD屏顯示

49、部分</p><p><b>  MOVLW 00H</b></p><p>  MOVWF PORTD;準(zhǔn)備傳輸</p><p><b>  MOVLW 01H</b></p><p>  MOVWF LED_TEM;清除顯示</p><p>  CALL LEDOR

50、D</p><p>  MOVLW 20H;功能設(shè)定</p><p>  MOVWF LED_TEM</p><p>  CALL LEDORD</p><p>  MOVLW 02H;地址歸位</p><p>  MOVWF LED_TEM</p><p>  CALL LEDOR

51、D</p><p>  MOVLW 06H;進(jìn)入點(diǎn)設(shè)定</p><p>  MOVWF LED_TEM</p><p>  CALL LEDORD</p><p>  MOVLW 0CH;顯示狀態(tài)開,無光標(biāo)</p><p>  MOVWF LED_TEM</p><p>  CAL

52、L LEDORD</p><p>  MOVLW 01H;清除顯示</p><p>  MOVWF LED_TEM</p><p>  CALL LEDORD</p><p>  MOVLW 80H;DDRAM地址復(fù)位至80H</p><p>  MOVWF LED_TEM</p><p

53、>  CALL LEDORD</p><p>  MOVLW 0CBH</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 0D9H;速</p><p>  MOVWF LED_TEM</p><p>  CALL

54、 LEDDAT</p><p>  MOVLW 0B6H</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 0C8H;度</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT<

55、;/p><p>  MOVLW 3AH;:</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 90H;DDRAM地址置90H</p><p>  MOVWF LED_TEM</p><p>  CALL LED

56、ORD</p><p>  MOVF LEM,0</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVF LEL,0;轉(zhuǎn)速千位與百位</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT

57、</p><p>  MOVLW 30H;0</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 30H;0</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p

58、><p>  MOVLW 0D7H</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 0AAH;轉(zhuǎn)</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><

59、p>  MOVLW 2FH;/</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 20H;空格</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>

60、  MOVLW 0B7H</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 0D6H;分</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 0D

61、6H</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  MOVLW 0D3H;鐘</p><p>  MOVWF LED_TEM</p><p>  CALL LEDDAT</p><p>  ADJEND;電壓比較與運(yùn)

62、算部分</p><p>  BSF STATUS,C</p><p>  MOVF SPEED,0</p><p>  SUBWF SPEEDTEM,0;用測得轉(zhuǎn)速與給定轉(zhuǎn)速比較</p><p>  BTFSC STATUS,C</p><p><b>  GOTO MI</b></p&g

63、t;<p>  MOVF COUNT3,0;小于給定轉(zhuǎn)速,輸送到D/A轉(zhuǎn)換器的給定volt就加上電壓變動(dòng)量count3</p><p>  ADDWF VOLT,1</p><p>  GOTO SPIEND</p><p>  MI;大于給定轉(zhuǎn)速,輸送到D/A轉(zhuǎn)換器的給定volt就減去電壓變動(dòng)量count3</p>&l

64、t;p>  MOVF COUNT3,0</p><p>  SUBWF VOLT,1</p><p>  SPIEND;程序結(jié)束段循環(huán)判定部分</p><p>  BSF PORTC,0</p><p>  BCF PORTC,0</p><p>  MOVF VOLT,0</p><

65、;p>  MOVWF SSPBUF;將新的電壓給定值發(fā)送給D/A轉(zhuǎn)換器</p><p>  CALL DELAY1</p><p>  CALL LOWFOUR;低四位發(fā)送</p><p>  CALL DELAY1</p><p>  CALL DELAY3</p><p>  BCF STATUS,C

66、</p><p>  RRF COUNT3,1</p><p>  BSF STATUS,C;電壓變動(dòng)量原值除二</p><p><b>  MOVLW 01H</b></p><p>  SUBWF COUNT3,0</p><p>  BTFSC STATUS,C;判定電壓變動(dòng)量是否已

67、為0,為0則程序結(jié)束,否則繼續(xù)循環(huán)程序</p><p><b>  GOTO LOOP</b></p><p>  GOTO PROEND</p><p>  ;******************************************************************************</p>&l

68、t;p>  ;子程序名稱:LEDORD</p><p>  ;入口參數(shù):LED_TEM</p><p><b>  ;出口參數(shù):無</b></p><p>  ;子程序任務(wù):通過手寫時(shí)鐘,按照LCD屏?xí)r序圖邏輯,將LED_TEM中的內(nèi)容以寫指令方式寫入LCD中。</p><p>  ;***************

69、***************************************************************</p><p><b>  LEDORD</b></p><p>  BSF PORTD,0</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p&

70、gt;<p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  

71、BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</

72、p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1;寫指令</p><p>  BTFSC LED_TEM,7;判斷LED_TEM的第8位是否為0,為0則發(fā)送0,否則發(fā)送1,下同</p><p>  BSF PORTD,2</p>

73、<p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,6</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p> 

74、 BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,5</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2

75、</p><p>  BTFSC LED_TEM,4</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1;高四位寫入</p><p>  BCF PORTD,2</p><p>  BSF PORTD,1<

76、/p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>

77、;  BCF PORTD,1</p><p>  BTFSC LED_TEM,3</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED

78、_TEM,2</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,1</p><p>  BSF PORTD,2</p

79、><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,0</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p&

80、gt;  BCF PORTD,1;低四位寫入</p><p>  BCF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF

81、 PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,0</p><p>  CALL DELAY1;調(diào)用小延時(shí)</p><p><b>  RE

82、TURN</b></p><p>  ;******************************************************************************</p><p>  ;子程序名稱:LEDDAT</p><p>  ;入口參數(shù):LED_TEM</p><p><b>  

83、;出口參數(shù):無</b></p><p>  ;子程序任務(wù):通過手寫時(shí)鐘,按照LCD屏?xí)r序圖邏輯,將LED_TEM中的內(nèi)容以寫數(shù)據(jù)方式寫入LCD中。</p><p>  ;******************************************************************************</p><p><b&

84、gt;  LEDDAT</b></p><p>  BSF PORTD,0</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF P

85、ORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p>

86、<p>  BCF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF

87、 PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1;寫數(shù)據(jù)</p><p>  BTFSC LED_TEM,7</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD

88、,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,6</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p>

89、<p>  BTFSC LED_TEM,5</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,4</p><p&

90、gt;  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1;高四位寫入</p><p>  BCF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF

91、 PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BTFSC LED_TEM,3<

92、/p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,2</p><p>  BSF PORTD,2</p><

93、p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,1</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF P

94、ORTD,1</p><p>  BCF PORTD,2</p><p>  BTFSC LED_TEM,0</p><p>  BSF PORTD,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1;低四位寫入</p><p>  BCF PORTD

95、,2</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BSF PORTD,1</p><p>  BCF PORTD,1</p>&l

96、t;p>  BSF PORTD,1</p><p>  BCF PORTD,1</p><p>  BCF PORTD,0</p><p>  CALL DELAY1;調(diào)用小延時(shí)</p><p><b>  RETURN</b></p><p>  ;******************

97、************************************************************</p><p>  ;子程序名稱:BINTOBCD</p><p>  ;入口參數(shù):SPTEM,BINTEM(作為臨時(shí)寄存器)</p><p>  ;出口參數(shù):LEH,LEM,LEL</p><p>  ;子程序任務(wù):將S

98、PTEM中的8位二進(jìn)制數(shù),通過移位加三判斷法,轉(zhuǎn)化成三位十進(jìn)制數(shù),分別放入LEH、LEM、LEL中</p><p>  ;******************************************************************************</p><p><b>  BINTOBCD</b></p><p&g

99、t;<b>  CLRF LEH</b></p><p>  CLRF BINTEM</p><p><b>  MOVLW 07H</b></p><p>  MOVWF COUNT2</p><p><b>  BLOOP1</b></p><p>

100、;  RLF SPTEM,1</p><p>  BTFSC STATUS,C</p><p>  BSF BINTEM,0</p><p>  BTFSS STATUS,C</p><p>  BCF BINTEM,0</p><p><b>  MOVLW 03H</b></p>

101、<p>  ADDWF BINTEM,1</p><p>  BTFSS BINTEM,3</p><p>  SUBWF BINTEM,1</p><p><b>  MOVLW 30H</b></p><p>  ADDWF BINTEM,1</p><p>  BTFSS BIN

102、TEM,7</p><p>  SUBWF BINTEM,1</p><p><b>  RLF LEH,1</b></p><p>  BCF STATUS,C</p><p>  RLF BINTEM,1</p><p>  BTFSC STATUS,C</p><p>

103、;<b>  BSF LEH,0</b></p><p>  BTFSS STATUS,C</p><p><b>  BCF LEH,0</b></p><p>  DECFSZ COUNT2,1</p><p>  GOTO BLOOP1</p><p>  RLF SP

104、TEM,1</p><p>  BTFSC STATUS,C</p><p>  BSF BINTEM,0</p><p>  BTFSS STATUS,C</p><p>  BCF BINTEM,0</p><p><b>  RETURN</b></p><p>  

105、;******************************************************************************</p><p>  ;子程序名稱:LOWFOUR</p><p><b>  ;入口參數(shù):無</b></p><p><b>  ;出口參數(shù):無</b></p

106、><p>  ;子程序任務(wù):用RC0、RC3、RC5手寫時(shí)鐘,按照SPI時(shí)鐘邏輯發(fā)送四位0,完成12位D/A轉(zhuǎn)換器的低四位發(fā)送</p><p>  ;******************************************************************************</p><p><b>  LOWFOUR</b

107、></p><p>  BCF SSPCON,SSPEN</p><p>  BSF PORTC,3</p><p>  BCF PORTC,5</p><p>  BCF PORTC,3</p><p>  BSF PORTC,3</p><p>  BCF PORTC,3</p&

108、gt;<p>  BSF PORTC,3</p><p>  BCF PORTC,3</p><p>  BSF PORTC,3</p><p>  BCF PORTC,3</p><p>  BSF PORTC,3</p><p>  BCF PORTC,3</p><p>  

109、BSF PORTC,3</p><p>  BSF PORTC,0</p><p>  BSF SSPCON,SSPEN</p><p><b>  RETURN</b></p><p>  DELAY1;25ms延時(shí)子程序(軟件延時(shí))</p><p><b>  MOVLW

110、60H</b></p><p>  MOVWF GENE1</p><p><b>  DELOOP1</b></p><p><b>  MOVLW 6EH</b></p><p>  MOVWF GENE2</p><p><b>  DELOOP2

111、</b></p><p>  DECFSZ GENE2</p><p>  GOTO DELOOP2</p><p>  DECFSZ GENE1</p><p>  GOTO DELOOP1</p><p><b>  RETURN</b></p><p> 

112、 DELAY2;1.2s Timer1定時(shí)(8*150ms)</p><p>  BCF STATUS,RP0</p><p>  BCF STATUS,RP1</p><p>  BCF PIR1,TMR1IF</p><p><b>  MOVLW 08H</b></p><p> 

113、 MOVWF COUNT1</p><p><b>  MOVLW 92H</b></p><p>  MOVWF TMR1H</p><p><b>  MOVLW 23H</b></p><p>  MOVWF TMR1L</p><p><b>  TMLOO

114、P1</b></p><p>  BTFSS PIR1,TMR1IF</p><p>  GOTO TMLOOP1</p><p>  DECFSZ COUNT1,1</p><p>  GOTO TMLOOP2</p><p><b>  RETURN</b></p>

115、<p><b>  TMLOOP2</b></p><p>  BCF PIR1,TMR1IF</p><p><b>  MOVLW 92H</b></p><p>  MOVWF TMR1H</p><p><b>  MOVLW 23H</b></p>

116、;<p>  MOVWF TMR1L</p><p>  GOTO TMLOOP1</p><p>  DELAY3;1.5s延時(shí)子程序(軟件延時(shí))</p><p><b>  MOVLW 04H</b></p><p>  MOVWF GENE3</p><p><

117、b>  DELOOP3</b></p><p>  MOVLW 0FFH</p><p>  MOVWF GENE4</p><p><b>  DELOOP4</b></p><p>  MOVLW 0FFH</p><p>  MOVWF GENE5</p>&

118、lt;p><b>  DELOOP5</b></p><p>  DECFSZ GENE5</p><p>  GOTO DELOOP5</p><p>  DECFSZ GENE4</p><p>  GOTO DELOOP4</p><p>  DECFSZ GENE3</p>

119、;<p>  GOTO DELOOP3</p><p><b>  RETURN</b></p><p><b>  PROEND</b></p><p><b>  END</b></p><p>  測速顯示儀的功能操作說明:</p><p

120、>  智能電機(jī)測速顯示儀的功能為監(jiān)測電機(jī)轉(zhuǎn)速,并且將轉(zhuǎn)速顯示在液晶屏上以及上傳至電腦,并且如果給定一個(gè)轉(zhuǎn)速數(shù)值,系統(tǒng)可以將電機(jī)轉(zhuǎn)速調(diào)節(jié)至要求轉(zhuǎn)速。其中,測速顯示部分需要將電腦上的串行通信軟件打開,并且設(shè)置為異步方式,無校驗(yàn)位,波特率9600,并開啟接收功能。調(diào)速部分需要用戶給定一個(gè)調(diào)速的最終要求速度,由于調(diào)速精度原因,用戶只需要將要求轉(zhuǎn)速的千位與百位數(shù)值寫入ORDSPE變量中即可。</p><p>  測試

121、儀表的誤差分析:</p><p>  測速精度誤差:測速精度誤差主要存在于兩方面:定時(shí)誤差與計(jì)數(shù)誤差,定時(shí)程序自身的語句時(shí)鐘占用導(dǎo)致定時(shí)程序不會(huì)達(dá)到很精確的6s或1.2s,這樣便會(huì)產(chǎn)生定時(shí)誤差,計(jì)數(shù)誤差存在于脈沖的計(jì)數(shù)過程,由于采用了分頻器,再加上計(jì)數(shù)起始時(shí)間的不同,計(jì)數(shù)值可能會(huì)有1轉(zhuǎn)的誤差,1轉(zhuǎn)的誤差看似很少,但乘以對應(yīng)的時(shí)間之后便成了誤差的最大部分,6s的測速程序,每6s的誤差為1轉(zhuǎn),所以1分鐘就會(huì)有10轉(zhuǎn)的

122、誤差,1.2s的調(diào)速程序,誤差就可以達(dá)到50轉(zhuǎn)/分,這也是程序的主要誤差部分。實(shí)現(xiàn)高精度最好的方法是無限延長測速時(shí)間,但是這樣卻與實(shí)際應(yīng)用要求相悖,所以需要在兩者之間平衡選擇取最佳方案。</p><p>  調(diào)速精度誤差:調(diào)速精度誤差主要存在于三方面:</p><p>  測速精度誤差:由于測速誤差在50轉(zhuǎn)/分以內(nèi),所以調(diào)速精度將大大受到影響。再精確的調(diào)速也沒辦法精確到50轉(zhuǎn)以下。<

123、/p><p>  調(diào)速時(shí)滯誤差:由于調(diào)速過程需要給D/A轉(zhuǎn)換器一個(gè)數(shù)字信號,D/A轉(zhuǎn)換成模擬電壓之后再驅(qū)動(dòng)電機(jī)升速或降速,無論是D/A轉(zhuǎn)換還是電機(jī)升降速都需要時(shí)間,如果在這個(gè)時(shí)間里進(jìn)行了下一次的計(jì)數(shù)定時(shí),則會(huì)出現(xiàn)較大的計(jì)數(shù)誤差,這樣會(huì)影響到最終的測速結(jié)果,為了消除這一部分誤差,需要在PIC向D/A傳送電壓給定之后,延時(shí)一段長時(shí)間,等待電機(jī)達(dá)到了新的穩(wěn)定速度,再進(jìn)行測速環(huán)節(jié),以消除時(shí)滯誤差。</p>&l

124、t;p>  模擬電路精度誤差:無論是D/A轉(zhuǎn)換器的輸出電壓還是電機(jī)的輸入電壓以及地線電壓,由于是模擬信號,所以存在著一定的浮動(dòng)與干擾,所以電機(jī)的轉(zhuǎn)速會(huì)有一些誤差,但是這部分誤差會(huì)小于測速精度誤差,所以通常忽略不計(jì)。</p><p><b>  心得體會(huì):</b></p><p>  本次課程設(shè)計(jì)是繼之前微機(jī)課程設(shè)計(jì)之后,第二個(gè)以匯編語言為基礎(chǔ)的程序設(shè)計(jì)課程。作為

125、一個(gè)喜愛計(jì)算機(jī)喜愛編程的人,這樣的機(jī)會(huì)挺難得的,所以做的時(shí)候還是相對比較認(rèn)真的。因?yàn)橄鄬碇v對于電機(jī)這塊的知識掌握的不好,所以一直以來選擇課題都在有意的躲避電機(jī),而這次恰好抽到的電機(jī)題,正好算是逼著自己鍛煉一下了。和微機(jī)的課程設(shè)計(jì)比起來,智能的課程設(shè)計(jì)難度顯得更大一些,一方面是指令系統(tǒng)的簡單化導(dǎo)致了很多在微機(jī)中可以輕松完成的指令需要在智能里進(jìn)行大段編程(比如二進(jìn)制轉(zhuǎn)十進(jìn)制算法),另外一些硬件系統(tǒng)的簡化導(dǎo)致編程時(shí)需要手動(dòng)完成很多最底層的數(shù)

126、據(jù)傳輸(比如LCD屏的手寫時(shí)鐘輸入),很多類似的問題是以前沒有接觸過的,所以這次也算是成功地得到了一次鍛煉。程序的調(diào)試過程還算順利,不過也再一次驗(yàn)證了程序調(diào)試是一個(gè)艱苦的過程,程序編的時(shí)候想得再周全,調(diào)試時(shí)仍舊會(huì)出現(xiàn)許多意想不到的錯(cuò)誤。此外錯(cuò)誤排查的能力是鍛煉的主要部分,遇到問題之后怎么將程序各部分拆開來分別檢查尋找錯(cuò)誤,怎樣排查硬件錯(cuò)誤以及軟件錯(cuò)誤,這些寶貴的經(jīng)驗(yàn)在一次次的調(diào)試中得到了積累。此外,遇到解決不了的困難時(shí)嘗試著去跳出之前的

溫馨提示

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

評論

0/150

提交評論