❶ 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);
}
}
改为四相了,你看看吧。不懂再问吧。