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