《單片機(jī)原理及應(yīng)用》教案_第1頁
《單片機(jī)原理及應(yīng)用》教案_第2頁
《單片機(jī)原理及應(yīng)用》教案_第3頁
《單片機(jī)原理及應(yīng)用》教案_第4頁
《單片機(jī)原理及應(yīng)用》教案_第5頁
已閱讀5頁,還剩122頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《單片機(jī)原理及應(yīng)用》教案

初學(xué)單片機(jī)幾個(gè)不易掌握的概念

一、總線、數(shù)據(jù)

我們知道,一個(gè)電路總是由元器件通過電線連接而成的,在模擬電路中,連線傳遞

的是一個(gè)模擬信號,是將連續(xù)變化的電壓或電流信號在各個(gè)器件之間傳送。而單片機(jī)電

路中,連線傳遞的是一個(gè)數(shù)字信號,它所傳遞的只有“0”和“1”二個(gè)數(shù)字。這里大家

可能會有一個(gè)誤解,計(jì)算機(jī)既然可以傳遞0和1,那為什么不傳遞2、3、4、。。。?

我們這么說大家可能就好理解了:計(jì)算機(jī)中“0”表示的是低電平,理論上為0V電壓,

“1”表示的是高電平,理論上為5V電壓,單片機(jī)就是將這樣的電平輸出到它的口線上,

讓其它的器件把這一電平信號讀走,即完成了輸出“0”或“1”的任務(wù)。反之亦然,外

圍器件把要傳給單片機(jī)的數(shù)據(jù)以高低電平的形式體現(xiàn)在它的輸出口線上,通過與單片機(jī)

的連接線,在單片機(jī)的相應(yīng)的口線上也體現(xiàn)出相同的電平信號,單片機(jī)把這一信號取到

內(nèi)部的存貯單元中,即完成了一次輸入“0”或“1”的任務(wù)。從以上分析我們就知道了

為什么計(jì)算機(jī)不能傳遞2、3、4等其它數(shù)據(jù)的道理了。8位單片機(jī)的口線是8條,既可

以同時(shí)輸入輸出8位數(shù)據(jù),也可以用位操作指令只對其中的某一根口線進(jìn)行讀寫操作。

而連接單片機(jī)與其它器件的連接線實(shí)際上就是我們所稱為的總線。而在總線上傳輸?shù)臄?shù)

字就是我們所稱為的數(shù)據(jù)。我們在這門課程中所介紹的AT89c51單片是一個(gè)8位機(jī),有

4個(gè)輸入輸出口,每個(gè)口有8根口線,可同時(shí)傳遞8位的數(shù)據(jù)。由于單片機(jī)外部所接的

器件可能有多種、多片,每片內(nèi)又有多個(gè)單元地址,因此,需要對它們進(jìn)行地址上的區(qū)

分和對不同器件進(jìn)行不同操作的控制,因此,單片機(jī)的總線又可以分類為數(shù)據(jù)總線,地

址總線、控制總線。

二、指令地址、數(shù)據(jù)地址

單片機(jī)內(nèi)部有二類的存貯單元,只讀存貯器ROM和隨機(jī)存貯器RAM。AT89c51內(nèi)部

有4KB的ROM和128字節(jié)的RAM,對于這些的存貯單元,單片機(jī)要對它的每一個(gè)單元進(jìn)

行編址,否則就無法對其中的某一個(gè)單元進(jìn)行操作。ROM的地址為OOOOH~1FFFH,RAM

的地址為00H~7FH。我們用匯編指令編寫的匯編程序要經(jīng)過一個(gè)編譯軟件把它編繹成單

片機(jī)能夠識別的二進(jìn)制形式的程序一機(jī)器碼程序,然后再把它燒寫到單片機(jī)的ROM單元

中,換句話說,ROM是用來存放程序用的,因?yàn)槭峭ㄟ^燒寫進(jìn)去的,所以它是非易失性

的,掉電后單片機(jī)內(nèi)的程序不會丟失。程序在運(yùn)行過程中要進(jìn)行運(yùn)算,需要一些的存貯

單元,用來臨時(shí)存放一些的數(shù)據(jù),這時(shí)我們就可以把這樣的數(shù)據(jù)存放到RAM中,換句話

說,RAM是用來存放一些隨機(jī)的數(shù)據(jù),這類的數(shù)據(jù)不是通過燒寫器寫到芯片里頭去的,

因此它是易失性的,掉電后這些數(shù)據(jù)都將不復(fù)存在。

當(dāng)然,如果程序比較長,內(nèi)部的4KB的ROM不夠用,這時(shí)有二種辦法可以解決,一

是選用容量更大的單片機(jī),如89c52、89c55等。二是在89c51片外擴(kuò)展一片ROM。RAM

也一樣可以擴(kuò)展。這就是我們后面片外擴(kuò)展章節(jié)中要介紹的內(nèi)容。同樣,擴(kuò)展的ROM或

RAM也要對它進(jìn)行編址。

二、P3口的第二功能用法

P3口是雙功能口,既可以作為普通的I/O口使用,又可以作為第二功能口使用。作

為第二功能,其引腳被用作與外部的通訊(RXD、TXD)、外部中斷申請(INTO、INT1)、

定時(shí)器的外部脈沖輸入(TO,T1)、片外擴(kuò)展時(shí)的外部芯片讀寫控制(RD,WR)o初學(xué)

時(shí)往往對P3口的第二功能用法迷惑不解,認(rèn)為第二功能和正常I/O口輸入輸出功能之

間要有一個(gè)切換的過程,或者說要有一條指令用于定義其功能,事實(shí)上,各端口的第二

功能完全是自動(dòng)的,不需要用指令來轉(zhuǎn)換。如P3.6、P3.7分別是WR、RD信號,當(dāng)單片

機(jī)外接RAM或有外部I/O口時(shí),它們被用作第二功能,不能作為通用I/O口使用,只要

單片機(jī)一執(zhí)行到MOVX指令,就會有相應(yīng)的信號從P3.6或P3.7送出,不需要事先用指

令說明。事實(shí)上'不能作為通用I/O口使用'也并不是‘不能'而是(使用者)‘不會'

