第講C語(yǔ)言基本結(jié)構(gòu)及單片機(jī)存儲(chǔ)器介紹_第1頁(yè)
第講C語(yǔ)言基本結(jié)構(gòu)及單片機(jī)存儲(chǔ)器介紹_第2頁(yè)
第講C語(yǔ)言基本結(jié)構(gòu)及單片機(jī)存儲(chǔ)器介紹_第3頁(yè)
第講C語(yǔ)言基本結(jié)構(gòu)及單片機(jī)存儲(chǔ)器介紹_第4頁(yè)
第講C語(yǔ)言基本結(jié)構(gòu)及單片機(jī)存儲(chǔ)器介紹_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、電子與通信工程學(xué)院 湯旭慧湯旭慧 第第3講講 C語(yǔ)言循環(huán)結(jié)構(gòu)及存儲(chǔ)器介紹語(yǔ)言循環(huán)結(jié)構(gòu)及存儲(chǔ)器介紹 主講:湯旭慧主講:湯旭慧Addr:行政樓:行政樓509第二工業(yè)中心第二工業(yè)中心418Tel26731194QQ:2232360300電子與通信工程學(xué)院 湯旭慧湯旭慧單片機(jī)內(nèi)部結(jié)構(gòu)時(shí)鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時(shí)計(jì)數(shù)器電子與通信工程學(xué)院 湯旭慧湯旭慧數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器程序存儲(chǔ)器程序存儲(chǔ)器CPU電子與通信工程學(xué)院 湯旭慧湯旭慧STC90C516RD+單片機(jī)的存儲(chǔ)器單片機(jī)的存儲(chǔ)器 STC90

2、C516RD+單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是各單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是各自獨(dú)立編址的。除了可以訪問(wèn)片上自獨(dú)立編址的。除了可以訪問(wèn)片上Flash存儲(chǔ)器外,還可存儲(chǔ)器外,還可以以訪問(wèn)訪問(wèn)64KB的外部程序存儲(chǔ)器的外部程序存儲(chǔ)器。 STC90C516RD+單片單片機(jī)機(jī)內(nèi)部?jī)?nèi)部 1280字節(jié)的數(shù)據(jù)存儲(chǔ)器字節(jié)的數(shù)據(jù)存儲(chǔ)器,其在物理和邏輯上都分,其在物理和邏輯上都分為兩個(gè)地址空間:為兩個(gè)地址空間:內(nèi)部?jī)?nèi)部RAM(256字節(jié))和內(nèi)部擴(kuò)展字節(jié))和內(nèi)部擴(kuò)展RAM(1024字節(jié))字節(jié))。電子與通信工程學(xué)院 湯旭慧湯旭慧電子與通信工程學(xué)院 湯旭慧湯旭慧程序程序存儲(chǔ)器存儲(chǔ)器內(nèi)部外部0000H0FFFH(4K

3、)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執(zhí)行的起始單元,在這三個(gè)單元存放一條無(wú)條件轉(zhuǎn)移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時(shí)器0中斷外部中斷1定時(shí)器1中斷串行口中斷8位位0FFFH0FFEHEA=1 EA=0EA=1 EA=0程序程序存儲(chǔ)器資源分布存儲(chǔ)器資源分布中斷入口地址電子與通信工程學(xué)院 湯旭慧湯旭慧電子與通信工程學(xué)院 湯旭慧湯旭慧0000HFFFFH(64K)內(nèi)部外部數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器00HFFH7FH80H(高128B)(低128B)RAM專

4、用寄存器0000H H07H07H0808H H0FH0FH1010H H17H17H1818H H1FH1FH0區(qū)區(qū)R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71區(qū)區(qū)2區(qū)區(qū)3區(qū)區(qū)工作寄存器區(qū)工作寄存器區(qū)可位尋址區(qū)可位尋址區(qū)20H2FH7F 7807 0030H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū)堆棧區(qū)內(nèi)部?jī)?nèi)部RAMRAM存儲(chǔ)器存儲(chǔ)器 工作寄存器區(qū)工作寄存器區(qū)選擇位選擇位RS0RS0、RS1RS1電子與通信工程學(xué)院 湯旭慧湯旭慧注意注意: : 一個(gè)單元地址對(duì)應(yīng)有一個(gè)單元地址對(duì)應(yīng)有8 8個(gè)位地址個(gè)位地址MSBMSBMost Significant Bit Most Signif

