单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt

单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt

ID:51617857

大小:309.00 KB

页数:14页

时间:2020-03-26

单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt_第1页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt_第2页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt_第3页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt_第4页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt_第5页
资源描述:

《单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第13章S3C6410的IO口及操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第13章S3C6410的I/O口及操作GPIO(GeneralPurposeI/Oports)即通用输入/输出口。我们在实际应用中,不管是接LCD、接键盘,控制流水灯等应用,都离不开对I/O的操作。可以说,GPIO的操作是所有硬件操作的基础。S3C6410包含了187个多功能输入/输出端口管脚。下表13-1列出了S3C6410的17组I/O端口。13.1S3C6410I/O概述13.1.1GPIO特性S3C6410的GPIO有控制127个外部中断、有187个多功能输入/输出端口、控制管脚的睡眠模式状态(除GPK、GPL、GPM和GPN管脚)等特性。这

2、些GPIO可以满足不同的系统配置和设计需要。在运行程序之前,必须对每个用到的引脚功能进行设置。如果某些引脚的复用功能没有使用,则可以先将该引脚设置为I/O口。GPIO作为普通输入输出引脚时有几种状态:1.输出高电平。也就是引脚作为输出电压管脚,输出高电平,简单的说就是3.3V电压。2.输出低电平。也就是引脚作为输出电压管脚,输出低电平。简单的说就是0V电压。3.输入状态。这时,引脚高低电平完全由外界对引脚的输入电压决定。4.高阻态。引脚什么都不接,或者说是悬空。GPIO作为普通的输入输出引脚使用时,主要使用输入、输出的功能。所以在开始的学习中,主要考

3、虑GPIO的输入和输出功能。其它功能根据不同的使用条件下对其进行相应的设置。13.1.2GPIO控制寄存器分类1.GPxCON端口配置寄存器,这组寄存器是可读取数值、也可写入数值的寄存器。一般一个IO口会有两个或两个以上的功能,要让CPU知道IO口执行什么样的功能,就靠这组寄存器来设置。2.GPxDAT端口数据寄存器,这组寄存器是高低电平的状态寄存器。这组寄存器是可读取数值、也可写入数值的寄存器。当引脚被设为输入时,读此寄存器可知相应引脚的电平状态是高还是低;当引脚被设置为输出时,写入寄存器相应位可令此引脚输出高电平或低电平。3.GPxPUD端口上拉

4、/下拉寄存器。这组寄存器是可读取数值、也可写入数值的寄存器。这组寄存器控制IO内部上拉/下拉电阻的。4.GPxCONSLP端口睡眠模式配置寄存器。在睡眠状态下配置GPIO端口工作方式的寄存器,这组寄存器是可读取数值、也可写入数值的寄存器。5.GPxPUDSLP端口睡眠模式上拉/下拉寄存器。在睡眠状态下配置GPIO是否使用上拉/下拉电阻的寄存器,这组寄存器是可读取数值、也可写入数值的寄存器。13.2S3C6410I/O端口控制寄存器S3C6410每个端口一般使用上述5个控制寄存器对端口的输入/输出和其它功能进行设置与控制。详见书及参考资料。13.3I/

5、O控制的C语言编程实例本节通过一个简单实例,学习I/O口的使用,包括硬件电路设计、I/O控制寄存器和数据寄存器的使用。13.3.1硬件电路硬件实验电路如图13-1所示,发光二极管分别与GPK4~GPK7管脚相连接,发光二极管LED的一端连接到了S3C6410的GPIO,另一端经过一个限流电阻接电源VDD3V3。当GPIO口为低电平时,LED两端产生电压降,这时LED有电流通过并发光。反之当GPIO为高电平时,LED将熄灭。注意亮灭之间要有一定的延时,以便人眼能够区分出来。端口K控制寄存器包括四个控制寄存器,分别是GPKCON0、GPKCON1、GPK

6、DAT、GPKPUD。13.3.2实现功能和编程思路编写程序实现LED2、LED3先亮,LED1、LED4再亮,如此交替循环亮灭,编写程序的思路如流程图所示,先编写对GPIO初始化函数,GPIO赋值的函数、延时函数,再在主函数中调用相关函数进行对I/O口控制,实现LED亮灭。13.3.3参考程序#include"s3c6410_addr.h"#include"defs.h"#include"soc_cfg.h"//GPIO初始化voidLED_Init(void){rGPKCON0=(rGPKCON0&~(0xffffU<<16))

7、(0x1111U

8、<<16);rGPKPUD=(rGPKPUD&~(0xffU<<8))

9、(0x00U<<8);}//GPIO端口赋值voidLED_Display(intdata){rGPKDAT=(rGPKDAT&~(0xf<<4))

10、((data&0xf)<<4);}//延时函数VoidLedDelay(void){inti;for(i=0;i<100000;i++){}}//主函数voidmain(void){LED_Init();for(;;){LED_Display(0x9);//1001LedDelay();LED_Display(0x6);//0110

11、LedDelay();}}13.4习题1.简述S3C6410I/O端口的控制寄存器、数据寄存器、上拉下拉允许

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。