將其作為通用I/O口使用。你完全可以在指令中按排一條SETBP3.7的指令,并且當(dāng)單

片機(jī)執(zhí)行到這條指令時(shí),也會使P3.7變?yōu)楦唠娖?,但使用者不會這么去做,因?yàn)檫@通

常這會導(dǎo)致系統(tǒng)的崩潰(即死機(jī))。

前面我們提到,89C51單片機(jī)內(nèi)部的4KB的ROM其編址范圍是OOOOH^IFFFH,單片

機(jī)內(nèi)安排了一個(gè)16位的特殊功能寄存器PC(程序計(jì)數(shù)器)用來指示目前程序所執(zhí)行的

是哪一條指令,也就是我們通常說的程序指針。單片機(jī)在通電復(fù)位后8051內(nèi)的程序計(jì)

數(shù)器(PC)中的值為‘0000',所以程序總是從‘0000’單元開始執(zhí)行,也就是說:在

系統(tǒng)的ROM中一定要存在,0000'這個(gè)單元,并且在‘0000'單元中存放的一定是一條

指令,否則程序?qū)o法正常執(zhí)行下去。

四、堆棧

堆棧是一個(gè)區(qū)域,是用來存放數(shù)據(jù)的,這個(gè)區(qū)域本身沒有任何特殊之處,就是內(nèi)部

RAM的一部份,特殊的是它存放和取用數(shù)據(jù)的方式,即所謂的‘先進(jìn)后出,后進(jìn)先出‘,

并且堆棧有特殊的數(shù)據(jù)傳輸指令,即'PUSH,和'POP',有一個(gè)特殊的專為其服務(wù)的

單元,即堆棧指針SP,每當(dāng)執(zhí)行一次PUSH指令時(shí),SP就(在原來值的基礎(chǔ)上)自動(dòng)加

1,每當(dāng)執(zhí)行一次POP指令,SP就(在原來值的基礎(chǔ)上)自動(dòng)減1。由于SP中的值可以

用指令加以改變,所以只要在程序開始階段更改了SP的值,就可以把堆棧設(shè)置在規(guī)定

的內(nèi)存單元中,如在程序開始時(shí),用一條MOVSP,#5FH指令,就把堆棧設(shè)置在從內(nèi)存

單元60H開始的單元中。一般程序的開頭總有這么一條設(shè)置堆棧指針的指令,因?yàn)殚_機(jī)

時(shí),SP的初始值為07H,這樣就使堆棧從08H單元開始往后,而08H至U1FH這個(gè)區(qū)域正

是8031的第二、三、四工作寄存器區(qū),經(jīng)常要被使用,這會造成數(shù)據(jù)的混亂。不同作

者編寫程序時(shí),初始化堆棧指令也不完全相同,這是作者的習(xí)慣問題。當(dāng)設(shè)置好堆棧區(qū)

后,并不意味著該區(qū)域成為一種專用內(nèi)存,它還是可以像普通內(nèi)存區(qū)域一樣使用,只是

一般情況下編程者不會把它當(dāng)成普通內(nèi)存用了。

六、單片機(jī)的開發(fā)過程這里所說的開發(fā)過程并不是一般書中所說的從任務(wù)分析開

始,我們假設(shè)已設(shè)計(jì)并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先

要確定一些常數(shù)、地址,事實(shí)上這些常數(shù)、地址在設(shè)計(jì)階段已被直接或間接地確定下來

了。如當(dāng)某器件的連線設(shè)計(jì)好后,其地址也就被確定了,當(dāng)器件的功能被確定下來后,

其控制字也就被確定了。然后用文本編緝器(如WAVE等)編寫軟件,編寫好后,用編

譯器對源程序文件編譯,查錯(cuò),直到?jīng)]有語法錯(cuò)誤。之后有二種辦法對程序正確與否進(jìn)

行驗(yàn)證,一是應(yīng)用仿真機(jī)對軟件進(jìn)行調(diào)試,直到程序在硬件上運(yùn)行正確為止。運(yùn)行正確

后,就可以寫片(將程序固化在EPROM中)。二是在程序比較簡單,又沒有仿真機(jī)的情

況下,將源程序編譯后生成擴(kuò)展名為HEX或BIN的目標(biāo)文件,通過編程器直接燒寫到

89c51芯片上,再將芯片插到硬件電路上運(yùn)行,不斷反復(fù)以上過程,直至程序運(yùn)行正確

為止。舉一例說明:

ORG0000H

LJMPSTART

ORG0040H

START:0VSP,#5FH;設(shè)堆棧

LOOP:NOP

LJMPLOOP;循環(huán)

END;結(jié)束

表1

:03000000020040BB

:0700400075815F000200431F

表2

020040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

FFFFFFFFFFFFFFFFFFFFFFFF75815F00020043

表3

表1為源程序,表2是匯編后得到的HEX文件,表3是由HEX文件轉(zhuǎn)換成的目標(biāo)文件,

也就是最終寫入ROM的文件,它由編程器轉(zhuǎn)換得到,也就是說大家在編程器中打開由編

譯器編譯的HEX或BIN一類的文件時(shí)所看到的就是表3所示的文件,這時(shí)就可以對CPU

進(jìn)行燒寫了。學(xué)過手工匯編者應(yīng)當(dāng)不難找出表3與表1的一一對應(yīng)關(guān)系,值得注意的是

從020040后開始的一長串‘FF’,直到7581,這是由于偽指令:ORGOO40H造成的

結(jié)果,表示這些單元的內(nèi)容為空。

七、仿真、仿真機(jī)仿真是單片機(jī)開發(fā)過程中非常重要的一個(gè)環(huán)節(jié),除了一些極簡

單的任務(wù),一般產(chǎn)品開發(fā)過程中都要進(jìn)行仿真,仿真的主要目的是進(jìn)行軟件調(diào)試,當(dāng)然

借助仿真機(jī),也能進(jìn)行一些硬件排錯(cuò)。一塊單片機(jī)應(yīng)用電路板包括單片機(jī)部份及為達(dá)到

