《單片機控制技術》完整課件_第1頁
《單片機控制技術》完整課件_第2頁
《單片機控制技術》完整課件_第3頁
《單片機控制技術》完整課件_第4頁
《單片機控制技術》完整課件_第5頁
已閱讀5頁,還剩202頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

教學內容初識單片機單片機應用系統KeilμVision軟件的使用第1章單片機及其開發環境

初識單片機單片微型計算機(SingleChipMicrocomputer)簡稱單片機,是指集成在一個芯片上的微型計算機,它的各種功能部件,包括CPU(CentralProcessingUnit)、存儲器(memory)、基本輸入/輸出(Input/Output,簡稱I/O)接口電路、定時/計數器和中斷系統等,都制作在一塊集成芯片上,構成一個完整的微型計算機。由于它的結構與指令功能都是按照工業控制要求設計的,故又稱為微控制器(Micro-ControllerUnit,簡稱MCU)。初識單片機單片機內部結構

CPU

存儲器定時器/計數器

中斷系統P0-P3TxDRxD

TINT并行I/O口串行I/O口單片機應用系統

單片機應用系統單片機+接口電路及外設等+軟件硬件單片機應用系統由硬件和軟件組成硬件是應用系統的基礎軟件是在硬件的基礎上對其資源進行合理調配和使用,從而完成應用系統所要求的任務,二者相互依賴,缺一不可單片機應用系統

單片機種類

◆目前8位單片機仍是單片機的主流機型;◆生產廠商:◆單片機的發展經歷了由4位機到8位機,再到16位機的發展過程美國微芯片公司:PIC16C××系列、PIC17C××系列、PIC1400系列,美國英特爾公司的MCS-48和MCS-51系列,美國摩托羅拉公司的MC68HC05系列和MC68HC11系列,美國齊洛格公司的Z8系列,日本電氣公司的μPD78××系列,美國莫斯特克公司和仙童公司合作生產的F8(3870)系列等。

8051單片機的基本組成中央處理器CPU:8位,運算和控制功能內部RAM:共256個RAM單元,用戶使用前128個單元, 用于存放可讀寫數據,后128個單元被專用寄存器占用。內部ROM:4KB掩膜ROM,用于存放程序、原始數據和表格。定時/計數器:兩個16位的定時/計數器,實現定時或計數功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統:5個中斷源(外中斷2個,定時/計數中斷2個,串行中斷1個)時鐘電路:可產生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ在線仿真學習環境

KeilC51軟件的使用

KeilC51啟動窗口KeilC51軟件的使用

建立工程文件KeilC51軟件的使用

選擇目標CPUKeilC51軟件的使用

文本編緝窗口KeilC51軟件的使用

增加文件到組中KeilC51軟件的使用

選擇文件類型KeilC51軟件的使用

目標屬性KeilC51軟件的使用

產生執行文件KeilC51軟件的使用

選擇仿真方式KeilC51軟件的使用

KeilC51內建了一個仿真CPU來模擬執行程序,該仿真CPU功能強大,可以在沒有硬件和仿真器的情況下進行程序的調試。不過,軟件模擬與真實的硬件執行程序還是有區別的,其中最明顯的就是時序,具體表現在程序執行的速度和用戶使用的計算機有關,計算機性能越好,運行速度越快。

從外形和內部結構上,對微型計算機和單片機進行比較教學,介紹了單片機和單片機應用系統的基本概念,本章主要內容如下。單片機概念、特點與應用。單片機應用系統概念。單片機應用系統開發流程。單片機開發系統。μVision軟件的使用方法。本章小結教學內容單片機內部結構8051單片機引腳功能單片機存儲器結構時鐘電路與復位電路單片機并行I/O口第2章

單片機硬件系統單片機內部結構時鐘電路CPUROMRAMT0T1中斷系統串行接口并行接口P0P1P2P3TXDRXDINT0INT1定時計數器中央處理器CPU:8位,運算和控制功能內部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數據,后128個單元被專用寄存器占用。內部ROM:4KB掩膜ROM,用于存放程序、原始數據和表格。定時/計數器:兩個16位的定時/計數器,實現定時或計數功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統:5個中斷源(外中斷2個,定時/計數中斷2個,串行中斷1個)時鐘電路:可產生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ復位電路8051單片機信號引腳P3口線的第二功能VCCVSSXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1

P3.2P3.3P3.4P3.5P3.6P3.72、振蕩電路:XTAL1、XTAL23、復位引腳:RST4、并行口:P0、P1、P2、P37、ALE:地址鎖存控制信號1、電源線:VCC(+5V)、VSS(地)EAPSEN5、EA:訪問程序存儲控制信號6、PSEN:外部ROM讀選通信號RXD/

TXD/

INT0/INT1/

T0/

T1/

WR/

RD/1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C518051單片機引腳邏輯結構引腳第二功能第二功能信號名稱P3.0RXD串行數據接收P3.1TXD串行數據發送P3.2外部中斷0申請P3.3外部中斷1申請P3.4T0定時/計數器0的外部輸入P3.5T1定時/計數器1的外部輸入P3.6外部RAM或外部I/O寫選通P3.7外部RAM或外部I/O讀選通P3口各引腳與第二功能表時鐘電路與復位電路

時鐘振蕩電路時序

關于MCS-51系列單片機的時序概念有4個,可用定時單位來說明,從小到大依次是:節拍、狀態、機器周期和指令周期,下面分別加以說明。1)節拍與狀態把振蕩脈沖的周期定義為節拍,用P表示,也就是晶振的振蕩頻率fosc。2)狀態振蕩脈沖fosc經過二分頻后,就是單片機時鐘信號的周期,定義為狀態,用S表示。一個狀態包含兩個節拍,其前半周期對應的節拍叫P1,后半周期對應的節拍叫P2。3)機器周期

