通用IO接口
《通用IO接口》由会员分享,可在线阅读,更多相关《通用IO接口(27页珍藏版)》请在装配图网上搜索。
1、,,,,,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,,,,,,,,通用,IO,接口,-1,本节要点,,GPIO,基础知识,,K60 GPIO,模块概要及编程要点,,第一,个,GPIO,程序,,3.,1,,GPIO基础知识,1,),I/O,接口的概念,I/O,接口,即输入输出接口,是微控制器同外界进行交互的重要通道。,,在嵌入式系统中,接口千变万化,种类繁多,有显而易见的人机交互接口,如操纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机器设备接口,等,。,,,,CPU,I/O,,接口,外设,,,2,),I/O,接口要解决的问
2、题,:,速度匹配,(Buffer),,信号电平和驱动能力,(,电平转换器、驱动器,),,,信号形式匹配,(A/D,、,D/A),,,信息格式,(,字节流、块、数据包、帧,),,,时序配合,(,定时关系,),3.1 GPIO,的基本知识,,I/O,信息的三种类型:,数据、命令、状态,。传送这三类信息的通道分别称为:数据端口、控制端口、状态端口。,CPU,,I/O,,设备,译码,数据端口,状态端口,控制端口,,,,,,,DB,AB,CB,3.1,GPIO的基本知识,,通用,I/O,,也记为,GPIO,(,General Purpose I/O,),即基本的输入,/,输出,有时也称并行,I/O,,或
3、普通,I/O,,它是,I/O,的最基本形式,。,3),通用,I/O,通用,I/O,接口一般应具备:,,,放置工作方式控制字的寄存器,,放置输入或输出控制字的寄存器,,放置要交换数据的寄存器,,放置反映工作状态的寄存器,3.1 GPIO,的基本知识,4).,常用,I/O,输入电路,输入引脚有三种不同的连接方式:,,带上拉电阻的连接,,带下拉电阻的连接,,“,悬空,”,连接。,若,MCU,的某个引脚通过一个电阻接到电源(,Vcc,)上,这个电阻被称为,“,上拉电阻,”,。,,,若,MCU,的某个引脚通过一个电阻接到地(,GND,)上,则相应的电阻被称为,“,下拉电阻,”,。,,悬空的芯片引脚被上拉
4、电阻或下拉电阻初始化为高电平或低电平。,,MCU,内部程序向该引脚输出高电平或低电平来驱动器件工作,即开关量输出。,,,O1,引脚是发光二极管,LED,的驱动引脚,当,O1,引脚输出高电平时,,LED,不亮;当,O1,引脚输出低电平时,,LED,点亮。,,O2,引脚接蜂鸣器驱动电路,当,O2,脚输出高电平时,蜂鸣器响;,O2,脚输出低电平时,蜂鸣器不响。,5,),I/O,输出电路,3.2 K60 GPIO,模块概要及编程要点,1,).,K60 GPIO,模块概要,可作为,GPIO,功能的引脚数目及引脚名称:,,(,1,),A,口有,26,个引脚,,PTA0~PTA19,、,PTA24~PTA2
5、9,;,,(,2,),B,口有,20,个引脚,,PTB0~PTB11,、,PTB16~PTB23,;,,(,3,),C,口有,20,个引脚,,PTC0~PTC19,;,,(,4,),D,口有,16,个引脚,,PTD0~PTD15,;,,(,5,),E,口有,18,个引脚,,PTE0~PTE12,、,PTE24~PTE28,。,如何,对,上述,IO,引脚进行操作?,Not all pins within each port are implemented on each device.,,The following is the implement On device MK60DN512VMD1
6、0.,,(,1,),PORTA[29:24], PORTA[19:0], 26Pins,,(,2,),PORTB[23:16], POPTB[11:0],20Pins,,(,3,),POTRC[19:0],20Pins,,(,4,),PORTD[15:0],16Pins,,(,5,),PORTE[28:24],PORTE[12:0],18Pins,GPIO,,Registers,(,1,) Pin Control Register n (PORTx_PCRn),,引脚控制寄存器 n,,,,K60,的,I/O,口与其他功能模块均能引脚复用。配置相关模块的输入输出通道时,要先对,I/O,口的引脚复
7、用寄存器进行配置。配置,GPIO,功能,只需配置第,8~10,位(,MUX,)。,Pin Control Register n (PORTx_PCRn),,引脚控制寄存器 n,,引脚复用功能选择,,0,:不支持拉电阻,,1,: 支持拉电阻,0,:支持下拉电阻,,1,:支持上拉电阻,(,2,),GPIO,寄存器的概要说明:,,,,(,3,),系统时钟门控寄存器 5,,K60,中每一个模块都需要在,SIM,模块中开启或者关闭模块的时钟。通过设置,SIM_SCGC5,寄存器就可以为,I/O,模块的,PORTA,、,PORTB,、,PORTC,、,PORTD,、,PORTE,提供时钟,该寄存器在复位时
8、被清零,从而使得相应模块的时钟被关闭。,打开A口,则SIM_SCGC5,|,=(1<<9);打开A、B口,则为 SIM_SCGC5,|,= ( (1<<9) | (1<<10) ),(2) 系统时钟门控寄存器 5,GPIO,模块的基本编程步骤,:,3,)通过设置,GPIOx_PDDR,来配置相应引脚传输方向:“,1,”为输出, “,0,”为输入。,1,)通过设置,“,SIM_SCGC5”,寄存器来打开相应端口时钟。,2,)通过设置引脚控制寄存器来配置相应引脚复用功能。,以,PA10,输出为例,GPIO,模块的基本编程步骤,:,4,)若是输入引脚,则通过,GPIOx_PDIR,获得引脚的状态,
9、: “0”,表示为低电平;,: “1”,表示为高电平。,5,)若是输出引脚,则通过,GPIOx_PDOR,输出低电平或高电平,对应值为,0,或,1,。亦可通过,“,输出置位寄存器,”,、,“,输出清位寄存器,”,、,“,输出取反寄存器,”,改变引脚状态。,(,1,)置位。要将,R,的第,3,位置,1,,其他位不变,可以这样做:,R |= (1<<3),,其中“,1<<3,”的结果是“,0b00001000,”,,R |= (1<<3),也就是,R=R|0b00001000,,任何数和,0,相或不变,任何数和,1,相或为,1,,这样达到对,R,的第,3,位置,1,,但不影响其他位的目的。,,(,
10、2,)清位。要将,R,的第,2,位清,0,,其他位不变,可以这样做:,R &= -(1<<2),,其中“,-(1<<2),”的结果是“,0b11111011,”,,R&=-(1<<2),也就是,R=R&0b11111011,,任何数和,1,相与不变,任何数和,0,相与为,0,,这样达到对,R,的第,2,位清,0,,但不影响其他位的目的。,,(,3,)获得某一位的状态。,(R>>4) & 1,,是获得,R,第,4,位的状态,“,R>>4,”是将,R,右移,4,位,将,R,的第,4,位移至第,0,位,即最后,1,位,再和,1,相与,也就是和,0b00000001,相与,保留,R,最后,1,位的值,
11、以此得到第,4,位的状态值。,3.2.2,GPIO,模块概要和编程要点,3,.置位与清位的宏函数,p48,第一个工程,:,控制发光二极管指示灯闪烁,要求,根据前面课上讲解的知识,设计程序,实现,E4,灯闪烁。,#include "derivative.h,“,,void delay(void);,,/*********************************************************/,,int,main(,void,),,{,,SIM_SCGC5 = SIM_SCGC5_PORTA_MASK;,//,打开,A,口时钟,,,值为,0x200u,,PORTA_PCR
12、10 |= (1<<8));,//,将,A,口,10,号 引脚配置为,GPIO,口功能,,,GPIOA_PDDR= 1<<10;,//,引脚配置为输出功能,,,while(1),,{,,GPIOA_PTOR|=1<<10;,//,输出取反寄存器;灯闪烁,,,delay();,//,延时,,,},,return 0;,,},,void delay(),//,延时程序,,{ unsigned int i, n, m ;,,for(i=0;i<30000;i++),,,for(n=0;n<100;n++) m=m;,,,},第二个嵌入式,C,语言工程,:,对按键进行查询方式工作,启动,/,停止
13、发光二极管闪烁,两个按键分别接,PTA19,,,PTE26,,当键按下,对应引脚输入低电平。输入、设置内部上拉电阻。,先画流程图,考虑好逻辑关系再编程。,,综合练习:,实验仪器上有两个按键、四个,LED,灯,请自己设计一个控制流程,希望把按键和,LED,都用上。,,例如:荧光棒,多种亮灯模式,通过按键切换模式。,关于上机实验,,上机地点:金智楼,4,楼,5# 6#,机房,,上机时间:,10.15 3~5,节,,上机要求:完成本课件上的第,1,和第,2,个项目,,项目,1,)学习,CW,软件的使用,程序可直接拷贝,通过正确操作,完成程序的录入、编译和运行;,,,项目,2,)仿照项目,1,)的程序,编制一个,GPIO,输入口的程序;,,项目,3,)综合使用实验仪上的按键和,LED,,编写一个程序。(第二次上机完成),
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。