使用目的而設(shè)計(jì)的應(yīng)用電路,仿真就是利用仿真機(jī)來代替應(yīng)用電路板(稱目標(biāo)機(jī))的單

片機(jī)部份,對應(yīng)用電路部份進(jìn)行測試、調(diào)試。仿真一般為CPU仿真,所謂CPU仿真是指

用仿真機(jī)代替目標(biāo)機(jī)的CPU,由仿真機(jī)向目標(biāo)機(jī)的應(yīng)用電路部份提供各種信號、數(shù)據(jù),

進(jìn)行調(diào)試的方法。這種仿真可以通過單步運(yùn)行、連續(xù)運(yùn)行等多種方法來運(yùn)行程序,并能

觀察到單片機(jī)內(nèi)部的變化,便于改正程序中的錯(cuò)誤。

下面是一些編程器,編譯器以及它們的一些計(jì)算機(jī)界面圖。

Top851編程器

Top851編程器工作界面

洲開始|⑤山g8@|'整窟$>期0|]j電子教案|固《單片機(jī)…|直|MCS-51單…|笆百度搜索管WAVE6。00...Q圜,個(gè)點(diǎn)5^~^25~

WAVE6000編輯器工作界面

P0O

P01

P02

P03

P04

P05

P06

P07

2-

-RXD

」-TXD

」-INT0

5-P20

一INTI

6-P21

7一TO

-P22

-T1器

|0P23

P2

P25

GNDP2

P2

實(shí)驗(yàn)板原理圖

單片機(jī)應(yīng)用技術(shù)

第一章單片機(jī)基礎(chǔ)知識

第二章單片機(jī)開發(fā)系統(tǒng)(略)

第三章MCS-51指令系統(tǒng)

第四章匯編語言程序設(shè)計(jì)

第五章定時(shí)器與中斷系統(tǒng)

第六章單片機(jī)系統(tǒng)

第七章單片機(jī)接口技術(shù)

第八章串行口通信技術(shù)

第九章單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)

參考書:1.《單片機(jī)原理及接口技術(shù)》李朝青編北京航空航天出版社

2.《跟我學(xué)用單片機(jī)》肖洪兵編北京航空航天出版社

第一講概述

授課時(shí)數(shù):2學(xué)時(shí)

教學(xué)目的:

1、了解單片機(jī)的基礎(chǔ)知識。

2、理解原碼、反碼、補(bǔ)碼的概念。

3、掌握真值、原碼、反碼及補(bǔ)碼間的換算

4、熟悉BCD碼和ASCII碼

教學(xué)重點(diǎn):

單片機(jī)的含義及工作過程,補(bǔ)碼的概念及運(yùn)算,BCD碼及ASCH碼

教學(xué)難點(diǎn):

單片機(jī)的作過程,補(bǔ)碼的運(yùn)算

板書課題:第一章單片機(jī)硬件系統(tǒng)

§1-1概述

一、什么是單片機(jī)?

計(jì)算機(jī)(微型)的系統(tǒng)結(jié)構(gòu):如圖1所示。

輸入~運(yùn)算~輸出

控號器內(nèi)存

-----------圖1微機(jī)系統(tǒng)結(jié)構(gòu)------

單片機(jī)(單片微型計(jì)算機(jī)):是指集成在一塊芯片上的計(jì)算機(jī),它具有體積小,功

能強(qiáng),可靠性高,價(jià)格低等優(yōu)點(diǎn)。如IntelMCS-51,它以最小系統(tǒng)或單片機(jī)擴(kuò)展系統(tǒng)出

現(xiàn)在:家用電器,智能儀表,工業(yè)過程控制,航空航天,冶金采礦,汽車等領(lǐng)域。

單片機(jī)特點(diǎn):

(1)受集成度限制,片內(nèi)存儲器容量較小,-般內(nèi)部ROM:8KB以下;

內(nèi)部RAM:256KB以內(nèi)。

(2)可靠性高

(3)易擴(kuò)展

(4)控制功能強(qiáng)

(5)易于開發(fā)

單片機(jī)發(fā)展分四個(gè)階段:

第一階段(74年~76年)初級階段:仙童公司F8(8位CPU,64KB)

第二階段(76年~78年)低性能單片機(jī):Intel公司MCS-48(8位CPU)

第三階段(78年~83年)高性能單片機(jī):Intel公司MCS-51、Motorola6801、Z8

第四階段(83年~今)新一代單片機(jī)(單片微控制器):AT89C51(Atmel)

二、單片機(jī)系統(tǒng)的組成

1、硬件部分

一運(yùn)算器

(CPU\寄存器組

〔控制器

內(nèi)存r片內(nèi)

單片機(jī)V

/i片外

中斷控制邏輯

r并行I/o口

I通用接口]串行異步通訊口UART

I定時(shí)/計(jì)數(shù)器(T/C)

2、軟件部分(即程序)

需用戶自已開發(fā),根據(jù)指令系統(tǒng)進(jìn)行設(shè)計(jì)。某些功能硬件可以實(shí)現(xiàn),軟件也可以

實(shí)現(xiàn)。

硬件實(shí)現(xiàn)——速度快,占CPU時(shí)間少;但電路復(fù)雜、成本高。

軟件實(shí)現(xiàn)——簡化硬件電路設(shè)計(jì),可靠性高,成體低,占CPU時(shí)間多,實(shí)時(shí)性差,此

外,還需開發(fā)設(shè)備。

§1-2計(jì)算機(jī)中數(shù)的表示及運(yùn)算

計(jì)算機(jī)只識別和處理數(shù)字信息,數(shù)字是以二進(jìn)制數(shù)表示的;它易于物理實(shí)現(xiàn),同時(shí),

資料存儲、傳送和處理簡單可靠;運(yùn)算規(guī)則簡單,使邏輯電路的設(shè)計(jì)、分析、綜合、

方便,使計(jì)算器具有邏輯性。

一、用數(shù)制及轉(zhuǎn)換

1、各種進(jìn)進(jìn)制數(shù)及其表示方法

例如,十進(jìn)制數(shù),10個(gè)數(shù)碼:0、1、2、……9;采用“逢十進(jìn)一”