MCS-51系列單片機采用定時控制方式,有固定的機器周期。規定一個機器周期的寬度為6個狀態,即12個振蕩脈沖周期,因此機器周期就是振蕩脈沖的十二分頻。小提示當振蕩脈沖頻率為12MHz時,一個機器周期為1μs;當振蕩脈沖頻率為6MHz時,一個機器周期為2μs。單片機復位條件:必須使RST引腳持續2微秒高電平(外部時鐘12MHz)時鐘電路與復位電路

時鐘振蕩電路1

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

31302928272625242422211

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM62641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM6264

器80318751805189C51片內RAM片內ROM256B(字節)4K(1)程序存儲器程序存儲器內部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執行的起始單元,

在這三個單元存放一條

無條件轉移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位...0FFFH0FFEHEA=1EA=0程序存儲器資源分布中斷入口地址在單片機C語言程序設計中,用戶無需考慮程序的存放地址,編譯程序會在編譯過程中按照上述規定,自動安排程序的存放地址。例如:C語言是從main()函數開始執行的,編譯程序會在程序存儲器的0000H處自動存放一條轉移指令,跳轉到main()函數存放的地址;中斷函數也會按照中斷類型號,自動由編譯程序安排存放在程序存儲器相應的地址中。因此,讀者只需了解程序存儲器的結構就可以了。說明0000HFFFFH(64K)內部外部(2)數據存儲器數據存儲器00HFFH7FH80H(高128B)(低128B)RAM專用

寄存器00H07H08H0FH10H17H18H1FH0區R0R7R0R7R0R7R0R71區2區3區工作寄存器區可位尋址區20H2FH7F78070030H7FH數據緩沖區/堆棧區內部RAM存儲器

11第3區18H~1FH

01第1區08H~0FHRS1RS0寄存器區片內RAM地址

00第0區00H~07H10第2區10H~17H工作寄存器區選擇位RS0、RS1注意:一個單元地址對應有8個位地址

MSB——MostSignificantBit(最高有效位)

LSB——LeastSignificantBit(最低有效位)單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07

MSB

位地址

LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位尋址區位地址表高128個單元☆離散分布有21個特殊功能寄存器SFR。☆

11個可以進行位尋址。☆特別提示:對SFR只能使用直接尋址方式,書寫時可使用寄存器符號,也可用寄存器單元地址。在單片機的C語言程序設計中,可以通過關鍵字sfr來定義所有特殊功能寄存器,從而在程序中直接訪問它們,例如:sfrP1=0x90;//特殊功能寄存器P1的地址是90H,對應P1口的8個I/O引腳在程序中就可以直接使用P1這個特殊功能寄存器了,下面語句是合法的:P1=0x00;//將P1口的8位I/O口全部清0說明C語言中,還可以通過關鍵字sbit來定義特殊功能寄存器中的可尋址位,在程序ex1_1.c中,采用了下面語句定義P1口的第0位:sbitP1_0=P1^0;通常情況下,這些特殊功能寄存器已經在頭文件reg51.h中定義了,只要在程序中包含了該頭文件,就可以直接使用已定義的特殊功能寄存器。如果沒有頭文件reg51.h,或者該文件中只定義了部分特殊功能寄存器和位,用戶也可以在程序中自行定義。說明并行I/O口電路結構

MCS-51系列單片機共有四個8位并行I/O口,分別用P0、P1、P2、P3表示。每個I/O口既可以按位操作使用單個引腳,也可以按字節操作使用8個引腳。P0口的結構

輸出控制電路輸出驅動電路

當P0口作為輸出口使用時,內部總線將數據送入鎖存器,內部的寫脈沖加在鎖存器時鐘端CP上,鎖存數據到Q、端。經過MUX,T2反相后正好是內部總線的數據,送到P0口引腳輸出。當P0口作為輸入口使用時,應區分讀引腳和讀端口兩種情況,所謂讀引腳,就是讀芯片引腳的狀態,這時使用下方的數據緩沖器,由“讀引腳”信號把緩沖器打開,把端口引腳上的數據從緩沖器通過內部總線讀進來。讀端口是指通過上面的緩沖器讀鎖存器Q端的狀態。讀端口是為了適應對I/O口進行“讀-修改-寫”操作語句的需要。例如下面的C51語句:

P0=P0&0xf0; //將P0口的低4位引腳清0輸出P0口的結構

除了I/O功能以外,在進行單片機系統擴展時,P0口是作為單片機系統的地址/數據線使用的,一般稱為地址/數據分時復用引腳。當輸出地址或數據時,由內部發出控制信號,使“控制”端為高電平,打開與門,并使多路開關MUX處于內部地址/數據線與驅動場效應管柵極反相接通狀態。此時,輸出驅動電路由于兩個FET處于反相,形成推拉式電路結構,使負載能力大為提高。輸入數據時,數據信號直接從引腳通過輸入緩沖器進入內部總線。P0口的結構P1口的結構

P1口是準雙向口,只能作為通用I/O口使用。P1口作為輸出口使用時,無需再外接上拉電阻。P1口作為輸入口使用時,應區分讀引腳和讀端口。讀引腳時,必須先向電路中的鎖存器寫入“1”,使輸出級的FET截止。P1口的結構P2口的結構

P2口是準雙向口,在實際應用中,可以用于為系統提供高8位地址,也能作為通用I/O口使用。P2口作為通用I/O口的輸出口使用時,與P1口一樣無需再外接上拉電阻。P2口作為通用I/O口的輸入口使用時,應區分讀引腳和讀端口。讀引腳時,必須先向鎖存器寫入“1”。P2口的結構P3口的結構

P3口是準雙向口,可以作為通用I/O口使用,還可以作為第二功能使用。作為第二功能使用的端口,不能同時當作通用I/O口使用,但其他未被使用的端口仍可作為通用I/O口使用。P3口作為通用I/O的輸出口使用時,不用外接上拉電阻。P3口的結構本章小結

本章介紹單片機的硬件結構,為單片機應用系統設計打下硬件基礎,主要內容如下。單片機內部結構。單片機外部信號引腳功能。存儲器結構:片內128B數據存儲器、特殊功能存儲器SFR和程序存儲器。時鐘電路和復位電路:單片機最小系統電路。單片機并行I/O口結構。單片機并行I/O口的輸入和輸出功能應用。

