单片机的输入输出端口GPIO.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机的输入输出端口GPIO

第3章 单片机的输入输出端口GPIO 通用I/O接口的基本使用方法 I/O的基本概念 CPU可以通过I/O接口(电路)与外设进行数据交换,交换用数据的本质是高低电平。 +5V(VDD) 被人为定义为逻辑1。 0V(GND)被人为定义为逻辑0。 CPU通过引脚从接口读到一个高电平(+5V),则说外设向CPU输入了1;如果CPU向通过引脚接口输出一个低电平(0V),则说CPU向外设输出了0。 I/O端口(PORT) 端口是接口电路中暂时存放数据的寄存器(Register)。 例如:外设向CPU的接口输入了一个高电平(+5V),则把1放到端口中,再由CPU读取。 如果向外输出一个高电平(+5V),则CPU把1放到端口中,由端口自动向外设输出+5V。 输出过程(Output) CPU 输入过程(Input) CPU PIC的通用I/O端口(PORT) PIC16F877型单片机共有40个引脚,其中有33个是I/O引脚。 33个I/O引脚归属于5个端口,分别为PORTA(6)、PORTB(8)、PORTC(8)、PORTD(8)、PORTE(3),其中括号内的数字为该端口的位数。 PIC16F877外形 引脚结构图 PIC的通用I/O接口寄存器 33个I/O引脚归属于5个端口,这33个引脚作为通用I/O口时,被文件寄存器中的PORTA,PORTB到PORTE共五个寄存器一一相对应。 要想使用PIC的引脚进行输入输出操作,必须要设定引脚方向。 IO方向寄存器TRISX的介绍 TRIS?(?为A,B,C,D或E)在Bank1中,是PORT?的方向寄存器,例如 TRISC为PORTC的方向寄存器, TRISC的某位为0(Output),则对应PORTC的某位用做输出; TRISC的某位为1(Input),则对应PORTC的某位用做输入; TRIS的例题 例题1:把PORTC的高4位置为输入,低4位置为输出。 C语言实现: TRISC=0xF0; PIC的PORT的使用例子 例如:如果向RC0引脚输出高电平,则用以下指令实现: C语言实现: TRISC=TRISC0xFE RC0=1 I/O过程 基本输入/输出例子1 例题:电路如图所示,编程实现:当PORTC连接的8盏小灯循环亮灭。 例题程序 #include “pic.h” Main() { char i=0; TRISC=0x00; PORTC=0x01; while(1) { for(i=0;i8;i++) PORTC=PORTC1; } } 延时函数 void delayms() { int i=0,j=0; for(i=0;i100;i++) for(j=0;j100;j++) { ; } } 如果PIC的主频是4MHz的话,此函数执行一次最多需要多长时间?如何修改此函数使其能延时20ms? 作业题 电路如图所示,RC0到RC7共接了8个发光二极管,编程实现各种动态效果(小灯依次被点亮,小灯闪烁等) (看谁的效果最炫!) * * 接口电路 外 部 设 备 PORT 0000 0001 (0V) GND 通过 指令 从 端口 输出1 +5V 接口电路 外 部 设 备 PORT 0000 0001 VDD(+5V) 通过 指令 从 端口 读 读到1 P20 RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7 RAM-BANK1 ROM CPU BANKSEL TRISC CLRF TRISC BANKSEL PORTC BSF PORTC,0 RAM-BANK0 接口电路 RC0 +5V RAM-BANK0 PORTC RAM-BANK1 RAM-BANK1 BANKSEL TRISC CLRF TRISC BANKSEL PORTC BSF PORTC,0 TRISC 0000 0000 xxxx xxx1 RC0 …… 16F877 RC7 电源电路 复位电路 晶振电路 GND …… RC0 …… 16F877 RC7 电源电路 复位电路 晶振电路 GND . . .

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档