5、icant Bit (最高有效位)(最高有效位)LSB LSB Least Significant Bit Least Significant Bit (最低有效位)(最低有效位)單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSB 位地址 LSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D

6、5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A020279797171696961615959515149494141393931312929212119191111090901

7、017878707068686060585850504848404038383030282820201818101008080000RAM位尋址區(qū)位地址表位尋址區(qū)位地址表電子與通信工程學(xué)院 湯旭慧湯旭慧離散分布有離散分布有2121個(gè)個(gè)特殊功能寄存器特殊功能寄存器SFRSFR(是用來(lái)對(duì)片內(nèi)各功能是用來(lái)對(duì)片內(nèi)各功能模塊進(jìn)行管理、控制、模塊進(jìn)行管理、控制、監(jiān)視的控制寄存器和狀監(jiān)視的控制寄存器和狀態(tài)寄存器。態(tài)寄存器。) 1111個(gè)可以進(jìn)行個(gè)可以進(jìn)行位尋址。位尋址。特別提示:對(duì)特別提示:對(duì)SFRSFR只能使用只能使用直接直接尋址方式尋址方式,書(shū)寫(xiě)時(shí),書(shū)寫(xiě)時(shí)可使用寄存器符號(hào),可使用寄存器符號(hào),也可用寄存器

8、單元也可用寄存器單元地址。地址。電子與通信工程學(xué)院 湯旭慧湯旭慧電子與通信工程學(xué)院 湯旭慧湯旭慧電子與通信工程學(xué)院 湯旭慧湯旭慧1.程序計(jì)數(shù)器(程序計(jì)數(shù)器(PCProgram Counter) PC是一個(gè)是一個(gè)16位的計(jì)數(shù)器,它的作用是控制程序的位的計(jì)數(shù)器,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達(dá)達(dá)64KB。 PC沒(méi)有地址,是不可尋址的。因此用戶無(wú)法對(duì)它沒(méi)有地址,是不可尋址的。因此用戶無(wú)法對(duì)它進(jìn)行讀寫(xiě)。進(jìn)行讀寫(xiě)。2. 累加器(累加器(ACCAccumulator)累加器為累加器為8位寄存器,是最常用的專用寄存器,它既可用

9、位寄存器,是最常用的專用寄存器,它既可用于存放操作數(shù),也可用來(lái)存放運(yùn)算的中間結(jié)果。于存放操作數(shù),也可用來(lái)存放運(yùn)算的中間結(jié)果。3. B寄存器寄存器B寄存器是一個(gè)寄存器是一個(gè)8位寄存器,主要用于乘除運(yùn)算。位寄存器,主要用于乘除運(yùn)算。電子與通信工程學(xué)院 湯旭慧湯旭慧4. 程序狀態(tài)字(PSWProgram Status Word)程序狀態(tài)字是一個(gè)8位寄存器,用于存程序運(yùn)行中的各種狀態(tài)信息。PSW的各位定義如下:D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVF1PCY(PSW.7)進(jìn)位借位標(biāo)志位。其功能有二:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志,在進(jìn)行加或減運(yùn)算時(shí),如果操作結(jié)果最高位

10、有進(jìn)位或借位時(shí),CY由硬件置“1”,否則清“0”;二是在位操作中,作累加位使用。位傳送、位與位或等位操作,操作位之一固定是進(jìn)位標(biāo)志位。AC(PSW.6)輔助進(jìn)位標(biāo)志位。在進(jìn)行加減運(yùn)算中,當(dāng)有低4位向高4位進(jìn)位或借位時(shí),AC由硬件置“1”,否則AC位被清“0”。F0(PSW.5)用戶標(biāo)志位。這是一個(gè)供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位,用以控制程序的轉(zhuǎn)向。電子與通信工程學(xué)院 湯旭慧湯旭慧D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVF1PRS1和RS0(PSW.4,PSW.3)寄存器組選擇位。用于選擇CPU當(dāng)前工作的通用寄存器組。通用寄存器共有四組,其對(duì)應(yīng)

11、關(guān)系為:RS1 RS0 寄存器組 片內(nèi)RAM地址0 0第0組00H07H0 1第1組08H0FH 1 0第2組10H17H 1 1第3組18H1FHOV(PSW.2)溢出標(biāo)志位。在帶符號(hào)數(shù)加減運(yùn)算中,OV=1表示加減運(yùn)算超出了累加器A所能表示的符號(hào)數(shù)有效范圍(-128 +127),即產(chǎn)生了溢出,因此運(yùn)算結(jié)果是錯(cuò)誤;否則,OV=0表示運(yùn)算正確,即無(wú)溢出產(chǎn)生。P(PSW.0)奇偶標(biāo)志位。表明累加器A內(nèi)容的奇偶性,如果A中有奇數(shù)個(gè)“1”,則P置“1”,否則置“0”。凡是改變累加器A中內(nèi)容的指令均會(huì)影響P標(biāo)志位。電子與通信工程學(xué)院 湯旭慧湯旭慧12345678910111213142827262524

12、232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221 201918171615RAM6264 12345678910111213142827262524232221 201918171615RAM6264 80318751805189C51256B(字節(jié))4K64K64

13、K電子與通信工程學(xué)院 湯旭慧湯旭慧實(shí)戰(zhàn)演練實(shí)戰(zhàn)演練 請(qǐng)按照本課堂的教學(xué),建立開(kāi)發(fā)環(huán)境,調(diào)試軟件代請(qǐng)按照本課堂的教學(xué),建立開(kāi)發(fā)環(huán)境,調(diào)試軟件代碼,并下載;分別用順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)實(shí)現(xiàn)如下實(shí)訓(xùn):碼,并下載;分別用順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)實(shí)現(xiàn)如下實(shí)訓(xùn):實(shí)現(xiàn)實(shí)現(xiàn)8個(gè)燈從上到下逐一點(diǎn)亮的流水燈效果。如:個(gè)燈從上到下逐一點(diǎn)亮的流水燈效果。如:電子與通信工程學(xué)院 湯旭慧湯旭慧需要用到的軟件及工具需要用到的軟件及工具1. C編譯軟件編譯軟件Keil4 軟件軟件2. 編程下載軟件:編程下載軟件:PZISP自動(dòng)下載軟件自動(dòng)下載軟件3. ISP下載器下載器4. 實(shí)驗(yàn)電路板實(shí)驗(yàn)電路板HC6800EM3 v20電子與通信工程