教學內容認識C51語言C51數據類型C51運算符C51程序結構C51函數C51數組第3章C51程序設計基礎認識C語言

C語言程序以函數形式組織程序結構,C程序中的函數與其他語言中所描述的“子程序”或“過程”的概念是一樣的。C程序基本結構認識C語言一個C語言源程序是由一個或若干個函數組成,每一個函數完成相對獨立的功能。每個C程序都必須有(且僅有)一個主函數main(),程序的執行總是從主函數開始,調用其他函數后返回主函數main(),不管函數的排列順序如何,最后在主函數中結束整個程序。C語言程序中可以有預處理命令,預處理命令通常放在源程序的最前面。C語言程序使用“;”作為語句的結束符,一條語句可以多行書寫,也可以一行書寫多條語句。認識C語言結構化語言豐富的數據類型便于維護管理與匯編語言相比,C語言的優點如下:不要求編程者詳細了解單片機的指令系統,但需了解單片機的存儲器結構;寄存器分配、不同存儲器的尋址及數據類型等細節可由編譯器管理;結構清晰,程序可讀性強;編譯器提供了很多標準庫函數,具有較強的數據處理能力。認識C語言C51數據類型數據類型名稱長度值域unsignedchar無符號字符型單字節0~255signedchar有符號字符型單字節-128~+127unsignedint無符號整型雙字節0~65535signedint有符號整型雙字節-32768~+32767unsignedlong無符號長整型四字節0~4294967295signedlong有符號長整型四字節-2147483648~+2147483647float浮點型四字節±1.175494E-38~±3.402823E+38*指針型1~3字節對象的地址Bit位類型位0或1sfr特殊功能寄存器單字節0~255sfr1616位特殊功能寄存器雙字節0~65535sbit可尋址位位0或1常量和變量常量的值在程序執行期間是不能發生變化的;變量的值在程序執行期間可以發生變化。常量常量的值在程序執行期間是不能發生變化的。整型常量可以表示為十進制數、十六進制數或八進制數等,例如:十進制數12,-60等;十六進制數以0x開頭,如0x14、-0x1B等;八進制數以字母o開頭,如o14、o17等。浮點型常量可分為十進制表示形式和指數表示形式兩種,如0.888、3345.345、125e3、-3.0e-3。字符型常量是用單引號括起來的單一字符,如‘a’、‘9’等。字符串型常量是用雙引號括起來的一串字符,如“test”、“OK”等。位類型的值是一個二進制數。如1或0。變量變量是一種在程序執行過程中其值能不斷變化的量。一個變量由變量名和變量值組成,變量名是存儲單元地址的符號表示,而變量的值就是該單元存放的內容。變量必須先定義后使用,用標識符作為變量名,并指出所用的數據類型和存儲模式,這樣編譯系統才能為變量分配相應的存儲空間。變量voiddelay(unsignedchari)//延時函數1{

unsignedcharj,k;for(k=0;k<i;k++)for(j=0;j<255;j++);}=================================================voiddelay(unsignedinti) //延時函數2{

unsignedintk;for(k=0;k<i;k++);}分隔符為分號C51運算符

1.賦值運算符2.算術運算符和算術表達式3.關系運算符和關系表達4.邏輯運算符和邏輯表達式賦值運算符

賦值語句的作用是把某個常量或變量或表達式的值賦值給另一個變量。符號為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。賦值語句左邊必須是變量或寄存器,且必須先定義。常量不能出現左邊。賦值運算符和賦值表達式簡單的賦值運算符:復合的賦值運算符=+=、-=、*=、%=、/=i+=2等價于i=i+2a*=b+5等價于a=a*(b+5)x%=3等價于x=x%3算術運算符

+(加法運算)-(減法運算)*(乘法運算符)

/(除法運算符)%(求余運算符,或稱模運算符)如:4%2=0++(變量自加1)--(變量自減1)

注意兩個整數相除結果為整數,如8/5的結果為1,舍去小數部分。如果參加運算的兩個數中有一個數為實數,則結果是實型。求余運算要求%兩側都是整型數據。自增、自減運算實戰演練:請說明程序運行完后x,y,z,m,n的值分別是多少?main(){intx=6,y,z,m,n; y=++x; z=x--;m=y/z;n=y%z;}自增運算符(++)和自減運算符(--):(1)前置運算──++變量、--變量 即先增減、后運算。(2)后置運算──變量++、變量--即先運算、后增減。關系運算符關系運算符優先級

<<=>>===!=低高關系表達式

用關系運算符將兩個表達式(可以是算術表達式、關系表達式、賦值表達式或邏輯表達式)連接起來的式子,稱為關系表達式。關系表達式的值為邏輯值“真”或“假”,以1代表“真”,以0代表“假”。

例如:

(1)關系表達式“8==4”的值為

,表達式的值為

(2)關系表達式“5>0”的值為

,表達式的值為

邏輯運算符及其優先級

邏輯運算符優先級

!(邏輯非)

&&(邏輯與)||(邏輯或)注意:邏輯運算符與位操作運算符的區別。邏輯表達式

用邏輯運算符將一個或多個表達式連接起來,進行邏輯運算的式子。邏輯量的真判斷——非0邏輯量的假判斷——0若a=1,b=2,c=3,x=4,y=3,寫出下各個表達式的值:(1)a+b>c&&b==c(2)!a<b&&b!=c||x+y<=3(3)!(x=a)&&(y=b)&&0000運算類型運算符優先級結合性括號運算符()1從左至右邏輯非和按位取反!~2從右至左算術運算*/%3從左至右+-4從左至右左移、右移運算<<>>5從左至右關系運算<<=>>=6從左至右==!=7從左至右位運算&8從左至右^9從左至右|10從左至右邏輯與&&11從左至右邏輯或||12從左至右賦值運算與復合賦值運算