30681:3X104+0X103+6X102+8X10!+1X10°

例如,二進(jìn)制數(shù),2個(gè)數(shù)碼:0、1,采用“逢二進(jìn)一”

(11010100)2=1x27+1X26+0X25+1X24+0X23+1X22+0X2^0X2°

例如,十六進(jìn)制數(shù),16個(gè)數(shù)碼:0、1、2、……9、A、B、C、D、E、F;采用“逢十六

進(jìn)一”

(31)16=31H=3X16「1X16°=49

總之,N進(jìn)制數(shù),N個(gè)數(shù)碼,“逢N進(jìn)一”

2、數(shù)制之間的轉(zhuǎn)換

任意進(jìn)制之間相互轉(zhuǎn)換,整數(shù)部分和小數(shù)部分必須分別進(jìn)行,

十進(jìn)制轉(zhuǎn)換成二進(jìn)制——除2取余法

0-----------------------1

(45)io=45D=45=101101B

十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制小數(shù)—乘2取整法。

二進(jìn)制轉(zhuǎn)換成十進(jìn)制——展開求和法。

(101101)2=1X25+0X24+1X23+1X22+0X2X+1X2°

=32+0+8+4+0+1

=45

二進(jìn)制轉(zhuǎn)換成八進(jìn)制、十六進(jìn)制與此類似。

二、機(jī)器數(shù)及其編碼

1、機(jī)器數(shù)與真值

機(jī)器只認(rèn)識二進(jìn)制數(shù):0、1。

這是因?yàn)?,電路狀態(tài)常有兩個(gè),如通、斷;高電平、低電平;…可用0、1表示。

這種0、1、0、1…1在機(jī)器中的表現(xiàn)形式一機(jī)器數(shù)。一般為8位。

”無符號數(shù):00000000B,.......innniB即00H~FFH

機(jī)器數(shù)有:V

I帶符號數(shù):+1010110B,-1101001----------?真值

01010110、11101001______A機(jī)器數(shù)

D7位“0”表示該數(shù)為正數(shù),“1”表示該數(shù)為負(fù)數(shù)。

2、機(jī)器數(shù)的編碼及運(yùn)算

對帶符號數(shù)而言,有原碼、反碼、補(bǔ)碼之分,計(jì)算機(jī)內(nèi)一般使用補(bǔ)碼。

1)原碼

將數(shù)“數(shù)碼化”,原數(shù)前“+”用0表示,原數(shù)前“-”用1表示,數(shù)值部分為該數(shù)本

身,這樣的機(jī)器數(shù)叫原碼。

如,[如]原=00000011B

[-3]原=10000011B

0有兩種表示方法:00000000-----?+0

10000000-----A-o

原碼最大、最小的表示:+127、-128

2)反碼

規(guī)定正數(shù)的反碼等于原碼;負(fù)數(shù)的反碼是符號位不變,其余位按位取反。

如,[+4]反=[+4]原=00000100B

[-4]原=10000100B[-4]反:11111010B

反碼范圍:-128~+127

兩個(gè)0;+0——00000000B

-0——11111111B

3)補(bǔ)碼

補(bǔ)碼的概念:現(xiàn)在是下午3點(diǎn),手表停在12點(diǎn),可正撥3點(diǎn),也可倒撥9點(diǎn)。即是

說-9的操作可用+3來實(shí)現(xiàn),在12點(diǎn)里:3、-9互為補(bǔ)碼。

運(yùn)用補(bǔ)碼可使減法變成加法。

規(guī)定:正數(shù)的補(bǔ)碼等于原碼。

負(fù)數(shù)的補(bǔ)碼求法:反碼+1

如,設(shè)X:-0101110B,則[X]原:10101110B

則[X]補(bǔ)=[X]反+1=11010001+00000001:11010010B

如,[+6]補(bǔ)=[+6]原=00000110B

8位補(bǔ)碼的范圍-128~+127。

0的個(gè)數(shù):只一個(gè),即00000000

而10000000B是T28的補(bǔ)碼。

原碼、反碼、補(bǔ)碼對照表:

無符號數(shù)有符號數(shù)

十進(jìn)制二進(jìn)制十六進(jìn)制原碼反碼補(bǔ)碼

(二進(jìn)制)(二進(jìn)制)十進(jìn)制二進(jìn)制十六進(jìn)制

000000000B00H+0+0+000000000B00H

100000001B01H+1+1+100000001B01H

200000010B02H+2+2+200000010B02H

12601111110B7EH+126+126+12601111110B7EH

12701111111B7FH+127+127+12701111111B7FH

12810000000B80H-127-1281000000080H

12910000001B81H-126-1271000

25311111101BFDH-2-3

25411111110BFEH-1-2

25511111111BFFH-0-1

無符號數(shù)的范圍:0~255(OOH^FFH)

有符號數(shù)的范圍:T28~T(80H~FFH)0~127(00H~7FH)

4)補(bǔ)碼的運(yùn)算

當(dāng)X20時(shí),[X]tt=[X]反式X]原

[[X]補(bǔ)]補(bǔ)=[X]原

[X。卜+[丫]樸=[X+Y]補(bǔ)

[X-Y]#=[X+(-Y)]補(bǔ)

例:已知X=52Y=38求X-Y

方法1:減法:方法2:加法

X-Y=52-38=14X-Y=[[X-Y]補(bǔ)]補(bǔ)=[[X]補(bǔ)+[-Y]補(bǔ)]補(bǔ)

00110100=[[52]補(bǔ)+[-38]補(bǔ)]補(bǔ)

-)00100110=[14]樸=14

00001110

[52]補(bǔ):00110100

[-38]補(bǔ):+)11011010

10^0001110

自然丟失一

計(jì)算機(jī)在做算術(shù)運(yùn)算時(shí),必需檢查溢出,以防止發(fā)生錯(cuò)誤

5)運(yùn)算的溢出問題

資料字長(位數(shù))有一定限制,所以資料的表示應(yīng)有一個(gè)范圍。

如字長8位時(shí);補(bǔ)碼范圍-128~+127

若運(yùn)算結(jié)果超出這個(gè)范圍,便溢出。

例:

