溫馨提示:將鼠標(biāo)指針放在圖片上,滾動鼠標(biāo)可以動態(tài)改變圖片大小,方便分析電路圖。
例2 C語言程序與匯編語言程序的調(diào)用,其子程序如下:#page#
PUBLIC AD ;入口地址
SEG_AD SEGMENT CODE ;程序段
RSEG SEG_AD
USING 0
AD: MOV R6,#00
MOV R7,#00
SETB P1.1
ACALL DELAY
CLR P1.1
ACALL DELAY
MOV R0,#10
RR0: SETB P1.2
NOP
CLR P1.2
DJNZ R0,RR0
ACALL DELAY
MOV 30H,R6 ;A/D轉(zhuǎn)換的高
;兩位保存在R6中
ACALL CIR
MOV R6,30H
SETB P1.2
NOP
CLR P1.2
MOV 30H,R6
ACALL CIR
MOV R6,30H
MOV R0,#8 ;A/D轉(zhuǎn)換的低
;8位保存在R7中
RR2: SETB P1.2
NOP
CLR P1.2
MOV 30H,R7
ACALL CIR
MOV R7,30H
DJNZ R0,RR2
RET
CIR: CLR C
MOV C,P1.0
MOV A,30H
RLC A
MOV 30H,A
RET
END
在程序中,函數(shù)的返回值為一無符號整型數(shù),根據(jù)調(diào)用規(guī)則,返回值的高位在R6中,低位在R7中,這樣才可保證數(shù)據(jù)的傳遞不出錯。,在調(diào)用過程中,注意寄存器的入棧。這樣在以后用到A/D轉(zhuǎn)換時,在C語言中調(diào)用匯編語言子程序AD()。
3 C51中斷過程
C51編譯器支持在C源程序中直接開發(fā)中斷過程,減輕了使用匯編語言的繁瑣工作,提高了開發(fā)效率。中斷服務(wù)函數(shù)的完整語法如下:
void 函數(shù)名(void)[模式]
[再入]interrupt n [using r]
其中n(0~31)代表中斷號。C51編譯器允許32個中斷,具體使用哪個中斷由80C51系列的芯片決定。r(0~3)代表第r組寄存器。在調(diào)用中斷函數(shù)時,要求中斷過程調(diào)用的函數(shù)所使用的寄存器組與其。"再入"用于說明中斷函數(shù)有無"再入"能力。C51編譯器對C語言的擴充允許編程者對中斷的控制和寄存器組的使用。這種支持能使編程者創(chuàng)建高效的中斷服務(wù)程序,用戶只須在C語言下關(guān)心中斷和必要的寄存器組切換操作。
例3 設(shè)單片機的fosc=12MHz,要求用T0的方式1編程,在P1.0腳輸出周期為2ms的方波。
用C語言編寫的中斷服務(wù)程序如下: #page#
#include
sbit P1_0=P1^0;
void timer0(void)interrupt 1 using 1 {
/*T0中斷服務(wù)程序入口*/
P1_0=!P1_0;
TH0=-(1000/256); /*計數(shù)初值重裝*/
TL0=-(1000%256);
}
void main(void)
{
TMOD=0x01; /*T0工作在定時器方式1*/
P1_0=0;
TH0=-(1000/256); /*預(yù)置計數(shù)初值*/
TL0=-(1000%256);
EA=1; /*CPU開中斷*/
ET0=1; /*T0開中斷*/
TR0=1; /*啟動T0*/
do{}while(1);
}
在編寫中斷服務(wù)程序時注意不能進行參數(shù)傳遞,不能有返回值。
4 結(jié)論
C51編譯器不但可以縮短單片機控制系統(tǒng)的開發(fā)周期,而且易于調(diào)試和維護。此外,C51語言還有許多強大的功能,如提供豐富的庫函數(shù)供用戶直接調(diào)用,完整的編譯控制指令為程序調(diào)試提供必要的符號信息等等。總之,C51語言是廣大單片機開發(fā)人員的強有力的工具。
容-源-電-子-網(wǎng)-為你提供技術(shù)支持
本文地址:http://www.189yp.com/dz/22/512322424.shtml
本文標(biāo)簽:
猜你感興趣:
展頻晶振(Spread Spectrum Crystal Oscillator,簡稱SSXO)應(yīng)運而生。展頻晶振是一種特殊類型的晶體振蕩器,主要依托于擴展頻譜技術(shù)。這項技術(shù)在抗干擾通信中有著廣泛的應(yīng)用
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
什么是可編程晶振?可編程晶振多為有源晶振,由兩個芯片組成;一個是全硅MEMS諧振器,一個是具有溫補功能的芯片,可以啟動電路鎖相環(huán)CMOS。它采用標(biāo)準(zhǔn)化的半導(dǎo)體芯片MCM封裝。可以采用全自動標(biāo)準(zhǔn)半導(dǎo)體制造工藝
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
可編程差分振蕩器 YSO210PR在機器人的智能視覺控制、工業(yè)屏、望遠鏡等領(lǐng)域具有顯著優(yōu)勢。其高精度、穩(wěn)定性和靈活的定制特性使得YSO210PR成為了機器人應(yīng)用中不可或缺的元器件,為機器人技術(shù)的發(fā)展和應(yīng)用提供了強有力的支持。
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
在通信科技的推動下,智能終端天線和低抖動晶振不斷創(chuàng)新,將引領(lǐng)通信產(chǎn)業(yè)進入新的時代。YSO690PR系列作為高性能智能終端通信利器,將為各類智能終端設(shè)備提供更加穩(wěn)定和高效的通信支持,推動科技的蓬勃發(fā)展。無論是日常生活還是工業(yè)應(yīng)用,這些優(yōu)秀的技術(shù)將為人們帶來更加便捷、智能的通信體驗。
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
​YSO690PR穩(wěn)定可靠的低抖動石英可編程晶振,確保可見光紅外模塊應(yīng)用在各種環(huán)境和條件下都能提供出色的性能和精確的頻率輸出。讓QMEMS振蕩器YSO690PR成為交換機、對講機、充電樁、打印機等行業(yè)的理想選擇!
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
電壓有源晶振 YSO110TR的優(yōu)勢在于其高精度和穩(wěn)定性。10MHz的頻率下,其全溫范圍內(nèi)總頻差僅為±30PPM,這意味著即使在嚴(yán)酷的環(huán)境條件下,晶振的頻率波動也非常小,保證了BMS系統(tǒng)的高精度控制和穩(wěn)定性。無論是在高溫還是低溫環(huán)境中,YSO110TR都能保持可靠的性能,為電池管理系統(tǒng)提供持久穩(wěn)定的時鐘信號
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
在工業(yè)相機行業(yè)中,石英可編程晶振扮演著至關(guān)重要的角色。為了滿足不同應(yīng)用需求,YXC引入了低抖動石英可編程晶振QMEMS振蕩器YSO690PR,為工業(yè)相機的穩(wěn)定運行提供了理想解決方案。
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
作為溫度采集器的關(guān)鍵組成部分之一,晶振在保證采集器的精確性和可靠性方面發(fā)揮著重要的角色。在這一背景下,YXC揚興科技推出了旗下的產(chǎn)品系列之一——YSO110TR寬電壓有源晶振,為溫度采集器行業(yè)提供了高品質(zhì)的解決方案。
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
YSO110TR寬電壓有源晶振是服務(wù)器中不可或缺的關(guān)鍵組件,其高精度、高穩(wěn)定性、多電壓兼容性和工業(yè)級耐溫特性,使其成為服務(wù)器領(lǐng)域的優(yōu)質(zhì)選擇。無論是拼接屏控制器、充電樁、光伏逆變器、360后視鏡、攝像頭、手機屏、筆電顯卡、交換機、路由器還是光模塊等應(yīng)用,YSO110TR都能為服務(wù)器提供卓越的性能和可靠性保障,助力服務(wù)器行業(yè)不斷發(fā)展進步。
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
現(xiàn)在晶振廣泛應(yīng)用于汽車電子、安防監(jiān)控、醫(yī)療設(shè)備、航空設(shè)備、互聯(lián)網(wǎng)設(shè)備等智能電子產(chǎn)品中,發(fā)揮著重要作用,據(jù)說市場上85%的電子產(chǎn)品應(yīng)用于廣泛的領(lǐng)域。
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
差分可編程振蕩器 YSO210PR 是一款功能強大的產(chǎn)品,具備10-1500MHz超寬頻率范圍的特點,用戶可以隨意編程頻率,并且實現(xiàn)精確輸出到小數(shù)點后6位的精度。這種高度可編程的特性使得 YSO210PR 在不同應(yīng)用場景下能夠靈活應(yīng)對各種頻率要求,無論是低頻還是高頻應(yīng)用,都能滿足客戶的需求。
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
可編程晶振。簡單來說就是一種任意編程頻率的晶振,可以通過一個發(fā)生器放大或縮小,有選擇地實現(xiàn)各種總線頻率。在實際應(yīng)用或初步了解中,會遇到各種各樣的問題。以下編輯列出了與SiTime可編程晶振相關(guān)的一些常見問題和答案。
OE和ST功能有什么區(qū)別?
關(guān)鍵詞: 所屬欄目:電子基礎(chǔ)
運用單片機便是了解單片機硬件結(jié)構(gòu),以及內(nèi)部資源的運用,在匯編或C語言中學(xué)會各種功用的初始化設(shè)置,以及完成各種功用的程序編制。 運用按鈕輸入信號,發(fā)光二極管顯現(xiàn)輸出
關(guān)鍵詞:51單片機PIC單片機單片機 所屬欄目:設(shè)計編程
現(xiàn)場總線技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)控制中,尤其是CAN(Controler Area Nerwork)總線由于具有可靠性高、成本低、容易實現(xiàn)等優(yōu)點,在現(xiàn)場總線實際工程應(yīng)用中占有了較大份額。
關(guān)鍵詞:單片機 所屬欄目:設(shè)計編程
我的答案是:不可以原因如下:一、軟件仿真多用于教學(xué),把更多精力用在軟件的實現(xiàn)上由于學(xué)生學(xué)習(xí)時間寶貴,焊接一套單片機實驗板又比較花時間,并且實驗項目太多,所以為了
關(guān)鍵詞:PIC單片機51單片機單片機 所屬欄目:設(shè)計編程
對于新手來說,首先根據(jù)自己學(xué)的什么樣單片機就選什么類型的單片機,熟悉什么類型的單片機就選什么類型的單片機。因為單片機不僅要設(shè)計電路,還要設(shè)計控制軟件。選自己熟悉的單片機上手最快,也最容易獲得成功。下面介紹如何選擇最適合的單片機。
關(guān)鍵詞: 所屬欄目:設(shè)計編程
單片機晶振的作用是什么
在初學(xué)單片機的時候,總是伴隨很多有關(guān)于晶振的問題,其實晶振就是如同人的心臟,是血液的脈搏,把單片機的晶振問題搞明白了,51單片機的其他問題
關(guān)鍵詞:51單片機PIC單片機單片機 所屬欄目:設(shè)計編程
Keil單片機編程軟件Keil C51是單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯
關(guān)鍵詞:51單片機PIC單片機 所屬欄目:設(shè)計編程
詳解51單片機運行過程 注:1.ROM:只讀存儲器,單片機的只讀存儲區(qū)大多用于存儲程序固又稱程序存儲器。51單片機是EPROM,所謂的EPROM是可擦除的只
關(guān)鍵詞: 所屬欄目:設(shè)計編程
pic單片機和c51有什么區(qū)別(區(qū)別1)總線結(jié)構(gòu):MCS-51單片機的總線結(jié)構(gòu)是馮-諾依曼型,計算機在同一個存儲空間取指令和數(shù)據(jù),兩者不能同時進行;而PIC單片機的總線結(jié)構(gòu)是哈佛結(jié)構(gòu)
關(guān)鍵詞:單片機PIC單片機51單片機 所屬欄目:設(shè)計編程