14、學(xué)院 湯旭慧湯旭慧工作環(huán)境建立步驟工作環(huán)境建立步驟1.1. 安裝安裝Keil4軟件(版本:軟件(版本:cavr1.259cavr1.259)2.安裝安裝PZISP自動(dòng)下載軟件自動(dòng)下載軟件3.3. 安裝安裝USB驅(qū)動(dòng)程序。驅(qū)動(dòng)程序。4.4. 到到“設(shè)備管理器設(shè)備管理器”的的“端口端口”中查看虛擬的串口端口中查看虛擬的串口端口號(hào)。號(hào)。5.5. 啟動(dòng)啟動(dòng)C C編譯軟件編譯軟件Keil4Keil4,進(jìn)行編輯編譯生成,進(jìn)行編輯編譯生成.hex文件。文件。6.6. 打開(kāi)目標(biāo)板電源,打開(kāi)目標(biāo)板電源,嘗試啟動(dòng)嘗試啟動(dòng)PZISP自動(dòng)下載軟件自動(dòng)下載軟件建立建立通信連接,實(shí)現(xiàn)在線下載。通信連接,實(shí)現(xiàn)在線下載。電子

15、與通信工程學(xué)院 湯旭慧湯旭慧C C程序的三種基本結(jié)構(gòu)程序的三種基本結(jié)構(gòu) C C程序采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,程序由若干程序采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,程序由若干個(gè)基本結(jié)構(gòu)組成。每一個(gè)基本結(jié)構(gòu)可以包含一個(gè)或若個(gè)基本結(jié)構(gòu)組成。每一個(gè)基本結(jié)構(gòu)可以包含一個(gè)或若干個(gè)語(yǔ)句。主要有三種結(jié)構(gòu):干個(gè)語(yǔ)句。主要有三種結(jié)構(gòu):1.1. 順序結(jié)構(gòu)順序結(jié)構(gòu):程序按照語(yǔ)句順序進(jìn)行執(zhí)行。:程序按照語(yǔ)句順序進(jìn)行執(zhí)行。2.2. 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):當(dāng)型循環(huán)結(jié)構(gòu):當(dāng)型循環(huán)結(jié)構(gòu):“先判斷,再操作先判斷,再操作”直到型循環(huán)結(jié)構(gòu):直到型循環(huán)結(jié)構(gòu):“先操作,再判斷先操作,再判斷”3.3. 選擇(分支)結(jié)構(gòu):選擇(分支)結(jié)構(gòu):電子與通信工程學(xué)院