[98]補(bǔ):01100010[85]補(bǔ):01010101

[25L卜:+)00011001[47]補(bǔ):+)00101111

[123]補(bǔ):01111011[132]補(bǔ):10000100

未溢出00溢出01

Cs+1Cs(未溢出)Cs+1Cs(溢出)

錯(cuò):兩個(gè)正數(shù)相加和為負(fù)數(shù)。

[-85]補(bǔ):10101011[-19]樸:01010101

[一47]補(bǔ):+)11010001[-79入卜:+)10110001

[-132]樸:101111100[-98]110011110

溢出10未溢出11

Cs+1CsCs+1Cs

錯(cuò):兩個(gè)負(fù)數(shù)相加和為正數(shù)。

可見:結(jié)果正確(無溢出)時(shí),Cs+1=Cs

結(jié)果錯(cuò)誤(溢出)時(shí),Cs+1WCs

溢出判斷:溢出=Cs+1十Cs(即結(jié)果是0為無溢出;1為有溢出)

3、十進(jìn)制數(shù)的編碼

對機(jī)器:二進(jìn)制數(shù)方便,

對人:二進(jìn)制數(shù)不直觀,習(xí)慣于十進(jìn)制數(shù)。

在編程過程中,有時(shí)需要采用十進(jìn)制運(yùn)算,但機(jī)器不認(rèn)識十進(jìn)制數(shù)。

怎么辦?

可以將十進(jìn)制的字符用二進(jìn)制數(shù)進(jìn)行編碼:

0000091001

100011010

200101011

300111100未用碼>

401001101

501011110

601101111y

70111

81000

這叫做二進(jìn)制數(shù)對十進(jìn)制編碼一BCD碼。

上述每4位二進(jìn)制數(shù)表示一個(gè)十進(jìn)制字符,這4位中各位的權(quán)依次是:

8、4、2、1——8421BCD碼。

BCD碼的運(yùn)算:

例:1800011000

+)3BCD碼相加+)00000011

2~L-00011011

2B;

非BCD碼(錯(cuò))怎么辦?

需進(jìn)行十進(jìn)制調(diào)整:

00011000

+)00000011

00011011(個(gè)位大于9,應(yīng)進(jìn)1)

+)0110(加6使進(jìn)1)

00100001(結(jié)果形如出21)

(1)BCD碼加法規(guī)則

兩個(gè)BCD數(shù)相加時(shí),“某位”的和小于10則保持不變;

兩個(gè)BCD數(shù)相加時(shí),“某位”的和大于9,則和數(shù)應(yīng)加6修正。

(2)BCD碼減法規(guī)則

兩個(gè)BCD數(shù)相減時(shí),“某位”的差未發(fā)生借位,則差數(shù)保持不變;

兩個(gè)BCD數(shù)相減時(shí),“某位”發(fā)生了借位,其差應(yīng)減6修正。

這里“某位”指BCD數(shù)中的“個(gè)位”、“十位”、“百位”、……

01100101(65)00110100(34)

+)10010111(97)-)00010101(15)

1111~1100—0001~1111

+)01100110(加66調(diào)整)-)0110(減6調(diào)整)

101100010(162)—0001—1001—(29)

三、字符信息的表示

計(jì)算機(jī)能識別0、1、0、1、……;這些0、1、0、1、……有的代表

數(shù)值,有的僅代表要處理的信息(如字母、標(biāo)點(diǎn)符號、數(shù)字符號等文字符號),所以,

計(jì)算機(jī)不僅要認(rèn)識各種數(shù)字,還要能識別各種文字符號。人們事先已對各種文字符號進(jìn)

行二進(jìn)制數(shù)編碼:

如,美國信息交換標(biāo)準(zhǔn)碼—ASCH碼,用一個(gè)字節(jié)表示一個(gè)字符。

低7位是字符的ASCH碼值;最高位是通信時(shí)的校驗(yàn)位。

小結(jié):

1、計(jì)算機(jī)與單片機(jī)有何區(qū)別?

2、單片機(jī)主要有哪幾部分組成?

3、真值與碼值有何區(qū)別?原碼、反碼、補(bǔ)碼三者之間如何換算?

作業(yè):

第二講MCS-51單片機(jī)結(jié)構(gòu)原理

教學(xué)目的

1、理解MCS-51單片機(jī)分類及特征

2、了解單片機(jī)內(nèi)部組成

3、掌握MCS-51單片機(jī)引腳的使用

教學(xué)重點(diǎn)

單片機(jī)外部引腳的使用

教學(xué)難點(diǎn)

單片機(jī)外部引腳的功能

板書課題第二講MCS-51單片機(jī)結(jié)構(gòu)原理

單片機(jī)硬件結(jié)構(gòu)

?內(nèi)部結(jié)構(gòu)?引腳功能?內(nèi)存的配置?CPU時(shí)序?1/0接口

§1-2MCS-51單片機(jī)結(jié)構(gòu)原理

IntelMCS-51系列單片機(jī)三個(gè)版本:8031、8051、8751(8位機(jī))

系列典型芯片I/O口定時(shí)/計(jì)數(shù)器中斷源串行通信口片內(nèi)RAM片內(nèi)ROM說明

80C314x8位2x16位51128字節(jié)無

80C514x8位2x16位51128字節(jié)4kB掩膜ROM

51系列

87C514x8位2x16位51128字節(jié)4kBEPROM

89C514x8位2x16位51128字節(jié)4kBEEPROM

80C324x8位2x16位61256字節(jié)無

80C514x8位2x16位61256字節(jié)8kB掩膜ROM

52系列

87C524x8位2x16位61256字節(jié)4kBEPROM

89C524x8位2x16位61256字節(jié)4kBEEPROM

IntelMCS-96系列機(jī):8096(16位機(jī))

除此之外,Moto之a(chǎn)公司、Zilog公司、Mcrochip...相繼推出產(chǎn)品,

各系列產(chǎn)品內(nèi)部功能、單元組成、指令系統(tǒng)不盡相同。

Intel公司單片機(jī)問世早,系列齊全,兼容性強(qiáng),所以得到廣泛使用。

