❶ proteus元件庫裡面,都有那些系列的單片機
MCS51全系列,PIC12/16系列,AVR的ATMEGA8/16/32系列,ARM的2104、2105、2106、2114、2124;MOTO的68HC系列等。
❷ 常用單片機的型號
常用單片機的型號有8 位單片機、16位單片機、32位單片機。
1、8 位單片機
這類單片機的控制功能較強,品種最為齊全,由於其片內資源豐富和功能強大,主要在工業控制、智能儀表、家用電器和辦公自動化系統中應用。
2、16位單片機
CPU是16 位的,運算速度普遍高於8 位機,有的單片機的定址能力高達1MB,片內含有A/D 和D/A轉換電路,支持高級語言。
3、32位單片機
32位單片機的字長為32位,是單片機的頂級產品,具有極高的運算速度。代表產品有Intel公司的MCS-80960系列、Motorola公司的M68300系列、Hitachi公司的Super H(簡稱SH)系列等。
(2)單片機motoc擴展閱讀
單片機的特點
1、低功耗3種低功耗模式
休眠,停止,待機模式。為RTC和備份寄存器供電的VBAT。
2、調試模式
串列調試(SWD)和JTAG介面。
3、DMA
12通道DMA控制器。支持的外設:定時器,ADC,DAC,SPI,IIC和UART。3個12位的us級的A/D轉換器(16通道)
4、A/D測量范圍
0-3.6V。雙采樣和保持能力。片上集成一個溫度感測器。
❸ 52單片機實現控制直流電機調速(C語言)
pwm波,控制占空比硬體需要電機驅動晶元比如298PWM輸出腳P1.1腳:#define
out
P1^1占空比全局變數
unsigned
char
ZKB;
//ZKB=1~100即1%~100%void
moto_control(){unsigned
char
i;for(i=0;i<100;i++){if(i==0)out=1;if(i==ZKB)out=0;}}
❹ 現在常用的單片機有哪些型號
型號多了去了。只能跟你說類型的。
1:51結構的有Atmel的AT89CXX系列、AT89Sxx系列、AT89C20系列(20引腳);STC的所有單片機都是51結構的。還有合泰的,笙泉的都是51結構的。
2:AVR單片機
3:PIC單片機(8位、16位、32位都有)
4:飛思卡爾單片機(就是原摩托羅拉單片機,後來脫離moto自己單干就改名)
5:ti公司的MSP430單片機
6:三星單片機
7:NEC單片機
8:松下單片機
9:三菱單片機
10:瑞薩單片機
11:義隆單片機
……
太多了上述的除了第一項的都是一個結構的單片機外,其他的相互之間結構都不一樣。而且每種幾乎都進百個型號的單片機。對於初學者來說接觸最多的51結構的單片機。但工業上用的多的卻是除了51以外的單片機。
還有國產的海爾單片機也用的多,因為海爾的家電賣得多,他們用自己的單片機也多,但似乎海爾單片機的結構跟PIC的是差不多的。
❺ 求單片機控制步進電機簡單的c程序
幾相的步進電機啊?用不用驅動晶元?用的話選什麼型號的驅動晶元?你要說具體點啊!
先給你三相的,個不用驅動晶元的步進電機程序。(驅動電路自己做)
#include
#define
uchar
unsigned
char
#define
uint
unsigned
int
uint
time
void
timer1(void)
interrupt
1
using
1{
//定時器0中斷,定時1ms//
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
time++;
}
void
delay(uint
n){
//一般延時
while(--n);
}
void
delay(uint
dtime){
//延時
TR0=1;
while(time<=dtime);
time=0;
TR0=0;
}
void
moto(bit
cf,uchar
n,uint
dtime){
//電機驅動子程序,
uchar
idata
zhpai[4]={0x78,0xb8,0xd8,0xe8};
uchar
idata
fpai[4]={0xe8,0xd8,0xb8,0x78};
uchar
i,l=0;
if(cf==0)
//正轉,A-B-C-A
for(i=0;i<n;i++){
P1=zhpai[l];//P1.7~1.4為輸出口,分別為A、B、C、D
l++;
delay(dtime);
if(l==4)l=0;
}
else{
//反轉,C-B-A-C
for(i=0;i<n;i++){
P1=fpai[l];
l++;
delay(dtime);
if(l==4)l=0;
}
}
}
void
main(){
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
while(1){
moto(0,4,70);//正轉,轉四相,每相間隔70ms
delay(10000);
moto(1,4,70);//反轉,轉四相,每相間隔70ms
delay(10000);
}
}
改為四相了,你看看吧。不懂再問吧。