16、 湯旭慧湯旭慧運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式u運(yùn)算符:用來(lái)表示各種不同運(yùn)算的符號(hào)。運(yùn)算符:用來(lái)表示各種不同運(yùn)算的符號(hào)。u表達(dá)式:用運(yùn)算符把運(yùn)算對(duì)象連接起來(lái)的式子。表達(dá)式:用運(yùn)算符把運(yùn)算對(duì)象連接起來(lái)的式子。電子與通信工程學(xué)院 湯旭慧湯旭慧關(guān)系運(yùn)算符關(guān)系運(yùn)算符 優(yōu)先級(jí) = = !=低低高高電子與通信工程學(xué)院 湯旭慧湯旭慧關(guān)系表達(dá)式p 用用關(guān)系運(yùn)算符關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式、關(guān)將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、賦值表達(dá)式或邏輯表達(dá)式系表達(dá)式、賦值表達(dá)式或邏輯表達(dá)式)連接起來(lái)的式子,連接起來(lái)的式子,稱為稱為關(guān)系表達(dá)式關(guān)系表達(dá)式。p 關(guān)系表達(dá)式的值為關(guān)系表達(dá)式的值為邏輯值邏輯值“

17、真真”或或“假假”,以,以1代表代表“真真”,以,以0代表代表“假假”。 例如:例如: (1)關(guān)系表達(dá)式關(guān)系表達(dá)式“8=4”的值為的值為 。 (2) 關(guān)系表達(dá)式關(guān)系表達(dá)式“50”的值為的值為 。 電子與通信工程學(xué)院 湯旭慧湯旭慧當(dāng)型循環(huán):當(dāng)型循環(huán):while語(yǔ)句語(yǔ)句whilewhile語(yǔ)句用來(lái)實(shí)現(xiàn)語(yǔ)句用來(lái)實(shí)現(xiàn)“當(dāng)型當(dāng)型”循環(huán),循環(huán),執(zhí)行過(guò)程:首先判斷表達(dá)式,執(zhí)行過(guò)程:首先判斷表達(dá)式, 當(dāng)表達(dá)式的值為真(非當(dāng)表達(dá)式的值為真(非0 0)時(shí),)時(shí),反復(fù)執(zhí)行循環(huán)體。為假(反復(fù)執(zhí)行循環(huán)體。為假(0 0)時(shí))時(shí)執(zhí)行循環(huán)體外面的語(yǔ)句。執(zhí)行循環(huán)體外面的語(yǔ)句。循環(huán)體循環(huán)體循環(huán)繼續(xù)的條循環(huán)繼續(xù)的條件表達(dá)式件表達(dá)式

18、下一條語(yǔ)句下一條語(yǔ)句非非0(真)(真)0(假)(假)循環(huán)體語(yǔ)句組循環(huán)體語(yǔ)句組while執(zhí)行過(guò)程執(zhí)行過(guò)程格式:格式:while(循環(huán)繼續(xù)的條件表達(dá)式)(循環(huán)繼續(xù)的條件表達(dá)式) 語(yǔ)句組語(yǔ)句組; 花括號(hào)不花括號(hào)不能丟掉!能丟掉!請(qǐng)問(wèn):下述程序?qū)崿F(xiàn)了什么功能?請(qǐng)問(wèn):下述程序?qū)崿F(xiàn)了什么功能?main( )main( ) int int i=0,sum=0 i=0,sum=0; ; while(i=10) while(i=10) sum=sum+i; sum=sum+i; i+; i+; 電子與通信工程學(xué)院 湯旭慧湯旭慧直到型循環(huán):直到型循環(huán):do-while語(yǔ)句語(yǔ)句do-while語(yǔ)句用來(lái)實(shí)現(xiàn)語(yǔ)句用來(lái)實(shí)