=+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=14從右至左例如:(1)x<y&&m<n等效于(x<y)&&(m<n)(2)a==b||c==d等效于(a==b)||(c==d)(3)!a&&b>c等效于(!a)&&(b>c)位運算與操作按位與操作符:&

格式:x&y

規則:對應位均為1時才為1,否則為0

例如,

i=i&0x0f;

等同于

i&=0x0f;主要用途:取(或保留)1個數的某(些)位,其余各位置0。位運算或操作按位或操作符:|

格式:x|y

規則:對應位均為0時才為0,否則為1

例如,

i=i|0x0f;

等同于

i|=0x0f;主要用途:將1個數的某(些)位置1,其余各位不變位運算異或操作按位異或操作符:^格式:x^y規則:對應位相同時為0,不同時為1

例如,

i=i^0x0f;

等同于

i^=0x0f;主要用途:使1個數的某(些)位翻轉(即原來為1的位變為0,為0的變為1),其余各位不變。位運算按位取反操作按位取反操作符:~格式:~x規則:各位翻轉,即原來為1的位變成0,原來為0的位變成1

例如,

i=~i;主要用途:間接地構造一個數,以增強程序的可移植性。左移運算符“<<”的功能,是把“<<”左邊的操作數的各二進制位全部左移若干位,移動的位數由“<<”右邊的常數指定,高位丟棄,低位補0。例如:“a<<4”是指把a的各二進制位向左移動4位。如a=00000011B(十進制數3),左移4位后為00110000B(十進制數48)。右移運算符“>>”的功能,是把“>>”左邊的操作數的各二進制位全部右移若干位,移動的位數由“>>”右邊的常數指定。進行右移運算時,如果是無符號數,則總是在其左端補“0”位運算練習1.若x=10,則!X的值為真或假?2.若a=3,b=2,則if(a&b)的值為真或假?3.5&&0||8的值為?4.5>3&&4||8<4的結果為?C51程序結構C語言程序的執行部分由語句組成。C語言提供了豐富的程序控制語句,按照結構化程序設計的基本結構:順序結構、選擇結構和循環結構,組成各種復雜程序。這些語句主要包括表達式語句、復合語句、選擇語句和循環語句等。表達式語句和復合語句

表達式語句是最基本的C語言語句。表達式語句由表達式加上分號“;”組成,其一般形式如下:

表達式;執行表達式語句就是計算表達式的值。在C語言中有一個特殊的表達式語句,稱為空語句。空語句中只有一個分號“;”,程序執行空語句時需要占用一條指令的執行時間,但是什么也不做。在C51程序中常常把空語句作為循環體,用于消耗CPU時間等待事件發生的場合。表達式語句和復合語句

把多個語句用大括號{}括起來,組合在一起形成具有一定功能的模塊,這種由若干條語句組合而成的語句塊稱為復合語句。在程序中應把復合語句看成是單條語句,而不是多條語句。復合語句在程序運行時,{}中的各行單語句是依次順序執行的。在C語言的函數中,函數體就是一個復合語句。選擇語句

基本if語句的格式如下:if(表達式){

語句組;

}if語句執行過程:當“表達式”的結果為“真”時,執行其后的“語句組”,否則跳過該語句組,繼續執行下面的語句。

選擇語句

if語句中的“表達式”通常為邏輯表達式或關系表達式,也可以是任何其他的表達式或類型數據,只要表達式的值非0即為“真”。以下語句都是合法的:

if(3){……}if(x=8){……}if(P3_0){……}在if語句中,“表達式”必須用括號括起來。在if語句中,花括號“{}”里面的語句組如果只有一條語句,可以省略花括號。如“if(P3_0==0)P1_0=0;”語句,但是為了提高程序的可讀性和防止程序書寫錯誤,建議讀者在任何情況下,都加上花括號。選擇語句

if-else語句的一般格式如下:if(表達式) {

語句組1;

} else{

語句組2;

}if-else語句執行過程:當“表達式”的結果為“真”時,執行其后的“語句組1”,否則執行“語句組2”選擇語句

if-else-if語句是由ifelse語句組成的嵌套,用來實現多個條件分支的選擇,其一般格式如下:if(表達式1) {

語句組1;

} elseif(表達式2){

語句組2;

} …elseif(表達式n){

語句組n;

}else{

語句組n+1;

}選擇語句

選擇語句

多分支選擇的switch語句,其一般形式如下:

switch(表達式){ case常量表達式1:語句組1;break; case常量表達式2:語句組2;break; …… case常量表達式n:語句組n;break; default:語句組n+1;}該語句的執行過程是:首先計算表達式的值,并逐個與case后的常量表達式的值相比較,當表達式的值與某個常量表達式的值相等時,則執行對應該常量表達式后的語句組,再執行break語句,跳出switch語句的執行,繼續執行下一條語句。如果表達式的值與所有case后的常量表達式均不相同,則執行default后的語句組。while語句用來實現“當型”循環,執行過程:首先判斷表達式,當表達式的值為真(非0)時,反復執行循環體。為假(0)時執行循環體外面的語句。循環體循環繼續的條件表達式下一條語句非0(真)0(假)循環體語句組while執行過程格式:while(循環繼續的條件表達式)

{語句組;}花括號不能丟掉!請問:下述程序實現了什么功能?main(){inti,sum=0;while(i<=10){sum=sum+i;i++;}}循環語句

do-while語句用來實現“直到型”循環執行過程:先無條件執行一次循環體,然后判斷條件表達式,當表達式的值為真(非0)時,返回執行循環體直到條件表達式為假(0)為止。絕對不能少分號!循環體格式:do{

循環體語句組;

}while(循環繼續條件);花括號不能丟掉!循環繼續的條件表達式下一條語句非0(真)0(假)循環體語句組請問:下述程序實現了什么功能?main(){inti,sum=0;do{sum=sum+i;i++;}while(i<=100);}循環語句

總循環次數已確定的情況下,可采用for語句形式為:for語句的一般形式:

for(循環變量賦初值;循環繼續條件;循環變量增值)