,51子系列:8031、8051、8751MCS-51系列

二52子系列:8032、8052\__________)

無有

ROMROM

§1-2.1MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳

一、MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)

P0.o—P0.7P2.o—P2.7

__:口十卜卜[二H;__j二

|通道0驅(qū)動(dòng)器||通道2驅(qū)動(dòng)器|

RAM無

地址

RAM

寄存EPROM程序地址「

器|通道0驅(qū)動(dòng)器||通道2驅(qū)動(dòng)器IROM寄存器-I

匹ZI緩沖器卜

3r

i堆棧指針i

B_________,TXP1|程序L

寄存器||TMP2「|i鐲器L

ALU

中斷、串行口:二:

LLz>iPSW?定時(shí)器邏輯

PSEW-定時(shí)和指令

ALE-

EA-控制邏輯寄存器

RST-

|通道1鎖存器||通道3鎖存器|

|OSC

I通道1驅(qū)動(dòng)器I|通道3驅(qū)動(dòng)器弁

-并用-用■--用并用----------

XTALlTUIXTAL2

Pl.o—Pl.7P3.o—P3.7-

MCS-51結(jié)構(gòu)框圖

1、中央處理單元(8位)

數(shù)據(jù)處理、測試位,置位,復(fù)位位操作

2、只讀存儲器(4KB或8KB)

永久性存儲應(yīng)用程序,掩模ROM、EPROM、EEPROM

3、隨機(jī)存取內(nèi)存(128B、128BSFR)

在程序運(yùn)行時(shí)存儲工作變量和資料

4、并行輸入/輸出口(I/0)(32條)

作系統(tǒng)總線、擴(kuò)展外存、I/。接口芯片

5、串行輸入/輸出口(2條)

串行通信、擴(kuò)展I/0接口芯片

6、定時(shí)/計(jì)數(shù)器(16位、加1計(jì)數(shù))

計(jì)滿溢出、中斷標(biāo)志置位、向CPU提出中斷請求,與CPU之間獨(dú)立工作

7、時(shí)鐘電路

內(nèi)振、外振。

8、中斷系統(tǒng)

五源中斷、2級優(yōu)先。

結(jié)構(gòu)特點(diǎn):

MCS-51系列單片機(jī)為哈佛結(jié)構(gòu)(而非普林斯頓結(jié)構(gòu))

1)內(nèi)ROM:4KB

2)內(nèi)RAM:128B

3)外ROM:64KB

4)夕卜RAM:64KB

5)I/0線:32根(4埠,每埠8根)

6)定時(shí)/計(jì)數(shù)器:2個(gè)16位可編程定時(shí)/計(jì)數(shù)器

7)串行口:全雙工,2根

8)寄存器區(qū):工作寄存器區(qū)、在內(nèi)128BRAM中,分4個(gè)區(qū),

9)中斷源:5源中斷,2級優(yōu)先

10)堆棧:最深128B

11)布爾處理機(jī):位處理機(jī),某位單獨(dú)處理

12)指令系統(tǒng):五大類,111條

二、MCS-51單片機(jī)外部引腳

DIP40腳1P17圖2-3

方形封裝44腳J

1、主電源引腳

Vss、Vcc

2、外接晶振引腳

XTAL1、XTAL2

3、控制或復(fù)位引腳

RST/VPD兩個(gè)機(jī)器周期高電平,單片機(jī)復(fù)位。

P0~P3口:輸出高電平

SP:07H

SFR、PC:清0

不影響內(nèi)RAM狀態(tài),機(jī)器從0地址開始執(zhí)行。

上電復(fù)位電路、電平方式開關(guān)復(fù)位電路如圖2-4所示。

ALE/PROG:地址鎖存控制端

提供1/6fosc振蕩頻率,輸入編程脈沖EPROM

PSEN:外部程序內(nèi)存的讀選通信號端。

EA/VPP:EA=1,訪問內(nèi)部程序內(nèi)存

當(dāng)PC值超過內(nèi)ROM范圍(0FFFH)時(shí),自動(dòng)轉(zhuǎn)執(zhí)行外部內(nèi)存的程序

EA=0,只訪問外部程序內(nèi)存。

對8751機(jī),可施加21V編程電源(Vpp)

4、輸入/輸出引腳

P0~P3:四個(gè)I/0口,每口8線,共同32線。

小結(jié):

1、MCS-51系列機(jī)種類

2、MCS-51內(nèi)部結(jié)構(gòu)有幾部分?特點(diǎn)?

3、MCS-51機(jī)DIP有多少引腳?ALE、PSEN、EA作用?

作業(yè):

第三講MCS-51單片機(jī)存儲器配置

教學(xué)目的:

1、了解特殊功能寄存器名稱

2、了解單片機(jī)位地址空間分配

3、掌握MCS-51單片機(jī)內(nèi)部存儲器的空間與分配

教學(xué)重點(diǎn):

單片機(jī)外部引腳的使用

教學(xué)難點(diǎn):

單片機(jī)外部引腳的功能

復(fù)習(xí)提問:

1、MCS-51系列單片機(jī)有幾種典型機(jī)型?有何區(qū)別?

2、MCS-51單片機(jī)有多少外部引腳?ALE、EA、PSEN、RET的作用?

3、MCS-51單片機(jī)的特點(diǎn)?

課題§1-2.2MCS-51單片機(jī)內(nèi)存配置

一、MCS-51機(jī)的內(nèi)存結(jié)構(gòu)(如圖1所示)

FFFFH

64KB

外部

RAM

OFFFH

0000H0000H

程序存儲器內(nèi)部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器

圖1MCS-51機(jī)的內(nèi)存結(jié)構(gòu)

物理上分為:4個(gè)空間,片內(nèi)ROM、片外ROM

片內(nèi)RAM、片外RAM

邏輯上分為;3個(gè)空間,程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址MOVC

數(shù)據(jù)存儲器(片內(nèi))MOV

數(shù)據(jù)存儲器(片外)MOVX

1、程序內(nèi)存

尋址范圍:OOOOH~FFFFH容量64KB

EA=1,尋址內(nèi)部ROM;EA=0,尋址外部ROM