19、現(xiàn)“直到型直到型”循環(huán)循環(huán)執(zhí)行過(guò)程:先執(zhí)行過(guò)程:先無(wú)條件無(wú)條件執(zhí)行一次循環(huán)體,執(zhí)行一次循環(huán)體,然后判斷條件表達(dá)式,當(dāng)表達(dá)式的值然后判斷條件表達(dá)式,當(dāng)表達(dá)式的值為真(非為真(非0)時(shí),返回執(zhí)行循環(huán)體直)時(shí),返回執(zhí)行循環(huán)體直到條件表達(dá)式為假(到條件表達(dá)式為假(0)為止。)為止。絕對(duì)不能少分號(hào)!絕對(duì)不能少分號(hào)!循環(huán)體循環(huán)體格式:格式:dodo 循環(huán)體語(yǔ)句組;循環(huán)體語(yǔ)句組; while( while(循環(huán)繼續(xù)條件循環(huán)繼續(xù)條件) );花括號(hào)不花括號(hào)不能丟掉!能丟掉!循環(huán)繼續(xù)的條循環(huán)繼續(xù)的條件表達(dá)式件表達(dá)式下一條語(yǔ)句下一條語(yǔ)句非非0(真)(真)0(假)(假)循環(huán)體語(yǔ)句組循環(huán)體語(yǔ)句組請(qǐng)問(wèn):下述程序?qū)崿F(xiàn)了什么

20、功能?請(qǐng)問(wèn):下述程序?qū)崿F(xiàn)了什么功能?main( )main( ) int int i=0,sum=0; i=0,sum=0; do do sum=sum+i; sum=sum+i; i+; i+; while(i=100); while(i=100); 電子與通信工程學(xué)院 湯旭慧湯旭慧循環(huán)語(yǔ)句循環(huán)語(yǔ)句 nwhile(1);等同于等同于 while(1);無(wú)限次執(zhí)行空語(yǔ)句,原地踏步語(yǔ)句,停機(jī)無(wú)限次執(zhí)行空語(yǔ)句,原地踏步語(yǔ)句,停機(jī)nwhile(1) 循環(huán)體;循環(huán)體;無(wú)限次執(zhí)行循環(huán)體無(wú)限次執(zhí)行循環(huán)體電子與通信工程學(xué)院 湯旭慧湯旭慧C C語(yǔ)言的數(shù)據(jù)類型語(yǔ)言的數(shù)據(jù)類型C語(yǔ)言提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型形式

21、出現(xiàn)的。分類如語(yǔ)言提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型形式出現(xiàn)的。分類如下:下:指針類型基本類型字符型整型空類型構(gòu)造類型枚舉類型單精度型數(shù)組類型雙精度型實(shí)型(浮點(diǎn)型) 結(jié)構(gòu)體類型共用體類型數(shù)據(jù)類型 C程序中用到的每一個(gè)變量都要指定它們所屬的數(shù)據(jù)類型。程序中用到的每一個(gè)變量都要指定它們所屬的數(shù)據(jù)類型。 其其原因原因在于:不同類型的數(shù)據(jù)在內(nèi)存中占據(jù)在于:不同類型的數(shù)據(jù)在內(nèi)存中占據(jù)不同長(zhǎng)度的存儲(chǔ)區(qū)不同長(zhǎng)度的存儲(chǔ)區(qū),而且采用而且采用不同的表示方式不同的表示方式。一個(gè)數(shù)據(jù)類型。一個(gè)數(shù)據(jù)類型對(duì)應(yīng)著一個(gè)值的范圍對(duì)應(yīng)著一個(gè)值的范圍并且并且對(duì)應(yīng)一組允許的操作對(duì)應(yīng)一組允許的操作。 電子與通信工程學(xué)院 湯旭慧湯旭慧表達(dá)式語(yǔ)

