版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
學習情境一顯示系統(tǒng)設計與制作第1頁,課件共138頁,創(chuàng)作于2023年2月【訓練項目1-1】跑馬燈的設計與制作一、項目要求在Proteus仿真軟件和單片機實訓板上實現(xiàn)8位LED的跑馬燈效果,跑馬方式可以采用“自上到下的循環(huán)”、“自下到上的循環(huán)”、“兩頭到中間再中間到兩頭循環(huán)”等等。學生能采用單片機的P0、P1、P2、P3的任意端口控制8位LED,實現(xiàn)單燈閃爍和跑馬效果,并能控制它們的速度。第2頁,課件共138頁,創(chuàng)作于2023年2月二、項目實訓儀器、設備及實訓材料工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量電腦1臺51單片機下載線和USB線1根杜邦導線8PKeiluVision41套晶振1只AT89S51/STC60S21片Proteus7.5軟件1套單片機實訓板1塊穩(wěn)壓電源1臺三、項目實施過程及其步驟任務1控制一個LED閃爍任務描述:采用單片機的P0.x、P1.x、P2.x、P3.x的任意端口控制一個LED,在Proteus軟件和單片機實訓板上,實現(xiàn)LED閃爍,并能控制閃爍速度。第3頁,課件共138頁,創(chuàng)作于2023年2月任務2
制作8位LED跑馬燈任務描述:采用單片機的P0、P1、P2、P3的任意端口控制8位LED,在Proteus軟件和單片機實訓板上,制作8位LED的跑馬燈,并能控制LED跑馬速度。四、思考與分析(1)調(diào)試程序時,黃色箭頭指向的當前行代碼有沒有執(zhí)行?(2)繪制任務1和2的程序運行軌跡,即黃色箭頭在程序代碼行走的軌跡。(3)改變跑馬燈循環(huán)閃爍方式,如:自下向上循環(huán)、自兩頭向中間再向兩頭循環(huán)等。第4頁,課件共138頁,創(chuàng)作于2023年2月1.1什么是單片機單片微型計算機(SingleChipMicrocomputer)簡稱單片機,是指集成在一個芯片上的微型計算機,它的各種功能部件,包括CPU(CentralProcessingUnit)、存儲器(memory)、基本輸入/輸出(Input/Output,簡稱I/O)接口電路、定時/計數(shù)器和中斷系統(tǒng)等,都制作在一塊集成芯片上,構成一個完整的微型計算機。由于它的結構與指令功能都是按照工業(yè)控制要求設計的,故又稱為微控制器(Micro-ControllerUnit,簡稱MCU)。第5頁,課件共138頁,創(chuàng)作于2023年2月
CPU
存儲器定時器/計數(shù)器
中斷系統(tǒng)P0-P3TxDRxD
TINT并行I/O口串行I/O口單片機的基本結構第6頁,課件共138頁,創(chuàng)作于2023年2月單片機種類
◆目前8位單片機仍是單片機的主流機型;◆生產(chǎn)廠商:◆單片機的發(fā)展經(jīng)歷了由4位機到8位機,再到16位機的發(fā)展過程美國微芯片公司:PIC16C××系列、PIC17C××系列、PIC1400系列,美國英特爾公司的MCS-48和MCS-51系列,美國摩托羅拉公司的MC68HC05系列和MC68HC11系列,美國齊洛格公司的Z8系列,日本電氣公司的μPD78××系列,美國莫斯特克公司和仙童公司合作生產(chǎn)的F8(3870)系列等。
第7頁,課件共138頁,創(chuàng)作于2023年2月型號Flash(KB)RAM(B)EEPROM(KB)I/O引腳UART個數(shù)定時器個數(shù)WDTA/D路/位fmax(MHz)AT20512128--1512----24AT89S514128--3212Yes--33AT89S528256---3213Yes--33AT89S82531225623213Yes--33STC011256--1622Yes--35STC044256--4022Yes--35STC60S260128014034Yes8/1035STC12LE16S2161280454034Yes8/1035Atmel和STC單片機選型比較第8頁,課件共138頁,創(chuàng)作于2023年2月1.28051內(nèi)核單片機的引腳及內(nèi)部結構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
313029282726252424222180318051875189C51第9頁,課件共138頁,創(chuàng)作于2023年2月引腳名稱(序號)第二功能第二功能描述P3.0(10)RXD串行數(shù)據(jù)接收端口P3.1(11)TXD串行數(shù)據(jù)發(fā)送端口P3.2(12)/INT0外部中斷0輸入端口P3.3(13)/INT1外部中斷1輸入端口P3.4(14)T0定時/計數(shù)器0的輸入端口P3.5(15)T1定時/計數(shù)器1的輸入端口P3.6(16)/WR外部RAM或外部I/O寫選通端口P3.7(17)/RD外部RAM或外部I/O讀選通端口P3端口的第二功能第10頁,課件共138頁,創(chuàng)作于2023年2月1.2.2單片機的內(nèi)部結構第11頁,課件共138頁,創(chuàng)作于2023年2月單片機硬件結構時鐘電路CPUROMRAMT0T1中斷系統(tǒng)串行接口并行接口P0P1P2P3TXDRXDINT0INT1定時計數(shù)器中央處理器CPU:8位,運算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ復位電路第12頁,課件共138頁,創(chuàng)作于2023年2月8051單片機的基本組成中央處理器CPU:8位,運算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元, 用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ第13頁,課件共138頁,創(chuàng)作于2023年2月振蕩電路
(1)時鐘產(chǎn)生方式(a)內(nèi)部方式
(b)外部方式第14頁,課件共138頁,創(chuàng)作于2023年2月(2)基本時序周期①振蕩周期為晶振的振蕩頻率,則振蕩周期為1/6μs。②時鐘周期為振蕩周期的兩倍,則時鐘周期為1/3μs。③機器周期為時鐘周期的六倍,則機器周期為2μs。④指令周期為完成一條指令所花費的時間。一般匯編語言指令周期1~4個機器周期,對于C語言來說,每條語句來花費多少個指令周期是比較難計算,而且也沒有計算的意義,所以一般只要大家記住振蕩周期越?。ɑ蛘袷庮l率越高),執(zhí)行C語言語句的時間就越短。另外,對于STC12C5A60S2單片機來說,其是單時鐘/機器周期單片機,所以它比AT89S51/52單片機要快8~12倍。第15頁,課件共138頁,創(chuàng)作于2023年2月單片機復位條件:必須使RST引腳持續(xù)2微秒高電平(外部時鐘12MHz)復位電路第16頁,課件共138頁,創(chuàng)作于2023年2月1.38051內(nèi)核單片機的存儲器結構程序存儲器內(nèi)部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執(zhí)行的起始單元,
在這三個單元存放一條
無條件轉移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位...0FFFH0FFEHEA=1EA=0程序存儲器資源分布中斷入口地址(1)程序存儲器第17頁,課件共138頁,創(chuàng)作于2023年2月在單片機C語言程序設計中,用戶無需考慮程序的存放地址,編譯程序會在編譯過程中按照上述規(guī)定,自動安排程序的存放地址。例如:C語言是從main()函數(shù)開始執(zhí)行的,編譯程序會在程序存儲器的0000H處自動存放一條轉移指令,跳轉到main()函數(shù)存放的地址;中斷函數(shù)也會按照中斷類型號,自動由編譯程序安排存放在程序存儲器相應的地址中。因此,讀者只需了解程序存儲器的結構就可以了。第18頁,課件共138頁,創(chuàng)作于2023年2月0000HFFFFH(64K)內(nèi)部外部(2)數(shù)據(jù)存儲器數(shù)據(jù)存儲器00HFFH7FH80H(高128B)(低128B)RAM專用
寄存器00H07H08H0FH10H17H18H1FH0區(qū)R0R7R0R7R0R7R0R71區(qū)2區(qū)3區(qū)工作寄存器區(qū)可位尋址區(qū)20H2FH7F78070030H7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū)內(nèi)部RAM存儲器
11第3區(qū)18H~1FH
01第1區(qū)08H~0FHRS1RS0寄存器區(qū)片內(nèi)RAM地址
00第0區(qū)00H~07H10第2區(qū)10H~17H工作寄存器區(qū)選擇位RS0、RS1第19頁,課件共138頁,創(chuàng)作于2023年2月注意:一個單元地址對應有8個位地址
MSB——MostSignificantBit(最高有效位)
LSB——LeastSignificantBit(最低有效位)單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07
MSB
位地址
LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位尋址區(qū)位地址表第20頁,課件共138頁,創(chuàng)作于2023年2月高128個單元☆離散分布有21個特殊功能寄存器SFR?!?/p>
11個可以進行位尋址?!钐貏e提示:對SFR只能使用直接尋址方式,書寫時可使用寄存器符號,也可用寄存器單元地址。第21頁,課件共138頁,創(chuàng)作于2023年2月1.4單片機開發(fā)環(huán)境(a)ISP下載線(b)仿真器第22頁,課件共138頁,創(chuàng)作于2023年2月單片機實訓板第23頁,課件共138頁,創(chuàng)作于2023年2月實訓板特點:
由相對獨立的模塊組成,讀者可以將所有模塊進行自由組合,構建不同功能的單片機系統(tǒng)。
不僅提供了實訓板硬件電路程序,而且還提供了所有模塊的Proteus仿真電路,讀者可以通過虛實結合的方式,快速掌握單片機應用技術。
不須使用昂貴的仿真器、編程器就可以開發(fā)單片機系統(tǒng)。采用一條USB線就可以把程序下載到STC單片機之中,或者采用一條ISP下載線把程序下載到AT89S51/52單片機之中,既省了購買昂貴的仿真器、編程器,又能方便地開發(fā)單片機系統(tǒng)。
該實訓板可以兼融多種單片機,如:AT89S51/52、ST12C5A60S2,以及AVR、PIC單片機(需要加轉接板)。
采用USB線供電,不需要外接電源。第24頁,課件共138頁,創(chuàng)作于2023年2月實訓板組成:顯示電路模塊鍵盤電路模塊傳感器電路模塊通信電路模塊其它電路模塊第25頁,課件共138頁,創(chuàng)作于2023年2月【訓練項目1-2】數(shù)碼管靜態(tài)顯示系統(tǒng)設計與制作一、項目要求在Proteus仿真軟件和單片機實訓上,采用單片機的P0、P1、P2、P3的任意端口控制1位共陽極數(shù)碼管,實現(xiàn)0~F字符循環(huán)顯示,并能控制循環(huán)顯示速度。二、項目實訓儀器、設備及實訓材料工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量電腦1臺51單片機下載線和USB線1根杜邦導線8PKeiluVision41套晶振1只AT89S51/STC60S21片Proteus7.5軟件1套單片機實訓板1塊穩(wěn)壓電源1臺第26頁,課件共138頁,創(chuàng)作于2023年2月三、項目實施過程及其步驟任務1實現(xiàn)0~F任意字符顯示任務描述:采用單片機的P3端口控制1位數(shù)碼管,在Proteus軟件和單片機實訓板上,使數(shù)碼管顯示0~F任意字符。然后再改用其它端口控制數(shù)碼管,實現(xiàn)同樣功能。第27頁,課件共138頁,創(chuàng)作于2023年2月三、項目實施過程及其步驟任務2實現(xiàn)0~F字符循環(huán)顯示任務描述:在任務1的基礎上,實現(xiàn)0~F字符循環(huán)顯示。然后再改用其它端口控制數(shù)碼管,實現(xiàn)同樣功能。四、思考與分析(1)繪制任務1和2的程序運行軌跡,即黃色箭頭在程序代碼行走的軌跡。(2)采用共陰極數(shù)碼管,實現(xiàn)0~F字符循環(huán)顯示。(3)采用延時函數(shù)、數(shù)組定義顯示代碼等方法,減少程序代碼。第28頁,課件共138頁,創(chuàng)作于2023年2月1.5數(shù)碼管的結構與原理
在單片機應用系統(tǒng)中,數(shù)碼管常用來顯示系統(tǒng)的工作狀態(tài)、運算結果等信息,實現(xiàn)人機交互。一般數(shù)碼管有1位、3位、2位、4位等組合方式。第29頁,課件共138頁,創(chuàng)作于2023年2月第30頁,課件共138頁,創(chuàng)作于2023年2月顯示字符共陽極數(shù)碼管共陰極數(shù)碼管dpgfedcba字碼dpgfedcba字碼0110000000XC0001111110X3F1111110010XF9000001100X062101001000XA4010110110X5B3101100000XB0010011110X4F4100110010X99011001100X665100100100X92011011010X6D6100000100X82011111010X7D7111110000XF8000001110X078100000000X80011111110X7F9100100000X90011011110X6FA100010000X88011101110X77B100000110X83011111000X7CC110001100XC6001110010X39D101000010XA1010111100X5EE100001100X86011110010X79F100011100X8E011100010X71滅111111110XFF000000000X00第31頁,課件共138頁,創(chuàng)作于2023年2月1.6C語言數(shù)據(jù)類型、運算符與表達式數(shù)據(jù)類型單精度型(float)雙精度型(double)整型(int)實型(浮點型)字符型(char)基本類型構造類型枚舉類型號(enum)數(shù)組類型結構體類型(struct)共用體類型(union)指針類型空類型(void)第32頁,課件共138頁,創(chuàng)作于2023年2月序號名稱數(shù)據(jù)類型長度(位數(shù))值
域1有符號字符型[signed]char8B-128~+1272無符號字符型unsignedchar8B0~2553有符號整型[signed]short16B-32768~+327674無符號整型unsignedshort16B0~655355有符號整型[signed]int16B-32768~+327676無符號整型unsignedint16B0~655357有符號長整型[signed]long32B-2147483648~+21474836478無符號長整型unsignedlong32B0~42949672959單精度浮點型float32B±1.175494E-38~±3.4022823E+3810雙精度浮點型double64B±1.175494E-38~±3.4022823E+3811指針型*1~24B存儲器地址12位類型bit1B0或113可尋址位sbit1B0或114特殊功能寄存器sfr1B0~255C51編譯器所支持的數(shù)據(jù)類型第33頁,課件共138頁,創(chuàng)作于2023年2月1.6.2變量與常量在程序運行的過程中,其值不能改變的量,稱為常量。常量的數(shù)據(jù)類型有整型、浮點型、字符型、位類型和字符串型。數(shù)值常量可以在程序中直接引用,例如:a=15;a=2.65;a=‘c’等;但是符號常量不能直接使用,在使用之前必須用編譯預處理命令“#define”先進行定義,例如:#definePI3.1415926535898第34頁,課件共138頁,創(chuàng)作于2023年2月在程序運行中,其值可以改變的量稱為變量。一個變量主要由兩部分構成,一個是變量名,另個是變量值。每個變量都在內(nèi)存中占據(jù)一定的存儲單元(地址),并在該內(nèi)存單元中存放該變量的值。(1)變量的定義[存儲種類]數(shù)據(jù)類型[存儲器類型]變量名表;第35頁,課件共138頁,創(chuàng)作于2023年2月(2)變量的初始化數(shù)據(jù)類型標識符
變量名1=常量1[,變量名2=常量2,…,變量名n=常量n];第36頁,課件共138頁,創(chuàng)作于2023年2月1.6.3運算符和表達式運算符名運算符算術運算符+-*/%++--關系運算符><==>=<=!=邏輯運算符!&&||位運算符<<>>~&|^賦值運算符=條件運算符?:逗號運算符,指針運算符*&求字節(jié)數(shù)運算符sizeof強制類型轉換運算符(類型)下標運算符[]函數(shù)調(diào)用運算符()第37頁,課件共138頁,創(chuàng)作于2023年2月1.運算符的優(yōu)先級和結合性(1)優(yōu)先級
優(yōu)先級是用來標志運算符在表達式中的運算順序的。求解表達式時,總是先按運算符的優(yōu)先次序由高到低進行操作。(2)結合性
當一個運算對象兩側的運算符優(yōu)先級相同時,則按運算符的結合性確定表達式的運算順序。第38頁,課件共138頁,創(chuàng)作于2023年2月2.算術運算符與算術表達式
+(加法運算)-(減法運算)*(乘法運算符)
/(除法運算符)%(求余運算符,或稱模運算符)如:4%2=0++(變量自加1)--(變量自減1)
注意兩個整數(shù)相除結果為整數(shù),如8/5的結果為1,舍去小數(shù)部分。如果參加運算的兩個數(shù)中有一個數(shù)為實數(shù),則結果是實型。求余運算要求%兩側都是整型數(shù)據(jù)。第39頁,課件共138頁,創(chuàng)作于2023年2月自增、自減運算實戰(zhàn)演練:請說明程序運行完后x,y,z,m,n的值分別是多少?main(){intx=6,y,z,m,n; y=++x; z=x--;m=y/z;n=y%z;}自增運算符(++)和自減運算符(--):(1)前置運算──++變量、--變量 即先增減、后運算。(2)后置運算──變量++、變量--即先運算、后增減。第40頁,課件共138頁,創(chuàng)作于2023年2月賦值運算符
賦值語句的作用是把某個常量或變量或表達式的值賦值給另一個變量。符號為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。賦值語句左邊必須是變量或寄存器,且必須先定義。常量不能出現(xiàn)左邊。第41頁,課件共138頁,創(chuàng)作于2023年2月賦值運算符和賦值表達式簡單的賦值運算符:復合的賦值運算符=+=、-=、*=、%=、/=i+=2等價于i=i+2a*=b+5等價于a=a*(b+5)x%=3等價于x=x%3第42頁,課件共138頁,創(chuàng)作于2023年2月4.關系運算符與賦值表達式關系運算符優(yōu)先級
<<=>>===!=低高第43頁,課件共138頁,創(chuàng)作于2023年2月關系表達式
用關系運算符將兩個表達式(可以是算術表達式、關系表達式、賦值表達式或邏輯表達式)連接起來的式子,稱為關系表達式。關系表達式的值為邏輯值“真”或“假”,以1代表“真”,以0代表“假”。
例如:
(1)關系表達式“8==4”的值為
,表達式的值為
。
(2)關系表達式“5>0”的值為
,表達式的值為
。
第44頁,課件共138頁,創(chuàng)作于2023年2月
邏輯運算符優(yōu)先級
!(邏輯非)
&&(邏輯與)||(邏輯或)注意:邏輯運算符與位操作運算符的區(qū)別。5.邏輯運算符與賦值表達式第45頁,課件共138頁,創(chuàng)作于2023年2月邏輯表達式
用邏輯運算符將一個或多個表達式連接起來,進行邏輯運算的式子。邏輯量的真判斷——非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第46頁,課件共138頁,創(chuàng)作于2023年2月運算類型運算符優(yōu)先級結合性括號運算符()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)第47頁,課件共138頁,創(chuàng)作于2023年2月與操作按位與操作符:&
格式:x&y
規(guī)則:對應位均為1時才為1,否則為0
例如,
i=i&0x0f;
等同于
i&=0x0f;主要用途:取(或保留)1個數(shù)的某(些)位,其余各位置0。6.位運算符與位運算表達式第48頁,課件共138頁,創(chuàng)作于2023年2月位運算或操作按位或操作符:|
格式:x|y
規(guī)則:對應位均為0時才為0,否則為1
例如,
i=i|0x0f;
等同于
i|=0x0f;主要用途:將1個數(shù)的某(些)位置1,其余各位不變第49頁,課件共138頁,創(chuàng)作于2023年2月位運算異或操作按位異或操作符:^格式:x^y規(guī)則:對應位相同時為0,不同時為1
例如,
i=i^0x0f;
等同于
i^=0x0f;主要用途:使1個數(shù)的某(些)位翻轉(即原來為1的位變?yōu)?,為0的變?yōu)?),其余各位不變。第50頁,課件共138頁,創(chuàng)作于2023年2月位運算按位取反操作按位取反操作符:~格式:~x規(guī)則:各位翻轉,即原來為1的位變成0,原來為0的位變成1
例如,
i=~i;主要用途:間接地構造一個數(shù),以增強程序的可移植性。第51頁,課件共138頁,創(chuàng)作于2023年2月左移運算符“<<”的功能,是把“<<”左邊的操作數(shù)的各二進制位全部左移若干位,移動的位數(shù)由“<<”右邊的常數(shù)指定,高位丟棄,低位補0。例如:“a<<4”是指把a的各二進制位向左移動4位。如a=00000011B(十進制數(shù)3),左移4位后為00110000B(十進制數(shù)48)。右移運算符“>>”的功能,是把“>>”左邊的操作數(shù)的各二進制位全部右移若干位,移動的位數(shù)由“>>”右邊的常數(shù)指定。進行右移運算時,如果是無符號數(shù),則總是在其左端補“0”位運算第52頁,課件共138頁,創(chuàng)作于2023年2月7.逗號運算符與逗號運算表達式在C語言中逗號“,”也是一種運算符,稱為逗號運算符,其功能是把兩個表達式連接起來組成一個表達式,稱為逗號表達式,其一般形式為:表達式1,表達式2,………,表達式n第53頁,課件共138頁,創(chuàng)作于2023年2月1.7基本語句及結構化程序設計1.7.1表達式語句和復合語句
表達式語句是最基本的C語言語句。表達式語句由表達式加上分號“;”組成,其一般形式如下:
表達式;執(zhí)行表達式語句就是計算表達式的值。在C語言中有一個特殊的表達式語句,稱為空語句??照Z句中只有一個分號“;”,程序執(zhí)行空語句時需要占用一條指令的執(zhí)行時間,但是什么也不做。在C51程序中常常把空語句作為循環(huán)體,用于消耗CPU時間等待事件發(fā)生的場合。第54頁,課件共138頁,創(chuàng)作于2023年2月1.7.1表達式語句和復合語句把多個語句用大括號{}括起來,組合在一起形成具有一定功能的模塊,這種由若干條語句組合而成的語句塊稱為復合語句。在程序中應把復合語句看成是單條語句,而不是多條語句。復合語句在程序運行時,{}中的各行單語句是依次順序執(zhí)行的。在C語言的函數(shù)中,函數(shù)體就是一個復合語句。第55頁,課件共138頁,創(chuàng)作于2023年2月基本if語句的格式如下:if(表達式){
語句組;
}if語句執(zhí)行過程:當“表達式”的結果為“真”時,執(zhí)行其后的“語句組”,否則跳過該語句組,繼續(xù)執(zhí)行下面的語句。
1.7.2選擇語句第56頁,課件共138頁,創(chuàng)作于2023年2月if語句中的“表達式”通常為邏輯表達式或關系表達式,也可以是任何其他的表達式或類型數(shù)據(jù),只要表達式的值非0即為“真”。以下語句都是合法的:
if(3){……}if(x=8){……}if(P3_0){……}在if語句中,“表達式”必須用括號括起來。在if語句中,花括號“{}”里面的語句組如果只有一條語句,可以省略花括號。如“if(P3_0==0)P1_0=0;”語句,但是為了提高程序的可讀性和防止程序書寫錯誤,建議讀者在任何情況下,都加上花括號。1.7.2選擇語句第57頁,課件共138頁,創(chuàng)作于2023年2月if-else語句的一般格式如下:if(表達式) {
語句組1;
} else{
語句組2;
}if-else語句執(zhí)行過程:當“表達式”的結果為“真”時,執(zhí)行其后的“語句組1”,否則執(zhí)行“語句組2”1.7.2選擇語句第58頁,課件共138頁,創(chuàng)作于2023年2月if-else-if語句是由ifelse語句組成的嵌套,用來實現(xiàn)多個條件分支的選擇,其一般格式如下:if(表達式1) {
語句組1;
} elseif(表達式2){
語句組2;
} …elseif(表達式n){
語句組n;
}else{
語句組n+1;
}1.7.2選擇語句第59頁,課件共138頁,創(chuàng)作于2023年2月1.7.2選擇語句第60頁,課件共138頁,創(chuàng)作于2023年2月多分支選擇的switch語句,其一般形式如下:
switch(表達式){ case常量表達式1:語句組1;break; case常量表達式2:語句組2;break; …… case常量表達式n:語句組n;break; default:語句組n+1;}該語句的執(zhí)行過程是:首先計算表達式的值,并逐個與case后的常量表達式的值相比較,當表達式的值與某個常量表達式的值相等時,則執(zhí)行對應該常量表達式后的語句組,再執(zhí)行break語句,跳出switch語句的執(zhí)行,繼續(xù)執(zhí)行下一條語句。如果表達式的值與所有case后的常量表達式均不相同,則執(zhí)行default后的語句組。1.7.2選擇語句第61頁,課件共138頁,創(chuàng)作于2023年2月while語句用來實現(xiàn)“當型”循環(huán),執(zhí)行過程:首先判斷表達式,當表達式的值為真(非0)時,反復執(zhí)行循環(huán)體。為假(0)時執(zhí)行循環(huán)體外面的語句。循環(huán)體循環(huán)繼續(xù)的條件表達式下一條語句非0(真)0(假)循環(huán)體語句組while執(zhí)行過程格式:while(循環(huán)繼續(xù)的條件表達式)
{語句組;}花括號不能丟掉!請問:下述程序實現(xiàn)了什么功能?main(){inti,sum=0;while(i<=10){sum=sum+i;i++;}}1.7.3循環(huán)語句第62頁,課件共138頁,創(chuàng)作于2023年2月do-while語句用來實現(xiàn)“直到型”循環(huán)執(zhí)行過程:先無條件執(zhí)行一次循環(huán)體,然后判斷條件表達式,當表達式的值為真(非0)時,返回執(zhí)行循環(huán)體直到條件表達式為假(0)為止。絕對不能少分號!循環(huán)體格式:do{
循環(huán)體語句組;
}while(循環(huán)繼續(xù)條件);花括號不能丟掉!循環(huán)繼續(xù)的條件表達式下一條語句非0(真)0(假)循環(huán)體語句組請問:下述程序實現(xiàn)了什么功能?main(){inti,sum=0;do{sum=sum+i;i++;}while(i<=100);}1.7.3循環(huán)語句第63頁,課件共138頁,創(chuàng)作于2023年2月總循環(huán)次數(shù)已確定的情況下,可采用for語句形式為:for語句的一般形式:
for(循環(huán)變量賦初值;循環(huán)繼續(xù)條件;循環(huán)變量增值)
{
循環(huán)體語句組;
} 分隔符為分號請問:下述程序實現(xiàn)了什么功能?main(){inti,y=0;for(i=1;i<=10;i++){y=y+i;}}1.7.3循環(huán)語句第64頁,課件共138頁,創(chuàng)作于2023年2月循環(huán)繼續(xù)條件for的下一條語句非0(真)0(假)循環(huán)體語句組循環(huán)變量賦初值循環(huán)變量增值for語句循環(huán)執(zhí)行過程只求解一次要執(zhí)行若干次,具體次數(shù)由“循環(huán)繼續(xù)條件”決定for語句不僅可用于循環(huán)次數(shù)已經(jīng)確定的情況,也可用于循環(huán)次數(shù)雖不確定,但給出了循環(huán)繼續(xù)條件的情況,它完全可以代替while語句和do-while語句。for(循環(huán)變量賦初值;循環(huán)繼續(xù)條件;循環(huán)變量增值)
{循環(huán)體語句組;} 第65頁,課件共138頁,創(chuàng)作于2023年2月1.8單片機I/O端口及其應用單片機共有四個8位并行I/O口,分別用P0、P1、P2、P3表示。每個I/O口既可以按位操作使用單個引腳,也可以按字節(jié)操作使用8個引腳。第66頁,課件共138頁,創(chuàng)作于2023年2月P0口的結構
輸出控制電路輸出驅動電路
P0口邏輯電路第67頁,課件共138頁,創(chuàng)作于2023年2月
當P0口作為輸出口使用時,內(nèi)部總線將數(shù)據(jù)送入鎖存器,內(nèi)部的寫脈沖加在鎖存器時鐘端CP上,鎖存數(shù)據(jù)到Q、端。經(jīng)過MUX,T2反相后正好是內(nèi)部總線的數(shù)據(jù),送到P0口引腳輸出。當P0口作為輸入口使用時,應區(qū)分讀引腳和讀端口兩種情況,所謂讀引腳,就是讀芯片引腳的狀態(tài),這時使用下方的數(shù)據(jù)緩沖器,由“讀引腳”信號把緩沖器打開,把端口引腳上的數(shù)據(jù)從緩沖器通過內(nèi)部總線讀進來。讀端口是指通過上面的緩沖器讀鎖存器Q端的狀態(tài)。讀端口是為了適應對I/O口進行“讀-修改-寫”操作語句的需要。例如下面的C51語句:
P0=P0&0xf0; //將P0口的低4位引腳清0輸出P0口的結構第68頁,課件共138頁,創(chuàng)作于2023年2月
除了I/O功能以外,在進行單片機系統(tǒng)擴展時,P0口是作為單片機系統(tǒng)的地址/數(shù)據(jù)線使用的,一般稱為地址/數(shù)據(jù)分時復用引腳。當輸出地址或數(shù)據(jù)時,由內(nèi)部發(fā)出控制信號,使“控制”端為高電平,打開與門,并使多路開關MUX處于內(nèi)部地址/數(shù)據(jù)線與驅動場效應管柵極反相接通狀態(tài)。此時,輸出驅動電路由于兩個FET處于反相,形成推拉式電路結構,使負載能力大為提高。輸入數(shù)據(jù)時,數(shù)據(jù)信號直接從引腳通過輸入緩沖器進入內(nèi)部總線。P0口的結構第69頁,課件共138頁,創(chuàng)作于2023年2月P1口的結構
P1口邏輯電路第70頁,課件共138頁,創(chuàng)作于2023年2月P1口是準雙向口,只能作為通用I/O口使用。P1口作為輸出口使用時,無需再外接上拉電阻。P1口作為輸入口使用時,應區(qū)分讀引腳和讀端口。讀引腳時,必須先向電路中的鎖存器寫入“1”,使輸出級的FET截止。P1口的結構第71頁,課件共138頁,創(chuàng)作于2023年2月P2口的結構
P2口邏輯電路第72頁,課件共138頁,創(chuàng)作于2023年2月P2口是準雙向口,在實際應用中,可以用于為系統(tǒng)提供高8位地址,也能作為通用I/O口使用。P2口作為通用I/O口的輸出口使用時,與P1口一樣無需再外接上拉電阻。P2口作為通用I/O口的輸入口使用時,應區(qū)分讀引腳和讀端口。讀引腳時,必須先向鎖存器寫入“1”。P2口的結構第73頁,課件共138頁,創(chuàng)作于2023年2月P3口的結構
P3口邏輯電路第74頁,課件共138頁,創(chuàng)作于2023年2月P3口是準雙向口,可以作為通用I/O口使用,還可以作為第二功能使用。作為第二功能使用的端口,不能同時當作通用I/O口使用,但其他未被使用的端口仍可作為通用I/O口使用。P3口作為通用I/O的輸出口使用時,不用外接上拉電阻。P3口的結構第75頁,課件共138頁,創(chuàng)作于2023年2月【訓練項目1-3】數(shù)碼管動態(tài)顯示系統(tǒng)設計與制作一、項目要求在Proteus仿真軟件和單片機實訓上,采用單片機的P0、P1、P2、P3的任意端口控制2個4位一體的共陽極數(shù)碼管,實現(xiàn)任意數(shù)字顯示,然后再修改程序實現(xiàn)簡易時鐘顯示,顯示格式為:□□—□□—□□,即“時”—“分”—“秒”。第76頁,課件共138頁,創(chuàng)作于2023年2月二、項目實訓儀器、設備及實訓材料工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量電腦1臺51單片機下載線和USB線1根杜邦導線8PKeiluVision41套晶振1只AT89S51/STC60S21片Proteus7.5軟件1套單片機實訓板1塊穩(wěn)壓電源1臺三、項目實施過程及其步驟任務1實現(xiàn)任意數(shù)字顯示任務描述:采用單片機的P0和P2端口分別作為數(shù)碼管的數(shù)據(jù)和驅動端口,在Proteus軟件和單片機實訓板上,使數(shù)碼管顯示任意數(shù)字。然后再改用其它端口控制數(shù)碼管,實現(xiàn)同樣功能。第77頁,課件共138頁,創(chuàng)作于2023年2月第78頁,課件共138頁,創(chuàng)作于2023年2月任務2實現(xiàn)簡易時鐘顯示任務描述:在任務1的基礎上,實現(xiàn)簡易時鐘功能。然后再改用其它端口控制數(shù)碼管,實現(xiàn)同樣功能。第79頁,課件共138頁,創(chuàng)作于2023年2月四、思考與分析(1)繪制任務1和2的程序運行軌跡,即黃色箭頭在程序代碼行走的軌跡。(2)采用共陰極數(shù)碼管,實現(xiàn)任意數(shù)字顯示。第80頁,課件共138頁,創(chuàng)作于2023年2月1.9數(shù)組第81頁,課件共138頁,創(chuàng)作于2023年2月分隔符為分號數(shù)組的概念
數(shù)組屬于常用的數(shù)據(jù)類型,數(shù)組中的元素有固定數(shù)目和相同類型,數(shù)組元素的數(shù)據(jù)類型就是該數(shù)組的基本類型。例如,整型數(shù)據(jù)的有序集合稱為整型數(shù)組,字符型數(shù)據(jù)的有序集合稱為字符型數(shù)組。數(shù)組還分為一維、二維、三維和多維數(shù)組等,常用的是一維、二維和字符數(shù)組。
1.9數(shù)組第82頁,課件共138頁,創(chuàng)作于2023年2月數(shù)組的基本特點構造類形數(shù)據(jù):由基本類型數(shù)據(jù)按照一定規(guī)則組成。數(shù)組:是有序數(shù)據(jù)的集合;數(shù)組中的每一個元素都屬于同一個數(shù)據(jù)類型,用一個統(tǒng)一的數(shù)組名和下標來唯一地確定數(shù)組中的元素。應用場合:需要處理的數(shù)據(jù)為數(shù)量已知的若干相同類型的數(shù)據(jù)時。
注意:先定義,后使用。第83頁,課件共138頁,創(chuàng)作于2023年2月一維數(shù)組的定義和引用一維數(shù)組的定義:一般格式:類型標識符數(shù)組名[常量表達式];
int
array[10];
unsignedchar
num[7];說明:數(shù)組名——見名知意;數(shù)組名中存放的是一個地址常量,它代表整個數(shù)組的首地址。同一數(shù)組中的所有元素,按其下標的順序占用一段連續(xù)的存儲單元。方括弧而非圓括??;常量表達式:可以是常量或符號常量;表示數(shù)組元素的個數(shù)(也稱數(shù)組長度)。不允許對數(shù)組大小作動態(tài)定義。數(shù)組元素下標從0開始。array[0],array[1],…array[9];遵循標識符命名規(guī)則第84頁,課件共138頁,創(chuàng)作于2023年2月數(shù)組元素的表達形式:數(shù)組名[下標表達式]Array[4]=100;array[8]=34;array[10]=56;注意:數(shù)組下標不能越界!一個數(shù)組元素具有和相同類型單個變量一樣的屬性,可以對它賦值和參與各種運算。一維數(shù)組的引用第85頁,課件共138頁,創(chuàng)作于2023年2月一般格式:
數(shù)據(jù)類型數(shù)組名[常量表達式]={初值表}1.定義時賦初值;intscore[5]={1,2,3,4,5};2.給一部分元素賦值;intscore[5]={1,2};3.使所有元素為0;intscore[5]={0};4.給全部數(shù)組元素賦初值時,可以不指定數(shù)組長度;
intscore[]={1,2,3,4,5};一維數(shù)組的初始化第86頁,課件共138頁,創(chuàng)作于2023年2月1.10函數(shù)C語言程序都是由多個函數(shù)組成的,一般至少有一個主函數(shù)main(),函數(shù)是C語言程序的基本模塊,通過對函數(shù)模塊的調(diào)用來實現(xiàn)程序的功能。C語言不僅提供了豐富的庫函數(shù),而且還允許定義自己的函數(shù),所以C語言程序都由各類不同功能的函數(shù)組成的。第87頁,課件共138頁,創(chuàng)作于2023年2月函數(shù)的分類標準庫函數(shù)用戶自定義函數(shù)(1)從函數(shù)是否具有返回值的角度分類①有返回值函數(shù)②無返回值函數(shù)(2)從函數(shù)是否帶有參數(shù)角度分類
①無參函數(shù)
②有參函數(shù)第88頁,課件共138頁,創(chuàng)作于2023年2月函數(shù)定義C語言函數(shù)定義形式:[數(shù)據(jù)類型說明符]函數(shù)名([形參定義表]){ 執(zhí)行語句; //“{}”中的內(nèi)容稱為函數(shù)體}第89頁,課件共138頁,創(chuàng)作于2023年2月函數(shù)的調(diào)用1.函數(shù)調(diào)用方式函數(shù)調(diào)用的一般形式為:[變量=]函數(shù)名([實參表])第90頁,課件共138頁,創(chuàng)作于2023年2月2.對被調(diào)函數(shù)的聲明C語言程序中一個函數(shù)調(diào)用另一個函數(shù)需要具備以下條件:①被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù),是庫函數(shù)或用戶自定義的函數(shù)。②如果調(diào)用庫函數(shù),一般要在程序文件的開關用include命令,包含有關庫函數(shù)所在的頭文件。③如果調(diào)用用戶自定義的函數(shù),并且該函數(shù)與調(diào)用它的函數(shù)在同一個程序文件中,一般還應該在主調(diào)函數(shù)中對被函數(shù)作聲明。即向編譯系統(tǒng)聲明將要調(diào)用此函數(shù),并將有關信息通知編譯。第91頁,課件共138頁,創(chuàng)作于2023年2月數(shù)組作為函數(shù)的參數(shù)
1.數(shù)組元素作為函數(shù)的參數(shù)
數(shù)組元素可以作為函數(shù)的實參,這時對應的形參是變量,與變量作實參一樣,把數(shù)組元素的值傳遞到形參變量所在存儲單元中,是單向的值傳遞。
第92頁,課件共138頁,創(chuàng)作于2023年2月2.數(shù)組名作為函數(shù)的參數(shù)
可以用數(shù)組名作為函數(shù)的實參,對應的形參也應該是數(shù)組名。
#include“reg51.h”voidsort(intx[],intn){ inti,j,tk; for(i=0;i<n-1;i++) //選擇排序法對n個數(shù)進行降序排列
{ k=i; for(j=i+1;j<n;j++) //找出最大的元素
if(x[k]<x[j])k=j;if(k!=i){ t=x[i];x[i]=x[k];x[k]=t;} }}voidmain(){ intcj[10]={76,80,65,60,58,91,47,63,70,85}; sort(a,10);}第93頁,課件共138頁,創(chuàng)作于2023年2月局部變量和全局變量第94頁,課件共138頁,創(chuàng)作于2023年2月1.局部變量第95頁,課件共138頁,創(chuàng)作于2023年2月2.全局變量第96頁,課件共138頁,創(chuàng)作于2023年2月內(nèi)部函數(shù)和外部函數(shù)1.內(nèi)部函數(shù)static類型標識符
函數(shù)名
([形參定義]){
函數(shù)體}2.外部函數(shù)[extern]類型標識符
函數(shù)名
([形參定義]){
函數(shù)體}第97頁,課件共138頁,創(chuàng)作于2023年2月【訓練項目1-4】LED點陣顯示屏設計與制作一、項目要求在Proteus仿真軟件和實訓板上,采用單片機的P0、P1、P2、P3的任意端口控制單色和雙色兩種8*8點陣屏模塊,實現(xiàn)一些特定的文字或圖形顯示。第98頁,課件共138頁,創(chuàng)作于2023年2月二、項目實訓儀器、設備及實訓材料工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量電腦1臺51單片機下載線和USB線1根杜邦導線8PKeiluVision41套晶振1只AT89S51/STC60S21片Proteus7.5軟件1套單片機實訓板1塊單、雙色8*8點陣屏各1塊三、項目實施過程及其步驟任務1
單色LED點陣顯示屏設計與制作任務描述:要求在8*8LED點陣屏上循環(huán)顯示▲
◆□■5個圖形。第99頁,課件共138頁,創(chuàng)作于2023年2月第100頁,課件共138頁,創(chuàng)作于2023年2月任務2雙色LED點陣顯示屏設計與制作任務描述:要求在8*8LED雙色點陣屏上顯示綠色、紅色、橙色的“心”圖形。第101頁,課件共138頁,創(chuàng)作于2023年2月“心”圖形實際顯示效果四、思考與分析(1)在點陣屏上實現(xiàn)1~9數(shù)字顯示。(2)在任務2中,第84行用于防止重影,若沒有這行代碼,顯示現(xiàn)象怎樣?第102頁,課件共138頁,創(chuàng)作于2023年2月1.11LED點陣模塊結構及原理1.11.1LED點陣模塊的種類及結構(a)8*8LED點陣模塊實物外形(b)共陰8*8LED點陣(c)共陽8*8LED雙色點陣第103頁,課件共138頁,創(chuàng)作于2023年2月【訓練項目1-5】字符型LCD顯示系統(tǒng)設計與制作一、項目要求在Proteus仿真軟件和實訓板上,采用單片機的P0、P1、P2、P3的任意端口控制LCD1602字符型液晶屏,實現(xiàn)任意字符顯示。然后再制作一個簡易電子鐘,要求整點能發(fā)出報警聲音,顯示格式為:□□:□□:□□,即“時”—“分”—“秒”。第104頁,課件共138頁,創(chuàng)作于2023年2月二、項目實訓儀器、設備及實訓材料工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量工具、設備和耗材數(shù)量電腦1臺51單片機下載線和USB線1根杜邦導線8PKeiluVision41套晶振12M1只AT89S51/STC60S21片Proteus7.5軟件1套單片機實訓板1塊LCD1602液晶屏1塊三、項目實施過程及其步驟任務1實現(xiàn)任意字符顯示任務描述:采用單片機的P0和P2端口分別作為LCD的數(shù)據(jù)和控制端口,在Proteus軟件和單片機實訓板上,實現(xiàn)任意字符顯示。然后再改用其它端口,實現(xiàn)同樣功能。第105頁,課件共138頁,創(chuàng)作于2023年2月第106頁,課件共138頁,創(chuàng)作于2023年2月實訓板上顯示效果第107頁,課件共138頁,創(chuàng)作于2023年2月任務2制作簡易電子鐘任務描述:在任務1的基礎上,使LCD顯示具有“時、分、秒”的簡易電子鐘。四、思考與分析(1)采用其它端口作為液晶屏的數(shù)據(jù)線或控制線,如何實現(xiàn)任務1和任務2?(2)在任務2中,如何使“AM”在12正點來時自動變?yōu)椤癙M”,又在00點來時自動變?yōu)椤癆M”?實訓板上顯示效果第108頁,課件共138頁,創(chuàng)作于2023年2月1.12字符型LCD屏的種類及工作原理第109頁,課件共138頁,創(chuàng)作于2023年2月1.引腳定義引腳號引腳名稱引腳功能1VSS接地2VDD電源腳(+5V)3VO液晶屏驅動電源(0~5V),可接電位器4RS數(shù)據(jù)和指令選擇控制端;當RS=0時,命令狀態(tài);當RS=1時,數(shù)據(jù)狀態(tài)5R/
讀寫控制端;當R/=0時,寫操作;當R/=1時,讀操作6E數(shù)據(jù)讀寫操作控制位,E線向LCD模塊發(fā)送一個脈沖(下降沿有效),LCD模塊與單片機之間將進行一次數(shù)據(jù)交換7~14 DB0~DB7(1)數(shù)據(jù)總線以8位數(shù)據(jù)讀/寫方式,DB0~DB7均有效(2)數(shù)據(jù)總線以4位數(shù)據(jù)讀/寫方式,DB4~DB7有效,而DB0~DB3懸空不接,節(jié)約單片機資源(3)BD7除了為雙向數(shù)據(jù)線,另外還為BF忙碌BF標志位
15A背光控制正電源(很多液晶屏上沒有安裝背光燈,所以此腳為空)16K背光控制地(很多液晶屏上沒有安裝背光燈,所以此腳為空)第110頁,課件共138頁,創(chuàng)作于2023年2月2.LCD模塊三個控制引腳的基本操作第111頁,課件共138頁,創(chuàng)作于2023年2月LCD寫操作時序LCD讀操作時序第112頁,課件共138頁,創(chuàng)作于2023年2月第113頁,課件共138頁,創(chuàng)作于2023年2月4.字符型LCD寫數(shù)據(jù)操作第114頁,課件共138頁,創(chuàng)作于2023年2月1.13指針對于變量要弄清楚兩個概念:一個是變量名,另個是變量值。前者是一個數(shù)據(jù)的標號,后者是一個數(shù)據(jù)的內(nèi)容。而對內(nèi)存單元,也要弄清楚兩個概念:一個是內(nèi)存單元的地址,另個是內(nèi)存單元的內(nèi)容。前者是內(nèi)存對該單元的編號,表示該單元在整個內(nèi)存中的位置,后者指的是在該內(nèi)存單元中存放的數(shù)據(jù)。第115頁,課件共138頁,創(chuàng)作于2023年2月1.指針變量的定義類型識別符*指針變量名char*cp1,*cp2;int*p1,*p2;在定義指針變量時要注意:(1)指針變量前面的“*”表示該變量的類型為指針型變量,指針變量名是p1、p2,而不是*p1、*p2,這與前面介紹的變量定義形式有所區(qū)別。(2)指針變量名的命名規(guī)則與變量名命名規(guī)則相同,遵循標識符命名規(guī)則。(3)在定義指針變量時必須指定其“基類型”,因為不同類型的數(shù)據(jù)在內(nèi)存中占用的字節(jié)數(shù)不一樣長。第116頁,課件共138頁,創(chuàng)作于202
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度特種環(huán)境配電室建設與防腐蝕合同4篇
- 二零二四年度醫(yī)療設備采購合同終止及設備召回協(xié)議3篇
- 二零二四年生態(tài)補償機制實施合同3篇
- 面向DNA存儲的信道編碼關鍵技術研究
- 2025年度瓷磚回收利用與環(huán)保處理合同3篇
- 2025年度企業(yè)員工社會保險繳納合同3篇
- 二零二五年度企業(yè)宣傳片劇本定制與制作合同2篇
- 二零二四年度虛擬現(xiàn)實(VR)內(nèi)容開發(fā)服務合同3篇
- 二零二四年度云南智能交通系統(tǒng)工程設計與施工合同3篇
- 二零二五年度車展場地租賃及數(shù)據(jù)統(tǒng)計分析服務合同4篇
- 湖南省長沙市2025年新高考適應性考試生物學模擬試題(含答案)
- 英語48個國際音標課件(單詞帶聲、附有聲國際音標圖)
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 冷庫安全管理制度
- 2023同等學力申碩統(tǒng)考英語考試真題
- 家具安裝工培訓教案優(yōu)質(zhì)資料
- 在雙減政策下小學音樂社團活動有效開展及策略 論文
- envi二次開發(fā)素材包-idl培訓
- 2022年上海市初中語文課程終結性評價指南
- 醫(yī)院手術室醫(yī)院感染管理質(zhì)量督查評分表
- 心內(nèi)電生理導管及器械
評論
0/150
提交評論