地址長度:16位

作用:存放程序及程序運(yùn)行時(shí)所需的常數(shù)。

七個(gè)具有特殊含義的單元是:0000H——系統(tǒng)復(fù)位,PC指向此處;

0003H——外部中斷0入口

OOOBH——T0溢出中斷入口

0013H——外中斷1入口

001BH——T1溢出中斷入口

0023H——串口中斷入口

002BH——T2溢出中斷入口

2、內(nèi)部數(shù)據(jù)存儲器

物理上分為兩大區(qū):OOH~7FH即128B內(nèi)RAM和SFR區(qū)。如圖2所示。

作用:作數(shù)據(jù)緩沖器用

可位尋址位

4組R0~R7工作寄存器

圖2內(nèi)部數(shù)據(jù)存儲器

二、特殊功能寄存器SFR

尋址空間:80H~FFH,其中有6個(gè)雙字節(jié)寄存器。

注意PC不在此范圍內(nèi)。

表.4P14

表中:T2c0;TH2、TL2;RLDH、RLDL屬于8032/8052??晌粚ぶ返腟FR為其地

址能被8整除(表2-4、表2-5)

各寄存器的名稱:

1、算術(shù)運(yùn)算寄存器

(1)累加器A(E0H)

(2)B寄存器:乘、除法運(yùn)算用

(3)程序狀態(tài)字PSW寄存器:包含程序運(yùn)行狀態(tài)信息。

CYACF0RS1RSOOV——p

CY—進(jìn)位/借位標(biāo)志;位累加器。

AC——輔助進(jìn)/借位標(biāo)志;用于十進(jìn)制調(diào)整。

F0——用戶定義標(biāo)志位;軟件置位/清零。

0V—溢出標(biāo)志;硬件置位/清零。

P—奇偶標(biāo)志;A中1的個(gè)數(shù)為奇數(shù)P=1;否則P=0o

RS1、RSO——寄存器區(qū)選擇控制位。

00:0區(qū)R0"“R7

01:1區(qū)R0"“R7

10:2區(qū)R0,“R7

11:3區(qū)R0"“R7

2、指針寄存器

(1)程序計(jì)數(shù)器PC

指明即將執(zhí)行的下一條指令的地址,16位,尋址64KB范圍,

復(fù)位時(shí)PC=0000H

(2)堆棧指針SP

指明棧頂元素的地址,8位,可軟件設(shè)置初值,復(fù)位時(shí)SP=07H

(3)數(shù)據(jù)指針DPTR

@RO、@R1、@DPTR;指明訪問的數(shù)據(jù)存儲器的單元地址,16位,尋址范圍64KB。DPTR

=DPH+DPL,也可單獨(dú)使用。

3、并行輸入/輸出端口

寄存器PO、Pl、P2、P3實(shí)為相應(yīng)端口鎖存器。

4、串行輸入/輸出端口

(1)串行數(shù)據(jù)緩沖器SBUF

是物理上獨(dú)立的兩個(gè)寄存器,共同使用一個(gè)地址。

(2)串行控制/狀態(tài)寄存器SCON

控制監(jiān)視串行口的工作狀態(tài)

(3)電源控制寄存器PCON

控制單片機(jī)的低功耗工作方式及波特率選擇。

5、中斷系統(tǒng)

(1)中斷優(yōu)先級寄存器IP:2級優(yōu)先,可軟件設(shè)定

(2)中斷允許寄存器IE

6、定時(shí)/計(jì)數(shù)器

(1)定時(shí)器方式寄存器:TMOD

(2)定時(shí)器控制寄存器:TCON

(3)計(jì)數(shù)寄存器:THO、TLO;TH1、TLlo可用于設(shè)定計(jì)數(shù)初值。

7、8052/8032增設(shè)專用寄存器

(1)定時(shí)器2控制寄存器T2coN;控制、設(shè)置工作方式。

(2)計(jì)數(shù)寄存器:TH2、TL2

(3)定時(shí)器2捕獲/重裝載寄存器:RCAP2H,RCAP2L

存放自動(dòng)重裝載到TH2、TL2的數(shù)據(jù)。

三、位地址空間

(1)內(nèi)部RAM20H~2FH共16個(gè)單元可按位尋址128位。

(2)SFR80H~FFHf51子系列,有21個(gè)寄存器,83位;

y52子系列,有26個(gè)寄存器,93位。

四、外部數(shù)據(jù)存儲器

(1)容量最大擴(kuò)展到64KB

(2)尋址范圍:0000H~FFFFH

(3)尋址方式:間接尋址可用RO,R1及DPTR

§1-4時(shí)序

時(shí)鐘的基本概念

啟動(dòng)單片機(jī)后,指令執(zhí)行順序

一?取指令——?分析——?執(zhí)行

結(jié)合時(shí)序圖說明單周期單字節(jié)指令在執(zhí)行過程中ALE脈沖、取指操作、執(zhí)行操作等

在時(shí)間上的先后關(guān)系,從而引出時(shí)序的概念:

單片機(jī)內(nèi)的各種操作都是在一系列脈沖控制下進(jìn)行的,而各脈沖在時(shí)間上是有先

后順序的,這種順序就稱為時(shí)序。

執(zhí)令周期:即從取指到執(zhí)行完,所需時(shí)間。

不同機(jī)器指令周期不一樣;即使相同機(jī)器,不同的指令其指令周期也不一樣

O

機(jī)器周期:機(jī)器的基本操作周期。

一個(gè)指令周期含若干機(jī)器周期(單、雙、四周期)

狀態(tài)周期:一個(gè)機(jī)器周期分6個(gè)狀態(tài)周期Si

每個(gè)狀態(tài)周期含兩個(gè)振蕩周期,即相位Pl、P2o

振蕩周期:由振蕩時(shí)鐘產(chǎn)生。

振蕩周期Tose=1/fosc

一個(gè)機(jī)器周期=12個(gè)振蕩周期=12X1/fosco

例如,若fosc=12MHz,則一個(gè)機(jī)器周期=1USo

時(shí)鐘的產(chǎn)生:

XTAL1(19)、XTAL(18)。