22、句表達(dá)式語(yǔ)句p表達(dá)式:用運(yùn)算符把運(yùn)算對(duì)象連接起來(lái)的式子。表達(dá)式:用運(yùn)算符把運(yùn)算對(duì)象連接起來(lái)的式子。 p表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句由表達(dá)式加上分號(hào)由表達(dá)式加上分號(hào)“;”組成組成,其一般形,其一般形式如下:式如下: 表達(dá)式;表達(dá)式; 執(zhí)行表達(dá)式語(yǔ)句就是計(jì)算表達(dá)式的值執(zhí)行表達(dá)式語(yǔ)句就是計(jì)算表達(dá)式的值。p 空語(yǔ)句中只有一個(gè)分號(hào)空語(yǔ)句中只有一個(gè)分號(hào)“;”,程序執(zhí)行空語(yǔ)句時(shí),程序執(zhí)行空語(yǔ)句時(shí)需要占用一條指令的執(zhí)行時(shí)間,但是什么也不做。需要占用一條指令的執(zhí)行時(shí)間,但是什么也不做。p 在在C51程序中常常把程序中常常把空語(yǔ)句空語(yǔ)句作為循環(huán)體,用于消耗作為循環(huán)體,用于消耗CPU時(shí)間等待事件發(fā)生的場(chǎng)合。時(shí)間等待事件發(fā)生

23、的場(chǎng)合。 電子與通信工程學(xué)院 湯旭慧湯旭慧算術(shù)運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符和表達(dá)式u運(yùn)算符:用來(lái)表示各種不同運(yùn)算的符號(hào)。運(yùn)算符:用來(lái)表示各種不同運(yùn)算的符號(hào)。u表達(dá)式:用運(yùn)算符把運(yùn)算對(duì)象連接起來(lái)的式子。表達(dá)式:用運(yùn)算符把運(yùn)算對(duì)象連接起來(lái)的式子。u基本算術(shù)運(yùn)算符:、基本算術(shù)運(yùn)算符:、*、/、% 注意:兩個(gè)整數(shù)相除的結(jié)果仍為整數(shù)。注意:兩個(gè)整數(shù)相除的結(jié)果仍為整數(shù)。 %運(yùn)算符兩側(cè)必須為整型數(shù)據(jù)。運(yùn)算符兩側(cè)必須為整型數(shù)據(jù)。u強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符: (類型名)(表達(dá)式)(類型名)(表達(dá)式) 注意:此運(yùn)算并不改變數(shù)據(jù)原來(lái)的類型。注意:此運(yùn)算并不改變數(shù)據(jù)原來(lái)的類型。u自增自減運(yùn)算符:自增自減運(yùn)算符

24、:u算術(shù)表達(dá)式:算術(shù)表達(dá)式:main() float num1=2.5; int result; result=(int)num1+4;電子與通信工程學(xué)院 湯旭慧湯旭慧算術(shù)運(yùn)算符算術(shù)運(yùn)算符 C語(yǔ)言提供了如下算術(shù)運(yùn)算符:語(yǔ)言提供了如下算術(shù)運(yùn)算符: (加法運(yùn)算)、(加法運(yùn)算)、 (減法運(yùn)算)(減法運(yùn)算) * *(乘法運(yùn)算符)、(除法運(yùn)算符)(乘法運(yùn)算符)、(除法運(yùn)算符) % % (求余運(yùn)算符,或稱模運(yùn)算符)(求余運(yùn)算符,或稱模運(yùn)算符) 如:如: 4 % 24 % 20 0說(shuō)明:說(shuō)明: 兩個(gè)整數(shù)相除結(jié)果為整數(shù),如兩個(gè)整數(shù)相除結(jié)果為整數(shù),如8/5的結(jié)果為的結(jié)果為1,舍去小,舍去小數(shù)部分。數(shù)部分。 如果

25、參加運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為實(shí)數(shù),則結(jié)果是如果參加運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為實(shí)數(shù),則結(jié)果是實(shí)型。實(shí)型。 求余運(yùn)算要求求余運(yùn)算要求%兩側(cè)都是整型數(shù)據(jù)。兩側(cè)都是整型數(shù)據(jù)。電子與通信工程學(xué)院 湯旭慧湯旭慧溫故而知新溫故而知新請(qǐng)閱讀如下程序:說(shuō)明程序有什么問(wèn)題?修改并說(shuō)明其功能。請(qǐng)閱讀如下程序:說(shuō)明程序有什么問(wèn)題?修改并說(shuō)明其功能。main( ) int num1,num2,num3=80; num1=12; num2=57.23; unsigned char sum, mux; sum=num1*num3+num3; mux=num1*num2*num3;main( ) int num1,num2,n