{

循環體語句組;

} 分隔符為分號請問:下述程序實現了什么功能?main(){inti,y=0;for(i=1;i<=10;i++){y=y+i;}}循環語句

循環繼續條件for的下一條語句非0(真)0(假)循環體語句組循環變量賦初值循環變量增值for語句循環執行過程只求解一次要執行若干次,具體次數由“循環繼續條件”決定for語句不僅可用于循環次數已經確定的情況,也可用于循環次數雖不確定,但給出了循環繼續條件的情況,它完全可以代替while語句和do-while語句。for(循環變量賦初值;循環繼續條件;循環變量增值)

{循環體語句組;} 在C語言程序中,子程序的作用是由函數來實現的,函數是C語言的基本組成模塊,一個C語言程序就是由若干個模塊化的函數組成的。C程序都是由一個主函數main()和若干個子函數構成,有且只有一個主函數,程序由主函數開始執行,主函數根據需要來調用其他函數,其它函數可以有多個。C語言的函數1.標準庫函數標準庫函數是由C51的編譯器提供的,用戶不必定義這些函數,可以直接調用。KEILC51編譯器提供了100多個庫函數供我們使用。常用的C51庫函數包括一般I/O口函數、訪問SFR地址函數等,在C51編譯環境中,以頭文件的形式給出。2.用戶自定義函數用戶自定義函數是用戶根據需要自行編寫的函數,它必須先定義之后才能被調用。C51函數分類和定義函數定義的一般形式是:函數類型函數名(形式參數表)形式參數說明{局部變量定義函數體語句}

其中,“函數類型”說明了自定義函數返回值的類型。“函數名”是自定義函數的名字。“形式參數表”給出函數被調用時傳遞數據的形式參數,形式參數的類型必須要加以說明。ANSIC標準允許在形式參數表中對形式參數的類型進行說明。如果定義的是無參數函數,可以沒有形式參數表,但是圓括號不能省略。“局部變量定義”是對在函數內部使用的局部變量進行定義。“函數體語句”是為完成函數的特定功能而設置的語句。函數分類和定義

函數調用就是在一個函數體中引用另外一個已經定義的函數,前者稱為主調用函數,后者稱為被調用函數,函數調用的一般格式為: 函數名(實際參數列表);對于有參數類型的函數,若實際參數列表中有多個實參,則各參數之間用逗號隔開。實參與形參順序對應,個數應相等,類型應一致。函數調用

