孟晓艺最近在哪直播:C51单片机和AVR单片机的有什么区别

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 23:37:05
1.C51单片机的程序是不是和AVR单片机通用呢?
2.C51单片机和AVR单片机的有什么区别?

非常感谢!!1

一、51单片机的I/O端口大部分是准双向口,在复位期间全部输出高电平,对端口的输入和输出操作也试直接通过I/O端口的地址进行的。AVR的I/O端口为标准双向口,在复位期间所有端口处于没有上拉电阻的输入状态(高阻态,管脚电平完全由外部电路决定),这在强调复位状态的场合是很有用的。AVR的每个端口对应三个地址,即DDRX、PORTX和PINX。
  二、51单片机的定时/计数器有两个基本用法,即以晶振频率的十二分频信号作为输入的定时器工作方式,或以外部引脚INT0、INT1 上输入信号的计数器工作方式。AVR的定时/计数器用作定时器时,其输入信号可选为晶振品率的某一个分频信号,分频比为1、8 、64 、256 、1024五种,作为计数器使用时,即可上升沿触发也可下降沿触发。
  三、51单片机有6个中断源(5个中断入口地址),分为两个优先级,并且是通过IE寄存器控制中断的使能,通过IP控制中断的优先等级,而AVR中根据不同单片机有不同数量的中断源,
  四、51单片机川口通讯的波特率发生需要使用一个定时器,而且支持的波特率也比较低,AVR单片机可以有较高的波特率,最高可达115200bps.而且有专用的波特率发生器。

AVR 单片机是ATMEL 在90年代推出的精简指令集RISC的单片机,跟PIC类似.使用哈佛结构.可以这样类比,AT89C52相当于复杂指令集CISC的intel的奔腾CPU,AT90S8515相当于AMD的精简指令集RISC的K7 CPU.

以上是指令集的类比.AVR是专门为使用高级语言设计的,在使用高级语言时,
会比89C52有较佳的表现. 可以直接替代89C52的CPU是AT90S4414和AT90S8515.在这里以AT90S8515来做说明,版主以后的文章也会以AT90S8515来说明.虽然AT90S8515的引脚跟AT89C52差不多,但是还有一些区别.

1.avr为risc结构cpu,大多数指令在一个时钟周期内完成.所以MIPS比51高
2.avr单片机的复位电平为负逻辑, 而51为正逻辑
3.汇编的程序不通用,但是如果用c写的程序还是可以移植的.