1)auto這個關(guān)鍵字用于聲明變量的生存期為自動,即將不在任何類、結(jié)構(gòu)、枚舉、聯(lián)合和函數(shù)中定義的變量視為全局變量,而在函數(shù)中定義的變量視為局部變量。這個關(guān)鍵字不怎么多寫,因為所有的變量默認就是auto的。(2)register這個關(guān)鍵字命令編譯器盡可能的將變量存在CPU內(nèi)部寄存器中而不是通過內(nèi)存尋址訪問以提高[詳細]
在C51中,函數(shù)返回值傳遞的規(guī)則是什么?答:(1)調(diào)用時參數(shù)的傳遞分三種情況:少于等于3個參數(shù)時通過寄存器傳遞(寄存器不夠用時通過存儲區(qū)傳遞),多于3個時有一部分通過存儲區(qū)傳遞,對于重入函數(shù)參數(shù)通過堆棧傳遞。通過寄存器傳遞速度最快。(2)函數(shù)返回值的傳遞當函數(shù)有返回值時,其傳遞都是通過寄存器 [詳細]
/* 名稱:閃爍的 LED說明:LED 按設(shè)定的時間間隔閃爍*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED=P1^0;//延時void DelayMS(uint x){uchar i;while(x--){for(i=0;i<[詳細]
如何在C51文件和匯編語言文件中相互調(diào)用對方文件中的函數(shù)?答:匯編語言文件中對于函數(shù)的調(diào)用方法,與調(diào)用匯編語言中的函數(shù)一樣,如:LCALL DISPLAY在C語言文件中調(diào)用匯編語言中的函數(shù),必須先聲明再調(diào)用。聲明格式如下:extern 返回值類型 函數(shù)名(參數(shù)表);例如: extern unsigned char right_shift ( char,[詳細]
1. 無論什么時候我們都要以實際應(yīng)用的角度去考慮程序的編寫。2. 無論什么時候都不要讓CPU白白浪費等待,尤其是延時(超過1MS)這樣的地方。3.設(shè)計相應(yīng)驅(qū)動電路時候,應(yīng)該仔細閱讀芯片的數(shù)據(jù)手冊,了解每個引腳的驅(qū)動能力,以及整個芯片的驅(qū)動能力。4.最重要的是,如何去釋放CPU(如果是led每500ms閃爍一次,那么[詳細]
1 簡 述所有的中檔系列PIC單片機,PORTB端口最高的4個引腳(RB7~RB4)在設(shè)為輸入模式時,當輸入電平由高到低或由低到高發(fā)生變化時,可以讓單片機產(chǎn)生中斷。這就是通常所說的引腳狀態(tài)變化中斷。在設(shè)計引腳中斷程序時,有三個需要特別注意的地方。一是,在清除P0RTB中斷標志位RBIF之前,必須安排一條必不可少的,[詳細]
1.編寫一C51函數(shù),把從鍵盤輸入的5位十進制數(shù)數(shù)轉(zhuǎn)換成一個無符號整型數(shù)(假設(shè)未超出整型數(shù)范圍)。設(shè)從鍵盤輸入的數(shù)存放在一無符號數(shù)組中,低位數(shù)為低下標元素。unsigned char data key_buffer[5];unsigned int trans_int(void){ unsigned char data i; unsigned in[詳細]
/* 名稱:8 只 LED 左右來回點亮說明:程序利用循環(huán)移位函數(shù)_crol_和_cror_形成來回滾動的效果*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//延時void DelayMS(uin[詳細]
(1)這兩天一直在受一個問題的干擾,那就是做單片機串口通信的時候,有些數(shù)據(jù)總是傳得不對:當顯示0~f這些數(shù)字的時候,顯示沒有錯誤,而顯示其它8位數(shù)據(jù)的時候都錯了,發(fā)送11(16進制)時,到單片機上居然是49(十進制),這顯然是不對的,一直懷疑是程序的問題,反復(fù)地檢查和修改之前編的一個數(shù)碼管動態(tài)顯示子程序[詳細]
曾在某個論壇上看過這樣一句話——給每個模塊都分配一個時間,這樣才能寫好匯編。當時覺著有些道理,卻不能很深地體會。記得剛學(xué)單片機匯編的時候,印象最深的莫過于循環(huán)點亮一排led.。先點亮一個、延時、計數(shù)值不為零則移位(寄存器)點亮下一個......十分類似于c中的while(n--){//...led=1;dela[詳細]
//ADS1.2下編譯使用void TestFun(char* fmt,...){int ch;char selch = 0;va_list ap = NULL;va_start(ap, fmt);do{selch = *fmt;if (selch!='%'){putchar(*fmt);}else{selch = *++fmt;switch(selch){case 'c':ch = va_arg(ap, int);printf("%c",ch);break;case 'd':ch = va_[詳細]
/* 名稱:從左到右的流水燈說明:接在 P0 口的 8 個 LED從左到右循環(huán)依次點亮,產(chǎn)生走馬燈效果*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int //延[詳細]
/* 名稱:花樣流水燈說明:16 只 LED 分兩組按預(yù)設(shè)的多種花樣變換顯示*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code Pattern_P0[]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7[詳細]
/* 名稱:K1-K4 按鍵狀態(tài)顯示說明:K1、K2 按下時 LED 點亮,松開時熄滅,*/ K3、K4 按下并釋放時 LED 點亮,再次按下并釋放時熄滅; #include<reg51.h>#define uchar unsigned char#define&nb[詳細]
/* 名稱:數(shù)碼管顯示撥碼開關(guān)編碼說明:系統(tǒng)顯示撥碼開關(guān)所設(shè)置的編碼 000~255 */#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//各數(shù)字的數(shù)碼管段碼(共陰)uchar code DSY_CO[詳細]
/* 名稱:外部 INT0 中斷控制 LED說明:每次按鍵都會觸發(fā) INT0 中斷,中斷發(fā)生時將 LED 狀態(tài)取反,產(chǎn)生 LED 狀態(tài)由按鍵控制的效果*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit L[詳細]
做了好一段時間的msp430單片機的編程,隨意想一點點東西寫下來,也算是給歲月增加一圈年輪。我做msp430的編程使用IAR,用C語言來說。在調(diào)試和編程中經(jīng)常遇到一些個問題,如下:1、中斷中斷是單片機很重要的一個問題,也是難處理的一個問題。在調(diào)試中經(jīng)常遇到問題。1)打開了中斷開關(guān),但是忘了寫中斷服務(wù)程序[詳細]
/* 名稱:LED 模擬交通燈說明:東西向綠燈亮若干秒,黃燈閃爍 5 次后紅燈亮, 紅燈亮后,南北向由紅燈變?yōu)榫G燈,若干秒后南北向黃燈閃爍 5 此后變紅燈,東西向變綠燈,如此重復(fù)。*/#include<reg51.h>#define uchar unsigned char#define u[詳細]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4