在一個函數中調用另一個函數需要具備如下條件:(1)被調用函數必須是已經存在的函數(庫函數或者用戶自己已經定義的函數。如果函數定義在調用之后,那么必須在調用之前(一般在程序頭部)對函數進行聲明。(2)如果程序使用了庫函數,則要在程序的開頭用#include預處理命令將調用函數所需要的信息包含在本文件中。如果不是在本文件中定義的函數,那么在程序開始要用extern修飾符進行函數原型說明。函數調用分隔符為分號數組的概念

數組屬于常用的數據類型,數組中的元素有固定數目和相同類型,數組元素的數據類型就是該數組的基本類型。例如,整型數據的有序集合稱為整型數組,字符型數據的有序集合稱為字符型數組。數組還分為一維、二維、三維和多維數組等,常用的是一維、二維和字符數組。

數組的基本特點構造類形數據:由基本類型數據按照一定規則組成。數組:是有序數據的集合;數組中的每一個元素都屬于同一個數據類型,用一個統一的數組名和下標來唯一地確定數組中的元素。應用場合:需要處理的數據為數量已知的若干相同類型的數據時。

注意:先定義,后使用。一維數組的定義和引用一維數組的定義:一般格式:類型標識符數組名[常量表達式];

int

array[10];

unsignedchar

num[7];說明:數組名——見名知意;數組名中存放的是一個地址常量,它代表整個數組的首地址。同一數組中的所有元素,按其下標的順序占用一段連續的存儲單元。方括弧而非圓括弧;常量表達式:可以是常量或符號常量;表示數組元素的個數(也稱數組長度)。不允許對數組大小作動態定義。數組元素下標從0開始。array[0],array[1],…array[9];遵循標識符命名規則數組元素的表達形式:數組名[下標表達式]Array[4]=100;array[8]=34;array[10]=56;注意:數組下標不能越界!一個數組元素具有和相同類型單個變量一樣的屬性,可以對它賦值和參與各種運算。一維數組的引用一般格式:

數據類型數組名[常量表達式]={初值表}1.定義時賦初值;intscore[5]={1,2,3,4,5};2.給一部分元素賦值;intscore[5]={1,2};3.使所有元素為0;intscore[5]={0};4.給全部數組元素賦初值時,可以不指定數組長度;

intscore[]={1,2,3,4,5};一維數組的初始化一般格式:

數據類型數組名[常量表達式]={初值表}1.定義時賦初值;intscore[5]={1,2,3,4,5};2.給一部分元素賦值;intscore[5]={1,2};3.使所有元素為0;intscore[5]={0};4.給全部數組元素賦初值時,可以不指定數組長度;

intscore[]={1,2,3,4,5};一維數組的初始化一般格式:

數據類型數組名[常量表達式]={初值表}1.定義時賦初值;intscore[5]={1,2,3,4,5};2.給一部分元素賦值;intscore[5]={1,2};3.使所有元素為0;intscore[5]={0};4.給全部數組元素賦初值時,可以不指定數組長度;

intscore[]={1,2,3,4,5};一維數組的初始化

本章介紹C51語言的基礎知識,并通過大量應用實例,訓練讀者使用C51進行結構化程序設計的方法。主要內容如下。C51的數據類型和運算符。C51的表達式語句與順序程序結構。由選擇語句if語句、switch語句構成的選擇程序結構。由循環控制語句while、do-while和for語句構成的循環程序結構。C51的函數:庫函數與自定義函數,包括聲明和調用函數的方法。C51的數組及其編程方法。本章小結

本章內容定時器/計數器工作原理

定時器/計數器的工作方式定時器/計數器的應用第4章

定時器與計數器定時器/計數器工作原理

單片機定時器/計數器

8051單片機內部有兩個16位的可編程定時/計數器,稱為T0(T0)和T1(T1)單片機定時器/計數器

8051定時器/計數器邏輯結構單片機定時器/計數器

設置定時/計數器工作方式通過對方式寄存器TMOD的設置,確定相應的定時/計數器是定時功能還是計數功能,工作方式以及啟動方法。定時/計數器工作方式有四種:方式0、方式1、方式2和方式3。定時/計數器啟動方式有兩種:軟件啟動和硬軟件共同啟動。除了從控制寄存器TCON發出的軟件啟動信號外,還有外部啟動信號引腳,這兩個引腳也是單片機的外部中斷輸入引腳。單片機定時器/計數器

設置計數初值T0、T1是16位加法計數器,分別由兩個8位專用寄存器組成,T0由TH0和TL0組成,T1由TH1和TL1組成。TL0、TL1、TH0、TH1的訪問地址依次為8AH

8DH,每個寄存器均可被單獨訪問,因此可以被設置為8位、13位或16位計數器使用。在計數器允許的計數范圍內,計數器可以從任何值開始計數,對于加1計數器,當計到最大值時(對于8位計數器,當計數值從255再加1時,計數值變為0),產生溢出。定時/計數器允許用戶編程設定開始計數的數值,稱為賦初值。初值不同,則計數器產生溢出時,計數個數也不同。例如:對于8位計數器,當初值設為100時,再加1計數156個,計數器就產生溢出;當初值設為200時,再加1計數56個,計數器產生溢出。

單片機定時器/計數器

啟動定時/計數器根據設置的定時/計數器啟動方式,啟動定時/計數器。如果采用軟件啟動,則需要把控制寄存器中的TR0或TR1置1;如果采用硬軟共同啟動方式,不僅需要把控制寄存器中的TR0或TR1置1,還需要相應外部啟動信號為高電平。定時器的方式寄存器TMOD作用:TMOD用來確定兩個定時器的工作方式。低半字節設置定時器T0,高半字節設置定時器T1。字節地址:89H,不可以位尋址。格式:D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0

定時器1定時器0各位的含義:C/T:功能選擇位。0為定時器方式;1為計數器方式。M1,M0:方式選擇位。可以選擇為四種工作方式0、1、2、3之1。四種工作方式的區別后面講解。GATE:門控位。0:只要軟件控制位TR0或TR1置1即可啟動定時器開始工作;1:只有INT0或INT1引腳為高電平,且TR0或TR1置1時,才能啟動相應的定時器開始工作。返回TF0TH0TL012分頻OSC

中斷高8位低5位控制+T0(P3.4)TR0GATEINT0(P3.2)C/T=0C/T=1例如:設定時器T0為定時工作方式,要求用軟件啟動定時器T0工作,按方式1工作;定時器T1為計數工作方式,要求軟件啟動,工作方式為方式2。則根據TMOD各位的定義可知,其控制字為:

即控制字為61H,其指令形式為:

MOVTMOD,#61H格式:D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M001100001定時器的控制寄存器TCON作用:TMOD用來控制兩個定時器的啟動、停止,表明定時器的溢出、中斷情況。字節地址:0x88,可以位尋址。系統復位時,所有位均清零。格式:D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0各位的含義:TCON中的低4位與中斷有關,在中斷章節中討論。TF1(8FH):定時器1溢出標志。計滿后自動置1。TR1(8EH):定時器1運行控制位。由軟件清零關閉定時器1。當GATE=0時,TR1軟件置1即啟動定時器1。(SETBTR1)當GATE=1時,且INT1為高電平時,TR1置1啟動定時器1;定時器的四種工作方式方式的選擇:根據M1,M0來選擇。

00:方式001:方式110:方式211:方式3主要特點:方式0:13位定時器。TH0的8位+TL0的低5位方式1:16位定時器。TH0的8位+TL0的8位方式2:能重復置初始值的8位定時器。TL0和TH0必須賦相同的值。方式3:只適用于定時器0,T0被拆成兩個獨立的8位定時器TL0,TH0。其中:TL0與方式0、1相同,可定時或計數。用定時器T0的

GATE、C/T、TR0、TF0、T0、和INT0控制。

TH0只可用作簡單的內部定時功能。占用T1的控制位TF1、TR1和INT1,啟動關閉僅受TR1控制。定時器的方式0、1示意圖返回TF0TH0TL012分頻OSC

中斷高8位8位或低5位控制+T0(P3.4)TR0GATEINT0(P3.2)C/T=0C/T=1定時器的方式2示意圖TH08位8位TL012分頻OSC

控制+T0(P3.4)TR0GATEINT0(P3.2)C/T=0C/T=11中斷TF00溢出定時器的初始值的計算對于不同的工作方式,計數器位數不同,故最大計數值M也不同:

方式0:M=213=8192

方式1:M=216=65536

方式2:M=28=256

方式3:定時器0分為2個8位計數器,每個M均為256。因為定時/計數器是作加1計數,并在計滿溢出時產生中斷,因此初值X的計算如下:

X=M–計數值計算出來的結果X轉換為16進制數后分別寫入TL0(TL1)、TH0(TH1)。注意!方式0時初始值寫入時,對于TL不用的高3位應填入0!用T1、工作方式0實現1秒延時函數,晶振頻率為12MHz。方式0采用13位計數器,其最大定時時間為:8192×1

s=8.192ms,因此,定時時間不可能象任務7中一樣選擇50ms,可選擇定時時間為5ms,再循環200次。定時時間為5ms,則計數值為5ms/1

s=5000,T1的初值為:

X=M

計數值=8192

5000=3192=C78H=0110001111000B13位計數器中TL1的高3位未用,填寫0,TH1占高8位,所以,X的實際填寫值應為:X=0110001100011000B=6318H舉例1用T1方式0實現任務7中1秒延時函數如下:voiddelay1s(){unsignedchari;TMOD=0x00; //置T1為工作方式0for(i=0;i<0xc8;i++){ //設置200次循環次數

TH1=0x63; //設置定時器初值

TL1=0x18;TR1=1; //啟動T1while(!TF1);//查詢計數是否溢出,即定時5ms時間到,TF1=1TF1=0; //5ms定時時間到,將定時器溢出標志位TF1清零

}}舉例1用T1、工作方式2實現1秒延時,晶振頻率為12MHz。因工作方式2是8位計數器,其最大定時時間為:256×1

