c语言中void delay0.5(),第5章补充 单片机C语言基础.ppt
第5章補(bǔ)充 單片機(jī)C語言基礎(chǔ).ppt
2.中斷函數(shù)舉例 例4-16 本例程序電路圖可參考圖4-1。下面的程序的功能是:對外部中斷1中斷次數(shù)計數(shù),并送P0口顯示。 #include unsigned char ex1_counter = 0; void ex1_isr (void) interrupt 2 { P0=ex1_counter++; //加一送P0顯示 } void main (void) { IT1 = 1; // INT0 下降沿觸發(fā) EX1 = 1; // 使能INT0 EA = 1; // 開總中斷 while (1) ; //死循環(huán) } 3.未用到的中斷的處理 為了提高代碼的容錯能力和系統(tǒng)的可靠性,對于不使用的中斷,編寫一個空的中斷函數(shù),使之在中斷入口處生成RETI指令并能通過該指令返回主程序。例如外中斷0若不用,可以編寫如下空中斷函數(shù)。 int0_int() interrupt 0{} //外中斷0 timer0_int() interrupt 1{}//定時器0中斷 Int1_int() interrupt 2 {} //外中斷1 timer1_int()interrupt 3 {} //定時器1中斷 serial_int()interrupt 4{}//串行口中斷 4.6預(yù)處理命令、庫函數(shù)4.6.1 預(yù)處理命令 預(yù)處理命令是在編譯前預(yù)處理的命令,編譯器不能直接對它們處理,是在編譯前預(yù)先處理的命令。 1)不帶參數(shù)的宏定義 用指定的標(biāo)識符來代表一個字符序列。 一般的定義形式為: #define 標(biāo)識符 字符序列 宏定義后,程序中可以使用宏名,并將形參換成實參。 2)帶參數(shù)的宏定義 預(yù)處理時不但進(jìn)行字符替換,而且替換字符序列中的形參。一般定義形式如下: #define 標(biāo)識符(形參) 字符列表 #define S(a,b) a*b area=S(3,2) 2.類型定義typedef 使用基本類型定義后聲明變量時,用數(shù)據(jù)類型關(guān)鍵字指明變量的數(shù)據(jù)類型,而用結(jié)構(gòu)、聯(lián)合等定義變量時,先定義結(jié)構(gòu)、聯(lián)合的類型,再使用關(guān)鍵字和類型名定義變量。如果用typedef定義新的類型名后,只要用類型名就可定義新的變量。例如: typedef struct {int num; char *name; float score;}std;/*定義結(jié)構(gòu)類型std*/ 之后即可以定義這種類型的結(jié)構(gòu)變量。 如:std stu1, stu2; 3.文件包含#include 文件包含命令是將另外的文件插入到本文件中,作為一個整體文件編譯。只有用#include命令包含了相應(yīng)頭文件,才可以調(diào)用庫中的函數(shù)。包含命令的一般使用形式為:#include“ 文件名”或#include 4.6.2 庫函數(shù) 1.本征函數(shù)頭文件intrins.h intrins.h含有常用的本征函數(shù),本征函數(shù)也稱內(nèi)聯(lián)函數(shù),這種函數(shù)不采用調(diào)用形式,編譯時直接將代碼插入當(dāng)前行。 2.SFR定義的頭文件regxxx.h 其中定義了各種型號單片機(jī)中特殊功能寄存器及特殊功能寄存器中特定位的定義,是用C語言對單片機(jī)編程時最為常用的頭文件。 3.絕對地址訪問宏定義頭文件absacc.h 此頭文件定義了幾個宏,以確定各存儲空間的絕對地址。通過包含此頭文件,可以定義直接訪問擴(kuò)展存儲器的變量。 常用的庫函數(shù)頭文件還有:stdlib.h(標(biāo)準(zhǔn)函數(shù))、string.h(字符串函數(shù))、stdio.h(一般I/O函數(shù))、stdarg.h(變量參數(shù)表)等 4.7 匯編語言與C語言混合編程4.7.1 C程序與匯編程序之間的參數(shù)傳遞 在混合語言編程中,需要解決的主要問題是入口參數(shù)和出口參數(shù)的傳遞。C51可以使用寄存器來傳遞參數(shù)對于C51,它對寄存器的使用通常是隱性的,以Keil為例,他用寄存器最多只能傳遞3個參數(shù)),也可以使用固定的存儲器或堆棧。 參數(shù)個數(shù) 參數(shù)類型 參數(shù)類型 參數(shù)類型 參數(shù)類型 char int Long或float 指針 1 R7 R6和R7 R4~R7 R1~R3 2 R5 R4和R5 R4~R7 R1~R3 3 R3 R2和R3 未指定 R1~R3 4.7 匯編語言與C語言混合編程4.7.1 C程序與匯編程序之間的參數(shù)傳遞 Keil 在函數(shù)返回值方面的規(guī)定見表 函數(shù)返回值類型 寄存器 Bit CY Char R7 Int R6或R7 Long R4~R7 Float R4~R7 指針 R1~R3 4.7 匯編語言與C語言混合編程4.7.1 C程
總結(jié)
以上是生活随笔為你收集整理的c语言中void delay0.5(),第5章补充 单片机C语言基础.ppt的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果 iOS 16.4 测试版暗示苹果
- 下一篇: c语言中数组大小10000,C语言,怎么