1、內(nèi)部方式

與作為反饋元件的片外晶體或陶瓷諧振器一起組成一個(gè)自激振蕩器。

(內(nèi)振電路圖)(外振電路圖)

2、外部方式

CMOS工藝的8031,其XTAL1接外信號;XTAL2可懸空。

HM0S工藝的8031,其XTAL2接外信號;XTAL1接地。

小結(jié):

MCS—51存儲結(jié)構(gòu)分配是怎樣的?

SFR中各寄存器的名稱?

作業(yè):

第四講并行I/O端口

教學(xué)目的:

1、了解8031最小系統(tǒng)

2、掌握P0、Pl、P2、P3口的使用

3、P0、Pl、P2、P3口的結(jié)構(gòu)特點(diǎn)

教學(xué)重點(diǎn):

P0、Pl、P2、P3口的使用

教學(xué)難點(diǎn):

P0、Pl、P2、P3口的電路結(jié)構(gòu)

教學(xué)環(huán)節(jié):

復(fù)習(xí)舊課:1、MCS-51機(jī)的組成有幾大部分?

2、外部引腳ALE、/PSEN、/EA、RST的功能是什么?

引入新課:§1-5并行I/0端口

四個(gè)端口、雙向、每個(gè)口包含一個(gè)鎖存器、一個(gè)輸出驅(qū)動(dòng)器和二個(gè)輸入緩沖器。

一、pon

1、結(jié)構(gòu)(P0口電路圖)

2、通用I/o口

1)讀(端口外數(shù)據(jù)-----?內(nèi)部寄存器)

方式1(讀鎖存器)0—?G2—?I內(nèi)部總線,適于“讀一修改一寫”

方式2(讀引腳):P0?x—?G1—?D—內(nèi)部總線。

作為通用I/0使用,是一個(gè)準(zhǔn)雙向口:

“在輸入數(shù)據(jù)時(shí)應(yīng)先把口置1,使兩個(gè)FET都截止,引腳處于懸浮狀態(tài),可作高阻抗輸入

,,

2)寫(片內(nèi)數(shù)據(jù)_____>端口)

數(shù)據(jù)-----A鎖存-----?MUX-----^0?X

3)地址/數(shù)據(jù)總線口

控制MUX

寫:地址/數(shù)據(jù)為1,PO-x—高

地址/數(shù)據(jù)為0,P0-x—低

讀:經(jīng)緩沖器G1讀入

4)負(fù)載能力

可帶8個(gè)TTL輸入,驅(qū)動(dòng)NM0S時(shí),接上拉電阻。

總結(jié)特點(diǎn):

(1)P0口可作通用I/0口使用,又可作地址/數(shù)據(jù)總線口;

(2)P0既可按字節(jié)尋址,又可按位尋址;

(3)P0作為輸入口使用時(shí):是準(zhǔn)雙向口;

(4)作通用I/0口輸出時(shí):是開漏輸出;

(5)作地址/數(shù)據(jù)總線口時(shí),P0是一真正雙向口,而作通用I/0口時(shí),只是一個(gè)準(zhǔn)雙

向口

二、Pin

1、結(jié)構(gòu)

(邏輯電路圖)

只能作I/o口用,且是一個(gè)準(zhǔn)雙向口。

內(nèi)部已有上拉電阻,不是開漏輸出口。

2、特點(diǎn)

(1)無地址/數(shù)據(jù)口功能

(2)可按字節(jié)尋址,也可按位尋址

(3)作I/0輸入口時(shí):是一準(zhǔn)雙向口,不是開漏輸出。

三、P2口

1、結(jié)構(gòu)

2、特點(diǎn)

(1)當(dāng)P2口作為通用I/0時(shí),是一準(zhǔn)雙向口。

(2)從P2口輸入數(shù)據(jù)時(shí),先向鎖存器寫“1”。

(3)可位尋址,也可按字節(jié)尋址

(4)可輸出地址高8位。

四、P3口

1、結(jié)構(gòu)圖

2、特點(diǎn)

(1)作通用I/0時(shí),“選擇輸出功能”應(yīng)保持高電平,

(2)工作于第二功能時(shí),該位鎖存器應(yīng)置1,

(3)作輸入口時(shí),輸出鎖存器和選擇輸出功能端都應(yīng)置1

(4)第二功能專用輸入,取自輸入通道第一緩沖器(G1)輸出端,通用輸入信號取自

“讀引腳”。

小結(jié):

1、P0口:地址低8位與數(shù)據(jù)線分時(shí)使用端口,

2、P1口:按位可編址的輸入輸出端口,

3、P2口:地址高8位輸出口

4、P3口:雙功能口。若不用第二功能,也可作通用I/0口。

5、按三總線劃分:

地址線:P0低八位地址,P2高八地址;

數(shù)據(jù)線:P0輸入輸出8位數(shù)據(jù);

控制線:P3口的8位加上/PSEN、ALE共同完成控制總線。

作業(yè):

第五講MCS-51指令系統(tǒng)及匯編語言程序設(shè)計(jì)

教學(xué)目的:

1、了解MCS-51指令的分類

2、掌握MCS-51匯編語言指令格式

3、訓(xùn)練掌握六種尋址方式

教學(xué)重點(diǎn):

六種尋址方式

教學(xué)難點(diǎn):

間接尋址、基址+變址尋址

板書課題:第三章MCS-51指令系統(tǒng)及匯編語言程序設(shè)計(jì)

§3-1匯編語言與指令系統(tǒng)簡介

一、匯編語言程序設(shè)計(jì)的意義

什么是程序?

完成某項(xiàng)特定任務(wù)的指令的集合。

計(jì)算機(jī)按程序一條一條地依次執(zhí)行指令,從而完成指定任務(wù)。

要讓計(jì)算機(jī)完成各項(xiàng)任務(wù),就應(yīng)設(shè)計(jì)各種程序。

程序設(shè)計(jì)語言:

機(jī)器語言

匯編語言

高級語言

匯編語言程序的每一條語句都與計(jì)算機(jī)的某一條指令對應(yīng),所以必需熟悉指令系統(tǒng)。

指令=操作碼+操

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論