26、um3=80; unsigned char sum, mux; num1=12; num2=57.23; sum=num1*num3+num3; mux=num1*num2*num3;main( ) unsigned char num1, num3=80; float num2, mux; unsigned int sum; num1=12; num2=57.23; sum=num1*num3+num3; mux=num1*num2*num3; 電子與通信工程學(xué)院 湯旭慧湯旭慧自增(自增(+)、自減()、自減(-)運(yùn)算)運(yùn)算1. 自增、自減運(yùn)算符都有兩種用法:自增、自減運(yùn)算符都有兩種用法: (

27、1)前置運(yùn)算前置運(yùn)算變量、變量變量、變量 即先增減、后運(yùn)算。即先增減、后運(yùn)算。 (2)后置運(yùn)算后置運(yùn)算變量、變量變量、變量 即先運(yùn)算、后增減。即先運(yùn)算、后增減。 2. 2. 說(shuō)明說(shuō)明(1)自增、自減運(yùn)算,常用于循環(huán)語(yǔ)句中。)自增、自減運(yùn)算,常用于循環(huán)語(yǔ)句中。(2)自增、自減運(yùn)算符,不能用于常量和表達(dá)式。自增、自減運(yùn)算符,不能用于常量和表達(dá)式。(3)嚴(yán)禁連續(xù)使同一變量進(jìn)行自增或自減運(yùn)算。嚴(yán)禁連續(xù)使同一變量進(jìn)行自增或自減運(yùn)算。電子與通信工程學(xué)院 湯旭慧湯旭慧課堂實(shí)訓(xùn)課堂實(shí)訓(xùn)請(qǐng)說(shuō)明如下程序運(yùn)行結(jié)束后,請(qǐng)說(shuō)明如下程序運(yùn)行結(jié)束后,num和和result的執(zhí)行結(jié)果?的執(zhí)行結(jié)果?main() int num

28、=6,result; result=+num; result=num-;實(shí)訓(xùn)實(shí)訓(xùn)要求:編制程序嘗試將此程序的計(jì)算結(jié)果顯示在發(fā)光要求:編制程序嘗試將此程序的計(jì)算結(jié)果顯示在發(fā)光二極管上。要求在二極管上。要求在P1口輸出口輸出result的值,在的值,在P0口輸出口輸出num的值。的值。電子與通信工程學(xué)院 湯旭慧湯旭慧實(shí)戰(zhàn)演練實(shí)戰(zhàn)演練 實(shí)訓(xùn)實(shí)訓(xùn)2:如圖所示電路,要求按照如下所示的方式:如圖所示電路,要求按照如下所示的方式1點(diǎn)亮,每點(diǎn)亮,每次點(diǎn)亮兩只燈,間隔一段時(shí)間后,再換成方式次點(diǎn)亮兩只燈,間隔一段時(shí)間后,再換成方式2點(diǎn)亮相鄰的兩點(diǎn)亮相鄰的兩只,依此類推,四次后,再回到第一次,只,依此類推,四次后,

