- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GPIO 嵌入式课件
5.9 GPIO LPC2200系列作为 “微控制器”,其通用并行I/O口( GPIO)具有如下的特性: 可以独立控制每个GPIO口的方向(输入/输出模式); 可以独立设置每个GPIO的输出状态(高/低电平); 所有GPIO口在复位后默认为输入状态。 引脚功能选择 LPC2378的引脚功能选择寄存器 完全的寄存器及功能参考LPC2378资料 5.9 GPIO GPIO相关寄存器描述——IOxPIN GPIO相关寄存器描述——IOxDIR GPIO相关寄存器描述——IOxSET GPIO相关寄存器描述——IOxCLR 5.10 GPIO 使用GPIO注意要点 循环灯实例 1、功能说明 利用LPC2138的P0口的P0.0-P0.7引脚分别接8个发光二极管LED1-LED8,实现从LED1亮到LED8,每次只有一个发光二极管被点亮,硬件连接电路图如图8-1所示。 2、硬件电路 如图8-1所示的电路中,Y1为10MHz晶振,提供10MHz的时钟给LPC2138内核电路,由LPC2138的内核的PLL功能产生60MHz的系统时钟源。C1和C2起稳定Y1作用。另外需要给U1提供3.3V和1.8V两路电源给U1,R101为10K电阻,为U1提供上电复位信号。U1的P0.0到P0.7引脚分别接有LED1到LED8的8路发光二极管,R1-R8为限流电阻。 电路原理图 见P161 参考程序 #include LPC213X.H// 循环灯效果代码表const unsigned char LEDCODE[]={ 0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,}; void Delay(unsigned long t)//延时函数{ while(t--);} int main(void){ int i; PINSEL0=~0xFF;//将P0.0-P0.7配置为GPIO引脚 IO0DIR|=0xFF;//置P0.0-P0.7为输出引脚 IO0SET|=0xFF;//初始化P0.0-P0.7全部输出为高电平 while(1) { for(i=0;isizeof(LEDCODE);i++) { IO0CLR|=0xFF;//将P0.0-P0.7全部输出为低电平 IO0SET|=LEDCODE[i];//读取LEDCODE数组的内容送到P0.0-P0.7引脚 Delay(1000000);//调用延时函数 } }} 按键计数实例 1、功能说明 利用LPC2138的P0.8引脚外接轻触式开关K1,实现0-9按键加1计数,将计数的结果通过数码管显示出来。 2、硬件电路 硬件电路如图8-2所示,U1的P0.0-P0.7引脚输出数码管显示0-9笔段代码数据经过U2驱动后控制LED811的a-h笔段,其中LED811为共阴数码管。按键K1接在U1的P0.8引脚上。 电路原理图 见P163 参考程序 作业 设计由三个LED组成的流水灯,让三个灯轮流变亮,每次只有一个灯亮,画出原理图,编制C程序。 * 0x0000 0000 读/写 GPIO方向控制寄存器。该寄存器单独控制每个IO口的方向 IODIR 0x0000 0000 只清零 GPIO输出置位寄存器。该寄存器控制引脚输出低电平 IOCLR 0x0000 0000 读/置位 GPIO输出置位寄存器。该寄存器控制引脚输出高电平 IOSET NA 只读 GPIO引脚值寄存器,不管方向模式如何,引脚的当前状态都可以从该寄存器中读出 IOPIN 复位值 访问类型 描述 通用名称 GPIO相关寄存器描述 PINSELx IOxDIR IOxCLR IOxPIN IOxSET in out 1 0 未定义 GPIO引脚值。IOxPIN[0]对应于Px.0 … IOxPIN[31]对应于Px.31引脚 31 : 0 复位值 描述 IOxPIN 该寄存器反映了当前引脚的状态。IOxPIN中的x对应于某一个端口,如P1口对应于IO1PIN。所以芯片存在多少个端口,就有多少个IOxPIN分别与之对应。 写该寄存器会将值保存到输出寄存器,具体使用稍后介绍。 注意:无论引脚被设置为输入还是输出模式,都不影响引脚状态的读出。 PINSELx IOxDIR IOxCLR IOxPIN IOxSET in out 1 0 未定义 方向控制位。IOxDIR[0]对应于Px.0 … IOxDIR[31]对应于Px.31引脚 31 : 0 复位值 描述 IOxDIR 当引脚设置为GPIO输出模式时,可使用该寄存器控制引脚的方向。向某位写入1使对应引脚作为输出功能,写
您可能关注的文档
- Dealing With AIDS 大学英语精读 教学课件.ppt
- Deductive Research 大学论文写作课课件(英文).ppt
- denisi_HR_1e_PPTs_ch02 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch01 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch05 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch06 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch07 人力资源管理 外教 课件.ppt
- DES 信息安全概论课件与复习提纲.ppt
- Deutschland 德语教学课件.doc
- Dickinson 高等教育出版社 美国文学选读课件.ppt
文档评论(0)