AT89C2051驅動步進電機的電路和源碼:AT89C2051驅動步進電機的電路和源碼 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上傳時間: 2013-11-21
上傳用戶:boyaboy
單片機應用編程技巧100問1.C語言和匯編語言在開發(fā)單片機時各有哪些優(yōu)缺點?答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。C語言是一種結構化的高級語言。其優(yōu)點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是占用資源較多,執(zhí)行效率沒有匯編高。對于目前普遍使用的RISC架構的8bit MCU來說,其內(nèi)部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執(zhí)行什幺動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在單片機開發(fā)中,我們還是建議采用匯編語言比較好。2.C或匯編語言可以用于單片機,C++能嗎?答:在單片機開發(fā)中,主要是匯編和C,沒有用C++的。3.搞單片機開發(fā),一定要會C嗎?答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。對于目前普遍使用的RISC架構的8bit MCU來說,其內(nèi)部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執(zhí)行什么動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在資源較少單片機開發(fā)中,我們還是建議采用匯編語言比較好。
上傳時間: 2013-12-10
上傳用戶:busterman
//芯片資料請到www.elecfans.com查找 //DS1820 C51 子程序//這里以11.0592M晶體為例,不同的晶體速度可能需要調整延時的時間//sbit DQ =P2^1;//根據(jù)實際情況定義端口 typedef unsigned char byte;typedef unsigned int word; //延時void delay(word useconds){ for(;useconds>0;useconds--);} //復位byte ow_reset(void){ byte presence; DQ = 0; //pull DQ line low delay(29); // leave it low for 480us DQ = 1; // allow line to return high delay(3); // wait for presence presence = DQ; // get presence signal delay(25); // wait for end of timeslot return(presence); // presence signal returned} // 0=presence, 1 = no part //從 1-wire 總線上讀取一個字節(jié)byte read_byte(void){ byte i; byte value = 0; for (i=8;i>0;i--) { value>>=1; DQ = 0; // pull DQ low to start timeslot DQ = 1; // then return high delay(1); //for (i=0; i<3; i++); if(DQ)value|=0x80; delay(6); // wait for rest of timeslot } return(value);} //向 1-WIRE 總線上寫一個字節(jié)void write_byte(char val){ byte i; for (i=8; i>0; i--) // writes byte, one bit at a time { DQ = 0; // pull DQ low to start timeslot DQ = val&0x01; delay(5); // hold value for remainder of timeslot DQ = 1; val=val/2; } delay(5);} //讀取溫度char Read_Temperature(void){ union{ byte c[2]; int x; }temp; ow_reset(); write_byte(0xCC); // Skip ROM write_byte(0xBE); // Read Scratch Pad temp.c[1]=read_byte(); temp.c[0]=read_byte(); ow_reset(); write_byte(0xCC); //Skip ROM write_byte(0x44); // Start Conversion return temp.x/2;}
上傳時間: 2013-11-03
上傳用戶:hongmo
單片機教程內(nèi)容有:CS-51單片機實用子程序庫,單片機編程入門26講,C51單片機C語言學習,單片機C語言教程,單片機應用等等。
上傳時間: 2013-10-17
上傳用戶:aysyzxzm
智能小車
標簽: 智能小車
上傳時間: 2013-10-09
上傳用戶:swaylong
小車
標簽: 智能小車
上傳時間: 2013-11-08
上傳用戶:geshaowei
一個比較簡單的算法程序。輸入一些數(shù),計算后按照矩陣的形式輸出。設了三個數(shù)組a[],b[],c[]。分別實現(xiàn)c[]=a[]+b[],c[]=a[]-b[],c[]=a[]*b[]。
上傳時間: 2015-03-23
上傳用戶:qilin
今天,幾乎所有電子設備里面都包含了嵌入式的軟件系統(tǒng)。這些軟件隱藏在我們的手表里,錄像機里,手機里,甚至可能在烤面包中。這本書就是要教你怎樣在嵌入式系統(tǒng)中使用C和C的派生語言C++。即使你已經(jīng)知道如何編寫嵌入式軟件,你還是可以從這本書里學到很多東西。 合適就看看吧。
標簽:
上傳時間: 2014-01-10
上傳用戶:徐孺
Source files for pxa ac97 sound driver The packet contains the files that is listed below driver files /SOURCE/drivers/sound Makefile ac97.c ac97.h ac97_codec.c pxa-ac97.c pxa-audio.c pxa-audio.h sound_core.c /SOURCE/include/linux soundcard.h
標簽: files contains Source driver
上傳時間: 2013-12-31
上傳用戶:qunquan
拷貝構造和賦值操作符,C#和本機 C++ 代碼的互用性
標簽: 操作符
上傳時間: 2014-01-25
上傳用戶:youlongjian0