29、再回到第一次,周而復(fù)始循環(huán)周而復(fù)始循環(huán)20次次后停機(jī)后停機(jī)。(要求分別用。(要求分別用while、do-while語(yǔ)句完成)語(yǔ)句完成) 方式方式1: 方式方式2: 方式方式3: 方式方式4:電子與通信工程學(xué)院 湯旭慧湯旭慧實(shí)戰(zhàn)演練實(shí)戰(zhàn)演練 請(qǐng)按照本課堂的教學(xué),建立開(kāi)發(fā)環(huán)境,模擬仿真調(diào)試請(qǐng)按照本課堂的教學(xué),建立開(kāi)發(fā)環(huán)境,模擬仿真調(diào)試軟件代碼,并下載實(shí)現(xiàn)如下實(shí)訓(xùn):實(shí)現(xiàn)軟件代碼,并下載實(shí)現(xiàn)如下實(shí)訓(xùn):實(shí)現(xiàn)8個(gè)燈左右個(gè)燈左右循環(huán)滾動(dòng)循環(huán)滾動(dòng)逐一點(diǎn)亮的流水燈效果逐一點(diǎn)亮的流水燈效果 。(要求。(要求周而復(fù)始循環(huán)周而復(fù)始循環(huán)20次后停機(jī)。次后停機(jī)。請(qǐng)分別用請(qǐng)分別用while、do-while語(yǔ)句完成)語(yǔ)句完

30、成)電子與通信工程學(xué)院 湯旭慧湯旭慧跑馬燈設(shè)計(jì)跑馬燈設(shè)計(jì)設(shè)計(jì)任務(wù):設(shè)計(jì)任務(wù): 指示燈指示燈LED1LED1LED8LED8分別接在分別接在P2P2口的口的P2.0P2.0P2.7P2.7管腳上,低管腳上,低電平燈亮,高電平燈滅。電平燈亮,高電平燈滅。初始狀態(tài)燈間隔點(diǎn)亮。初始狀態(tài)燈間隔點(diǎn)亮。 1.1.保持保持PAPA口其余燈的狀態(tài)不變的條件下,只關(guān)閉口其余燈的狀態(tài)不變的條件下,只關(guān)閉LED0LED0指示指示燈的跑馬燈設(shè)計(jì)。燈的跑馬燈設(shè)計(jì)。 2.2.保持保持PAPA口其余燈的狀態(tài)不變,只打開(kāi)口其余燈的狀態(tài)不變,只打開(kāi)LED7LED7指示燈的跑馬指示燈的跑馬燈設(shè)計(jì)。燈設(shè)計(jì)。 3.3.保持保持PAPA

31、口其余燈的狀態(tài)不變口其余燈的狀態(tài)不變, ,只關(guān)閉只關(guān)閉LED0LED0LED3LED3燈的跑燈的跑馬燈設(shè)計(jì)。馬燈設(shè)計(jì)。 4.4.嘗試將當(dāng)前嘗試將當(dāng)前PAPA端口所有指示燈輸出狀態(tài)相反的端口所有指示燈輸出狀態(tài)相反的C C程序設(shè)程序設(shè)計(jì)。計(jì)。 即亮燈改為滅燈,滅燈改為亮燈。即亮燈改為滅燈,滅燈改為亮燈。 電子與通信工程學(xué)院 湯旭慧湯旭慧綜合實(shí)戰(zhàn)演練綜合實(shí)戰(zhàn)演練 實(shí)訓(xùn)實(shí)訓(xùn)1:如圖所示電路設(shè)計(jì)跑馬燈。首先按一定的時(shí)間間隔:如圖所示電路設(shè)計(jì)跑馬燈。首先按一定的時(shí)間間隔從左到右依次輪流點(diǎn)亮從左到右依次輪流點(diǎn)亮1盞燈,輪完盞燈,輪完8只燈后;進(jìn)入第二輪只燈后;進(jìn)入第二輪顯示方式:從左到右依次輪流同時(shí)點(diǎn)亮顯示

32、方式:從左到右依次輪流同時(shí)點(diǎn)亮2盞燈,輪完盞燈,輪完8只燈只燈后;進(jìn)入第三輪顯示方式:從左到右依次輪流同時(shí)點(diǎn)亮后;進(jìn)入第三輪顯示方式:從左到右依次輪流同時(shí)點(diǎn)亮3盞盞燈;進(jìn)入第四輪顯示方式:從左到右輪流同時(shí)點(diǎn)亮燈;進(jìn)入第四輪顯示方式:從左到右輪流同時(shí)點(diǎn)亮4盞燈。盞燈。四輪方式結(jié)束后,再回到第一輪,周而復(fù)始。四輪方式結(jié)束后,再回到第一輪,周而復(fù)始。電子與通信工程學(xué)院 湯旭慧湯旭慧綜合實(shí)戰(zhàn)演練綜合實(shí)戰(zhàn)演練 方式方式1: 方式方式2: 方式方式3: 方式方式4: 方式方式5: 方式方式6: 方式方式7:實(shí)訓(xùn)實(shí)訓(xùn)2:如圖所示電路,要求從最上端到下端的燈輪流點(diǎn)亮:如圖所示電路,要求從最上端到下端的燈輪流點(diǎn)亮。首先如下所示的方式。首先如下所示的方

溫馨提示

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

評(píng)論

0/150

提交評(píng)論