产品选型

avr与pic单片机 细数pic单片机,pic单片机与51AVR单片机IO操作

小编 2024-10-09 产品选型 23 0

细数pic单片机,pic单片机与51AVR单片机IO操作

pic单片机使用较多,因此学习pic单片机的人数也相对较多。对于pic单片机,它的优点众所皆知。此文对pic单片机的讲解在于介绍pic单片机的IO口操作。但本文不仅仅局限于pic单片机,同样将对51单片、AVR单片机IO操作加以介绍,一起来了解下吧。

51单片机、AVR单片机和PIC单片机IO口结构的均不同,导致了IO口操作也不同。操作单片机IO口的目的是让单片机的管脚输出逻辑电平和读取单片机管脚的逻辑电平。

一.51单片机IO口的操作

51单片机IO口的结构比较简单,每个IO口只有一个IO口寄存器Px,而且这个寄存器可以位寻址,操作起来是所有单片机里最简单的,可以直接进行总线操作也可以直接进行位操作,这也是51单片机之所以成为经典的原因之一。下例的运行坏境为Keil软件,器件为AT89S52。

#i nclude

sbit bv=P2^0;//定义位变量,关联P2.0管脚。sbit是C51编译器特有的数据类型

int main(void)

{

unsigned char pv;

//位操作,以P2口的第0位为例:

bv=0;//直接对P2口的第0位管脚输出低电平

bv=1;// 直接对P2口的第0位管脚输出高电平

//总线操作输出数据,以P2口为例:

P2=0xaa;//直接赋值,P2口输出数据0xaa

//总线操作读取数据,以P2口为例:

pv=P2;//直接读取P2口的数据放到pv变量

return 0;

}

二.AVR单片机IO口的操作

AVR单片机IO口的结构比较复杂,每个IO由三个寄存器组成:IO口数据寄存器POTx、IO口方向寄存器DDRx和IO口输入引脚寄存器PINx。AVR单片机IO口操作相当麻烦,需要设置IO口的方向,而且只能进行总线操作,如果进行位操作还需要掌握编程技巧---通过逻辑运算来实现位操作。下例的运行坏境为ICCAVR软件,器件为ATMEGA16。

//总线操作输出数据,以D口为例:

DDRD=0xff;//先设置D口的方向为输出方式(相应位设0为输入,设1为输出)

PORTD=0xaa;//赋值,D口输出数据0xaa

//总线操作读取数据,以D口为例:

DDRD=0x00//先设置D口的方向为输入方式(相应位设0为输入,设1为输出)

PORTD=0xff;//再设置D口为带上拉电阻(相应位设0为无上拉,设1为有上拉),才能准确读取数据

pv=PIND;//读取D口的PIND寄存器的数据放到pv变量

//位操作,以D口的第0位为例:

DDRD|=0x01;//先设置D口第0位的方向为输出方式,其他位的方向不变

PORTD|=0x01;//D口的第0位输出高电平,技巧:使用位或运算,其他位不变

PORTD&=~0x01;//D口的第0位输出低电平,技巧:使用取反位与运算,其他位不变

三.PIC单片机IO口的操作

PIC单片机IO口的结构也比较复杂,每个IO由两个寄存器组成:IO口数据寄存器PORTx、和IO口方向寄存器TRISx。操作起来比AVR单片机简单一些,同样需要设置IO的方向,可以进行总线操作也可以进行位操作。下例的运行坏境为MPLAB IDE软件,器件为PIC16F877。

#i nclude

__CONFIG(0x3B32);

//总线操作输出数据,以B口为例:

TRISB=0x00;//先设置B口的方向为输出方式(相应位设0为输出,设1为输入)

PORTB=0xaa;//赋值,B口输出数据0xaa

//总线操作读取数据,以B口为例:

TRISB=0xff;//先设置B口的方向为输入方式(相应位设0为输出,设1为输入)

pv=PORTB;//读取B口的数据放到pv变量