s=256

s,為實現1秒延時,可選擇定時時間為250

s,再循環4000次。定時時間選定后,可確定計數值為250,則T1的初值為:X=M

計數值=256

250=6=6H。采用T1方式2工作,因此,TMOD=0x20。舉例2用定時器工作方式2實現的1秒延時函數如下:voiddelay1s(){unsignedinti; //i取值范圍為0~4000,因此不能定義成unsignedcharTMOD=0x20; //設置T1為方式2TH1=6; //設置定時器初值,放在for循環之外

TL1=6;for(i=0;i<4000;i++){ //設置4000次循環次數

TR1=1; //啟動T1while(!TF1);//查詢計數是否溢出,即定時250

s時間到,TF1=1TF1=0; //250

s定時時間到,將定時器溢出標志位TF1清零

}}舉例2本章介紹了單片機內部定時器/計數器的組成、工作原理、編程方式和工作方式等,并給出了定時、計數等應用實例。本章主要內容如下。定時器/計數器的組成:T0、T1、TCON和TMOD。定時器/計數器的工作原理和編程控制方法。TCON和TMOD。定時器/計數器查詢方式編程步驟。4種工作方式及應用。定時器/計數器的應用實例。本章小結

本章內容什么是中斷單片機中斷系統結構中斷處理過程第5章

中斷系統中斷是指通過硬件來改變CPU的運行方向。計算機在執行程序的過程中,外部設備向CPU發出中斷請求信號,要求CPU暫時中斷當前程序的執行而轉去執行相應的處理程序,待處理程序執行完畢后,再繼續執行原來被中斷的程序。這種程序在執行過程中由于外界的原因而被中間打斷的情況稱為“中斷”。

什么是中斷(1)中斷服務程序:CPU響應中斷后,轉去執行相應的處理程序,該處理程序通常稱之為中斷服務程序。(2)主程序:原來正常運行的程序稱為主程序。(3)斷點:主程序被斷開的位置(或地址)稱為斷點。(4)中斷源:引起中斷的原因,或能發出中斷申請的來源,稱為中斷源。(5)中斷請求:中斷源要求服務的請求稱為中斷請求(或中斷申請。

中斷基本概念同步工作異常處理實時處理中斷特點單片機中斷系統的結構51中斷系統內部結構示意圖51系列單片機中斷源序號中斷源說明1外部中斷0請求由P3.2引腳輸入,通過IT0位(TCON.0)來決定是低電平有效還是下降沿有效。一旦輸入信號有效,即向CPU申請中斷,并建立IE0(TCON.1)中斷標志。任務9中采用下降沿有效,由按鍵產生下降沿。2外部中斷1請求由P3.3引腳輸入,通過IT1位(TCON.2)來決定是低電平有效還是下降沿有效。一旦輸入信號有效,即向CPU申請中斷,并建立IE1(TCON.3)中斷標志。3TF0T0溢出中斷請求當T0產生溢出時,T0溢出中斷標志位TF0(TCON.5)置位(由硬件自動執行),請求中斷處理。4TF1T1溢出中斷請求當T1產生溢出時,T1溢出中斷標志位TF1(TCON.7)置位(由硬件自動執行),請求中斷處理。5RI或TI串行口中斷請求當接收或發送完一個串行幀時,內部串行口中斷請求標志位RI(SCON.0)或TI(SCON.1)置位(由硬件自動執行),請求中斷。中斷標志中斷標志位位名稱說明TF1T1溢出中斷標志TCON.7T1被啟動計數后,從初值開始加1計數,計滿溢出后由硬件置位TF1,同時向CPU發出中斷請求,此標志一直保持到CPU響應中斷后才由硬件自動清0。也可由軟件查詢該標志,并由軟件清0。前述的定時器編程都是采用查詢方式實現。TF0T0溢出中斷標志TCON.5T0被啟動計數后,從初值開始加1計數,計滿溢出后由硬件置位TF0,同時向CPU發出中斷請求,此標志一直保持到CPU響應中斷后才由硬件自動清0。也可由軟件查詢該標志,并由軟件清0。IE1中斷標志TCON.3IE1=1,外部中斷1向CPU申請中斷。IT1中斷觸發方式控制位TCON.2當IT1=0,外部中斷1控制為電平觸發方式;當IT1=1,外部中斷1控制為邊沿(下降沿)觸發方式。IE0中斷標志TCON.1IE0=1,外部中斷0向CPU申請中斷。IT0中斷觸發方式控制位TCON.0當IT0=0,外部中斷0控制為電平觸發方式;當IT0=1,外部中斷0控制為邊沿(下降沿)觸發方式。TI串行發送中斷標志SCON.1CPU將數據寫入發送緩沖器SBUF時,啟動發送,每發送完一個串行幀,硬件都使TI置位;但CPU響應中斷時并不自動清除TI,必須由軟件清除。RI串行接收中斷標志SCON.0當串行口允許接收時,每接收完一個串行幀,硬件都使RI置位;同樣,CPU在響應中斷時不會自動清除RI,必須由軟件清除。中斷的開放和禁止MCS-51系列單片機的5個中斷源都是可屏蔽中斷,中斷系統內部設有一個專用寄存器IE,用于控制CPU對各中斷源的開放或屏蔽。IE寄存器格式如下:EA××ESET1EX1ET0EX0D7D6D5D4D3D2D1D0IE(A8H)中斷的開放和禁止中斷允許位位名稱說明EA總中斷允許控制位IE.7EA=1,開放所有中斷,各中斷源的允許和禁止可通過相應的中斷允許位單獨加以控制;EA=0,禁止所有中斷。ES串行口中斷允許位IE.4ES=1,允許串行口中斷;ES=0禁止串行口中斷。ET1T1中斷允許位IE.3ET1=1,允許T1中斷;ET1=0,禁止T1中斷。EX1)中斷允許位IE.2EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。ET0T0中斷允許位IE.1ET0=1,允許T0中斷;ET0=0,禁止T0中斷。EX0)中斷允許位IE.0EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。中斷優先級MCS-51系列單片機有兩個中斷優先級:高優先級和低優先級。每個中斷源都可以通過設置中斷優先級寄存器IP確定為高優先級中斷或低優先級中斷,實現二級嵌套。同一優先級別的中斷源可能不止一個,因此,也需要進行優先權排隊。同一優先級別的中斷源采用自然優先級。中斷優先級寄存器IP,用于鎖存各中斷源優先級控制位。IP中的每一位均可由軟件來置1或清0,1表示高優先級,0表示低優先級。中斷優先級中斷優先級控制位位名稱說明PS串行口中斷優先控制位IP.4PS=1,設定串行口為高優先級中斷;PS=0,設定串行口為低優先級中斷。PT1定時器T1中斷優先控制位IP.3PT1=1,設定定時器T1為高優先級中斷;PT1=0,設定定時器T1為低優先級中斷。PX1外部中斷1中斷優先控制位IP.2PX1=1,設定外部中斷1為高優先級中斷;PX1=0,設定外部中斷1為低優先級中斷。PT0T0中斷優先控制位IP.1PT0=1,設定定時器T0為高優先級中斷;PT0=0,設定定時器T0為低優先級中斷。PX0外部中斷0中斷優先控制位IP.0PX0=1,設定外部中斷0為高優先級中斷;PX0=0,設定外部中斷0為低優先級中斷。中斷處理過程中斷響應中斷響應是指CPU對中斷源中斷請求的響應。CPU并非任何時刻都能響應中斷請求,而是在滿足所有中斷響應條件、且不存在任何一種中斷阻斷情況時才會響應。CPU響應中斷的條件有:①有中斷源發出中斷請求;②中斷總允許位EA置1;③申請中斷的中斷源允許位置1。CPU響應中斷的阻斷情況有:①CPU正在響應同級或更高優先級的中斷;②當前指令未執行完;③正在執行中斷返回或訪問寄存器IE和IP。中斷處理過程中斷響應過程就是自動調用并執行中斷函數的過程。C51編譯器支持在C源程序中直接以函數形式編寫中斷服務程序。常用的中斷函數定義語法如下:

void函數名()interruptn

其中n為中斷類型號,C51編譯器允許0~31個中斷,n取值范圍0~31。下面給出了8051控制器所提供的5個中斷源所對應的中斷類型號和中斷服務程序入口地址:

中斷源 n入口地址 外部中斷0 0 0003H

定時/計數器01 000BH

外部中斷1 2 0013H

定時/計數器1 3 001BH

串行口 4 0023H中斷處理過程中斷響應時間中斷響應時間是指從中斷請求標志位置位到CPU開始執行中斷服務程序的第一條語句所需要的時間。1)中斷請求不被阻斷的情況外部中斷響應時間至少需要3個機器周期,這是最短的中斷響應時間。一般來說,若系統中只有一個中斷源,則中斷響應時間為3

8個機器周期。2)中斷請求被阻斷的情況如果系統不滿足所有中斷響應條件、或者存在任何一種中斷阻斷情況,那么中斷請求將被阻斷,中斷響應時間將會延長。本章小結

本章介紹了中斷及相關概念、單片機內部中斷系統組成、中斷處理過程等,并給出了外部中斷、定時器/計數器中斷應用實例。本章主要內容如下。中斷、中斷源、主程序、中斷服務程序、中斷請求、中斷響應等概念。中斷系統的組成。單片機中斷系統的中斷源、中斷請求標志、中斷允許控制、中斷優先級別和中斷嵌套等。中斷響應條件、中斷響應過程、中斷響應時間和中斷請求的撤除方法。中斷編程應用實例。

教學內容單片機與LED數碼管接口設計單片機與點陣顯示器接口設計單片機與字符LCD液晶顯示接口設計單片機與鍵盤接口設計第6章人機交互接口設計認識LED數碼管LED數碼管結構及原理

認識LED數碼管LED數碼管結構及原理

單片機與LED數碼管接口LED數碼管字型編碼若將數值0送至單片機的P1口,數碼管上不會顯示數字“0”。顯然,要使數碼管顯示出數字或字符,直接將相應的數字或字符送至數碼管的段控制端是不行的,必須使段控制端輸出相應的字形編碼。將單片機P1口的P1.0、P1.1…P1.7八個引腳依次與數碼管的a、b…f、dp八個段控制引腳相連接。如果使用的是共陽極數碼管,COM端接+5V,要顯示數字“0”,則數碼管的a、b、c、d、e、f六個段應點亮,其它段熄滅,需向P1口傳送數據11000000B(C0H),該數據就是與字符“0”相對應的共陽極字型編碼。若共陰極的數碼管COM端接地,要顯示數字“1”,則數碼管的b、c兩段點亮,其他段熄滅,需向P1口傳送數據00000110(06H),這就是字符“1”的共陰極字型碼了。單片機與LED數碼管接口LED靜態顯示靜態顯示是指數碼管顯示某一字符時,相應的發光二極管恒定導通或恒定截止。這種顯示方式的各位數碼管的公共端恒定接地(共陰極)或+5V(共陽極)。每個數碼管的八個段控制引腳分別與一個八位I/O端口相連。只要I/O端口有顯示字型碼輸出,數碼管就顯示給定字符,并保持不變,直到I/O口輸出新的段碼。

單片機與LED數碼管接口LED靜態顯示單片機與LED數碼管接口LED動態顯示單片機與LED數碼管接口LED動態顯示動態顯示是一種按位輪流點亮各位數碼管的顯示方式,即在某一時段,只讓其

溫馨提示

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

評論

0/150

提交評論