“看門狗定時器”是這樣一種東西,從功能上說它可以讓微控制器在意外狀況下(比如程序陷入死循環)重新回復到系統上電狀態,以保證系統出問題的時候重啟一次。就跟我們用電腦一樣,死機了你就按一下reset鍵重啟一次電腦,看門狗就是負責干這個事兒的。它是52單片機增加的一個功能,以前Intel 8031、……、AT89C51時代單片機片內都沒有“看門狗”功能,需要我們外擴看門狗芯片,比如X5045。 很多人初次接觸丌太理解怎么用,書上也講的含含糊糊,故意說的很復雜很玄妙(可能是現在寫書人的通病,生怕寫的簡單的別人覺得他沒水平)。其實要是說明白點:“看門狗”就是一個計數器,由于位數有限計數器能夠裝的數值是有限的(比如8位的最多裝256個數、16位的最多裝65536個數),從開啟“看門狗”那刻起,它就開始丌停的數機器周期,數一個機器周期就計數器加1,加到計數器盛丌下了(術語叫溢出)就就產生一個復位信號,重啟系統。
上傳時間: 2013-11-11
上傳用戶:yepeng139
MFC 六大技術之簡化仿真(Console 程序) 第㆓篇【欲善工事先利其器】提供給對 Visual C++ 整合環境全然陌生的朋友㆒個導引。 這㆒篇當然不能取代 Visual C++ User's Guide 的㆞位,但對整個軟件開發環境有全盤以 及概觀性的介紹,可以讓初學者迅速了解手㆖掌握的工具,以及它們的主要功能。 第㆔篇【淺出 MFC 程序設計】介紹㆒個 MFC 程序的生死因果。已經有 MFC 程序經 驗的朋友,不見得不會對本篇感到驚艷。根據我的了解,太多㆟使用 MFC 是「只知道 這么做,不知道為什么」;本篇詳細解釋 MFC 程序之來龍去脈,為初入 MFC 領域的 讀者奠定扎實的基礎。說不定本篇會讓你有醍醐灌頂之感。
上傳時間: 2013-12-16
上傳用戶:qq527891923
在8位MCU市場,盡管OTP MCU以其低廉的價格成為市場的主流,但其存在致使的弱點--只能一次編程,這使得研發工程師承擔了太多的研發風險,一旦程序有缺陷,就無法補救,生產出來的產品只能報廢。
上傳時間: 2013-11-10
上傳用戶:yeluorag
第一部分:設計概述隨著現代化進程的逐步加深,數字城市化進一步推進,一方面,超市的規模越來越大,商品的種類日益繁多;另一方面,人們的生活節奏越來越快,時間觀念越來越強,對購物環境的要求也越來越高,如何從眼花繚亂的商品中快速選擇所需物品,如何使購物環境更為舒適便利,讓購物變成一種休閑享受,鑒于上述的需要,我們設計了這款E-購系統。人們在大商場中選購商品時,特別是游客到達一個新的旅游景點超市時,由于對商場的布局不太了解,導致很多的時間浪費在尋找自己所需要的商品上,甚至有時因為找不到商品而失去了購物的心情。有了這款E-購系統,顧客就可以輕松了解商場的布局和自己感興趣商品的位置,購物的同時還可以享受美妙的音樂,增添了購物的樂趣,從而為商家吸引回頭客奠定了基礎。這款系統相較于以往傳統具有類似功用的導購系統有了很大的改進,商品導購方面有同類商品和同廠商品查詢功能,讓顧客獲得更加豐富的信息,購得最適合自己的商品;購物舒適度方面不僅增加了商場環境實時檢測功能,讓顧客對自己所處的環境有理性的認識,同時E-購系統的隨身音樂播放功能,讓顧客從此遠離傳統超市環境的嘈雜,取而代之的是購物過程中輕松的音樂,這一點對于壓力越來越大的城市人群來說,的確是件好事;在快速付賬方面增加了所購商品總價結算模塊,不僅給顧客以購物參考,也為將來的輕松結賬鋪平了道路。本系統可以應用于大中型商場或者超級市場。考慮到需要高系統性能、低系統成本、功能強大易用的開發環境,并可以根據自己的需要來調整嵌入式系統的特性、性能以及成本,我們選用單片機PIC30F,再加上適合軟件系統開發調試的集成開發環境,為開發提供了方便。第一部分:設計概述隨著現代化進程的逐步加深,數字城市化進一步推進,一方面,超市的規模越來越大,商品的種類日益繁多;另一方面,人們的生活節奏越來越快,時間觀念越來越強,對購物環境的要求也越來越高,如何從眼花繚亂的商品中快速選擇所需物品,如何使購物環境更為舒適便利,讓購物變成一種休閑享受,鑒于上述的需要,我們設計了這款E-購系統。人們在大商場中選購商品時,特別是游客到達一個新的旅游景點超市時,由于對商場的布局不太了解,導致很多的時間浪費在尋找自己所需要的商品上,甚至有時因為找不到商品而失去了購物的心情。有了這款E-購系統,顧客就可以輕松了解商場的布局和自己感興趣商品的位置,購物的同時還可以享受美妙的音樂,增添了購物的樂趣,從而為商家吸引回頭客奠定了基礎。這款系統相較于以往傳統具有類似功用的導購系統有了很大的改進,商品導購方面有同類商品和同廠商品查詢功能,讓顧客獲得更加豐富的信息,購得最適合自己的商品;購物舒適度方面不僅增加了商場環境實時檢測功能,讓顧客對自己所處的環境有理性的認識,同時E-購系統的隨身音樂播放功能,讓顧客從此遠離傳統超市環境的嘈雜,取而代之的是購物過程中輕松的音樂,這一點對于壓力越來越大的城市人群來說,的確是件好事;在快速付賬方面增加了所購商品總價結算模塊,不僅給顧客以購物參考,也為將來的輕松結賬鋪平了道路。本系統可以應用于大中型商場或者超級市場。考慮到需要高系統性能、低系統成本、功能強大易用的開發環境,并可以根據自己的需要來調整嵌入式系統的特性、性能以及成本,我們選用單片機PIC30F,再加上適合軟件系統開發調試的集成開發環境,為開發提供了方便。
上傳時間: 2013-11-14
上傳用戶:3294322651
Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
單片機入門基礎知識大全免費下載 單片機第八課(尋址方式與指令系統) 通過前面的學習,我們已經了解了單片機內部的結構,并且也已經知道,要控制單片機,讓它為我們干學,要用指令,我們已學了幾條指令,但很零散,從現在開始,我們將要系統地學習8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計算機做事,就得給計算機以指令,并且我們已知,計算機很“笨”,只能懂得數字,如前面我們寫進機器的75H,90H,00H等等,所以指令的第一種格式就是機器碼格式,也說是數字的形式。但這種形式實在是為難我們人了,太難記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關系呢,我們不難理解,本質上它們完全等價,只是形式不一樣而已。 2、匯編 我們寫指令使用匯編格式,而計算機只懂機器碼格式,所以要將我們寫的匯編格式的指令轉換為機器碼格式,這種轉換有兩種方法:手工匯編和機器匯編。手工匯編實際上就是查表,因為這兩種格式純粹是格式不同,所以是一一對應的,查一張表格就行了。不過手工查表總是嫌麻煩,所以就有了計算機軟件,用計算機軟件來替代手工查表,這就是機器匯編。 二、尋址 讓我們先來復習一下我們學過的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數據送到相應的位置中去,為什么要送數據呢?第一個因為送入的數可以讓燈全滅掉,第二個是為了要實現延時,從這里我們可以看出來,在用單片機的編程語言編程時,經常要用到數據的傳遞,事實上數據傳遞是單片機編程時的一項重要工作,一共有28條指令(單片機共111條指令)。下面我們就從數據傳遞類指令開始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結論,第一個詞MOV是命令動詞,也就是決定做什么事情的,MOV是MOVE少寫了一個E,所以就是“傳遞”,這就是指令,規定做什么事情,后面還有一些參數,分析一下,數據傳遞必須要有一個“源”也就是你要送什么數,必須要有一個“目的”,也就是你這個數要送到什么地方去,顯然在上面那條指令中,要送的數(源)就是0FFH,而要送達的地方(目的地)就是P1這個寄存器。在數據傳遞類指令中,均將目的地寫在指令的后面,而將源寫在最后。 這條指令中,送給P1是這個數本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時候都可以直接給出數本身的。例如,在我們前面給出的延時程序例是這樣寫的: MAIN: SETB P1.0 ;(1) LCALL DELAY ;(2) CLR P1.0 ;(3) LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,#250 ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表1 MAIN: SETB P1.0 ;(1) MOV 30H,#255 LCALL DELAY ; CLR P1.0 ;(3) MOV 30H,#200 LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,30H ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表2 這樣一來,我每次調用延時程序延時的時間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時時間為0.13S燈滅,燈滅后延時0.1秒燈亮,如此循環,這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時程序改成這樣(見表2):調用則見表2中的主程,也就是先把一個數送入30H,在子程序中R7中的值并不固定,而是根據30H單元中傳過來的數確定。這樣就可以滿足要求。 從這里我們可以得出結論,在數據傳遞中要找到被傳遞的數,很多時候,這個數并不能直接給出,需要變化,這就引出了一個概念:如何尋找操作數,我們把尋找操作數所在單元的地址稱之為尋址。在這里我們直接使用數所在單元的地址找到了操作數,所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數放在工作寄存器中,從工作寄存器中尋找數據,則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數據送到累加器A中去。提一個問題:我們知道,工作寄存器就是內存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來,MOV A,00H,和MOV A,R0不就沒什么區別了嗎?為什么要加以區分呢?的確,這兩條指令執行的結果是完全相同的,都是將00H單元中的內容送到A中去,但是執行的過程不同,執行第一條指令需要2個周期,而第二條則只需要1個周期,第一條指令變成最終的目標碼要兩個字節(E5H 00H),而第二條則只要一個字節(E8h)就可以了。 這么斤斤計較!不就差了一個周期嗎,如果是12M的晶振的話,也就1個微秒時間了,一個字節又能有多少? 不對,如果這條指令只執行一次,也許無所謂,但一條指令如果執行上1000次,就是1毫秒,如果要執行1000000萬次,就是1S的誤差,這就很可觀了,單片機做的是實時控制的事,所以必須如此“斤斤計較”。字節數同樣如此。 再來提一個問題,現在我們已知,尋找操作數可以通過直接給的方式(立即尋址)和直接給出數所在單元地址的方式(直接尋址),這就夠了嗎? 看這個問題,要求從30H單元開始,取20個數,分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數,就用MOV A,30H,那么下一個數呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個數,不是得20條指令才能寫完嗎?這里只有20個數,如果要送200個或2000個數,那豈不要寫上200條或2000條命令?這未免太笨了吧。為什么會出現這樣的狀況?是因為我們只會把地址寫在指令中,所以就沒辦法了,如果我們不是把地址直接寫在指令中,而是把地址放在另外一個寄存器單元中,根據這個寄存器單元中的數值決定該到哪個單元中取數據,比如,當前這個寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個問題了。怎么個解決法呢?既然是看的寄存器中的值,那么我們就可以通過一定的方法讓這里面的值發生變化,比如取完一個數后,將這個寄存器單元中的值加1,還是執行同一條指令,可是取數的對象卻不一樣了,不是嗎。通過例子來說明吧。 MOV R7,#20 MOV R0,#30H LOOP:MOV A,@R0 INC R0 DJNZ R7,LOOP 這個例子中大部份指令我們是能看懂的,第一句,是將立即數20送到R7中,執行完后R7中的值應當是20。第二句是將立即數30H送入R0工作寄存器中,所以執行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個值作為地址,取這個地址單元的內容送入A中,此時,執行這條指令的結果就相當于MOV A,30H。第四句,沒學過,就是把R0中的值加1,因此執行完后,R0中的值就是31H,第五句,學過,將R7中的值減1,看是否等于0,不等于0,則轉到標號LOOP處繼續執行,因此,執行完這句后,將轉去執行MOV A,@R0這句話,此時相當于執行了MOV A,31H(因為此時的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環20次為止,就實現了我們的要求:從30H單元開始將20個數據送入A中。 這也是一種尋找數據的方法,由于數據是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數據。 二、指令 數據傳遞類指令 1) 以累加器為目的操作數的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過的。第四條指令是將立即數data送到A中。 下面我們通過一些例子加以說明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個值作為地址,并將這個地址單元中的值送入A中。如執行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數34H送入A中,執行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A MOV Rn,direct MOV Rn,#data 這組指令功能是把源地址單元中的內容送入工作寄存器,源操作數不變。
上傳時間: 2013-10-13
上傳用戶:3294322651
RSA加解密系統及其單芯片實現隨著計算機科技的進步,帶給人類極大的便利性,但伴隨而來的卻是安全性之問題。最簡單便利的安全措施是利用使用者賬號及密碼加以控管,但密碼太短易被破解,密碼太長不便記憶,在網絡上進行傳輸,利用簡單的網絡封包截取工具即可取得相關之使用者賬號及密碼,因此如何使用適當之資安技術以保護網絡上之公開資訊,為一重要之課題。RSA 密碼系統為確保信息安全之一重要機制。本專題利用低成本且取得容易的8051 單芯片實現RSA加解密系統。關鍵詞: 信息安全、8051 單芯片、RSA 密碼系統。
上傳時間: 2013-11-05
上傳用戶:逗逗666
以PLD器件實現自動掃描去抖的編碼鍵盤設計:鍵盤在單片機控制系統中是最常用的輸入設備之一。雖然非編碼鍵盤的硬件電路較為簡單,但按鍵的識別及鍵值的計算則需軟件來完成,因此需要耗費寶貴的機時;而編碼鍵盤雖然程序簡單且易于使用,但硬件比較復雜。因此,設計人員常常難以決定采用哪一類鍵盤。本文以GAL6002為例,介紹了一種用PLD器件來實現4X4鍵盤自動掃描去抖的編碼鍵盤電路及其設計方法。
上傳時間: 2013-10-17
上傳用戶:yangbo69
電梯的開關門過程是一個變速運動過程 ,需要對電梯門系統的驅動電機進行調速控制;本文提出了一種以高性能單片微機87C196MC 為核心的電梯門機變頻調速控制系統,功率驅動電路采用驅動MOSFET 的專用集成電路IR2130;分析了基于PWM 技術控制電梯門機運行的方法;采用單片微機和功率驅動專用集成電路將門系統電機的交流變頻器和驅動控制器集為一體,得到了一種可靠性高、控制靈活、成本低、體積小的電梯門機控制器。關鍵字:變頻器;正弦脈寬調制;電梯門機系統 電梯的門機系統是電梯的一個非常重要的子系統。門機系統性能的優劣直接關系著整個電梯系統能否正常地運行。所以說,對門機系統的設計開發及制造是電梯系統設計開發及制造的一個關鍵環節。從控制這個角度來說,研究的重點應側重于如何把先進的變頻調速技術應用到門機系統中,使門機系統能高效經濟可靠地運行。在目前的工程實踐中,交流電機的變頻調速策略主要有兩種方法,即正弦脈寬調制方法(SPWM)和空間矢量脈寬調制方法(SVPWM)。其中SPWM 的基本原理就是用正弦波和高頻三角載波比較產生PWM 脈沖序列:當基波(正弦波)高于三角載波時,相應的開關器件導通,反之,當基波低于三角載波時,相應的開關器件截止。產生的PWM 脈沖序列作為逆變器功率開關器件的驅動控制信號。本電梯門機變頻調速系統就是采用SPWM 調制方法,采用INTEL 公司的16 位高性能微控制器87C196MC 作為核心控制芯片,由87C196MC 的PWM 波形發生模塊產生PWM 信號去驅動功率電路,從而帶動門機按照預先設定的運行曲線運行。
上傳時間: 2013-10-16
上傳用戶:zhaoman32
Keil uVision3下載:keil uvision3注冊機,keil uvision3中文版:Keil uVision3軟件破解版與沒破解版的區別就是一個沒有代碼限制,一個有2K代碼限制。附件含有手冊和教程。 1.點擊c51v802.exe直接安裝直到結束,安裝路徑最好選用默認的c:\keil與 原來的老板本放到相同的目錄下會自動添加一個新的目錄c:\keil\uv3 2.第一次運行請先進入file->License Management彈出窗口下輸入注冊碼, 注冊碼由Keil_lic_v2.exe生成,選擇V2選項,生成后復制LIC0內容到keil 彈出窗口的New License ID Code中然后點擊Add LIC,注意看看注冊后的使 用期限,如果太短可以用注冊機重新生成,一般都可以找到30年左右:-) 3.復制ccKeilVxx.exe文件到c:\keil\c51\bin\下面并運行,以修正0xFD BUG. 至此安裝完畢。
上傳時間: 2013-10-14
上傳用戶:ruixue198909