單片機的一些開發技巧(一)
很多朋友正在學習單片機開發技術,但開發中免不了要碰到這樣、那樣的問題,有些問題可能無礙大局,但有一些問題卻直接影響到產品的成本、體積、性能。這里介紹筆者的幾個技巧,希望對大家的工作有幫助。
一.C語言中嵌入匯編語言
單片機開發中,通常我們使用C語言編寫主程序,這樣可以充分借助C語言工具提供的運算庫函數及強大的數據處理能力。但C語言的可控性不及匯編語言,在有些對時序要求嚴格的處理上,我們還需用靈活性更強的匯編語言來編寫。上海AVR單片機培訓這樣就產生了C語言和匯編語言混合編程的問題,一般分成三種方式:1.匯編語言調用C語言函數;2. C語言調用匯編語言;3. C語言中嵌入匯編語言。這里我們主要介紹第3種,即C語言中嵌入匯編語言。
下面的一段程序是主程序調用精確的205μS延時子程序并使P1.0交替輸出高、低電平的方波。
/*------------程序名test.c------------*/
#include P 晶振頻率12.000MHz《》
/****************/
void delay(void)//延時205μS
{
#pragma asm
MOV R0,#100
LOOP:
DJNZ R0,LOOP
#pragma endasm
}
/***************/
void main (void)//主函數,其功能使P1.0交替輸出高、低電平的方波
{
while(1)
{P1_0=!P1_0;
delay();}

評論