//位操作,以B口的第0位为例:

TRISB=0xfe;//先设置B口的第0位(RB0)的方向为输出方式(相应位设0为输出,设1为输入)

RB0=1;//B口的第0位输出高电平

RB0=0;//B口的第0位输出低电平

经过比较这三种单片机IO口的操作,我们知道,51单片机IO口结构简单,操作简单,但没有高电平大电流驱动能力;AVR和PIC单片机IO 口结构复杂,操作麻烦,但具备高电平大电流驱动能力。换句话说,单片机的IO口的功能越强大结构越复杂操作越繁琐。

以上便是此次小编带来的“pic单片机”相关内容,通过本文,希望大家对pic单片机、51单片机以及AVR单片机的IO口操作具备一定的认知。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

PIC单片机与AVR单片机

一、PIC单片机

特性:

1、从实际出发,已开发出多种型号来满足应用需求;

2、精简指令集(RISC);

3、优越的开发手段;

4、其引脚具有防瞬态能力;

5、保密性好;

6、设有休眠和省电工作方式。

二、AVR单片机

特点:

1、高速、高可靠性、功能强、低功耗和低价位,废除机器周期,采用精简指令集,可高速执行指令;

2、片内Flash存储器,片内大容量RAM;

3、丰富的片内外设,多种串口;

4、I/O口驱动能力大;

5、低功耗;

6、支持程序的在系统编程(ISP),其中MEGA系列还支持在线应用编程(IAP);

7、程序保密性好。

3d芯片

相关问答

arm 单片机 avr 、51有什么区别?

简单的说,CPU构架不同,虽然都是8位的,但指令集不同,AVR是用RISC的,哈佛结构的总线;51是用CISC,冯诺衣曼结构的总线。跟AVR比,51是老掉牙的东西,内部资源...简...

单片机 和ARM有什么区别?

欢迎大家关注狗哥,学习更多单片机干货1、单片机指单芯片上集成了控制器、存储器以及如定时器、SPI、IIC等外部设备于一体的片上系统,可以用来执行复杂的功能,...

2018流行什么 单片机 ?推荐全球热销 单片机 品牌排行榜?-牌子网

51单片机。特点,够老够经典,很多人估计都是从它入门的吧!简单易用,资料齐全,发展这么多年也有它自己的领域。主要应用在一些简单的控制场所,比如玩...

multisim中有哪些 单片机 ?

Multisim是一款电路设计和仿真软件,其中包含了多种单片机。其中常见的单片机有PIC、AVR、8051、ARM等。这些单片机都具有不同的特点和应用场景,比如PIC单片机...

现在流行什么 单片机 ?

现在比较流行单片机有51单片机、AVR、PIC、MSP430、STM32、瑞萨单片机、飞思卡尔单片机。1.51单片机ATMEL(艾德梅尔)的:89C51、89C52STC(国产宏晶)单片机:8...

proteus主要有4大结构体系即是什么?

※多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。※完整的PCB设计功...

单片机 到底属不属于嵌入式系统? - 72XR1XAcm 的回答 - 懂得

单片机只是嵌入式的核心部分,通过单片机和必要的外部元件组合起来,完成一定的功能,那才称为嵌入式,比如简单的MP3就是个嵌入式系统,里面是单片机、n...

单片机 到底属不属于嵌入式系统? - 175****3103 的回答 - 懂得

个人是这么理解的:嵌入式系统是一个比较宽泛的概念,许多控制芯片,甚至微机的架构都能构建嵌入式系统;至于是用51,还是AVR,还是PIC……还是目前最流...

51代码与32代码的区别?

所代表的公司不同,内部资源不同。2.51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flashROM...

我想了解 请教开发Arduino与开发其他各类 单片机 的区别?

[回答]我觉得pic单片机便宜,功能简单,开发容易,可靠性强。avr贵点,功能强。学完51可以接触下avr单片机,如果要马上用于工程中且功能不太复杂,环境又较为恶...

猜你喜欢