Chinaunix首页 | 论坛 | 博客
  • 博客访问: 214954
  • 博文数量: 43
  • 博客积分: 389
  • 博客等级: 一等列兵
  • 技术积分: 328
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-27 11:32
文章分类

全部博文(43)

文章存档

2012年(1)

2011年(42)

我的朋友

分类:

2011-11-27 20:24:08


作者:蒙洋,讲师。

一、通用IO的定义

GPIO(General-Purpose IO ports),通用的IO口。一般的微控制芯片都提供通用的可编程接口。按照它们的功能分成:

●        通用IO控制寄存器
        ●        通过IO数据寄存器

很多MCU的GPIO接口出去了标准的寄存器必须外,还会提供上拉寄存器,可以设置IO的输出模式为高阻。

二、S3C2410A的通用IO寄存器

S3C2410A共有117个复用的输入/输出端口,分别是端口A~H,共8组。按照其位数不同不同可分为:

●        端口A(GPA),23位输出口
        ●        端口B(GPB),11位输出口
        ●        端口C(GPC),16位输出口
        ●        端口D(GPD),16位输出口
        ●        端口E(GPE),16位输出口
        ●        端口F(GPF),8位输出口
        ●        端口G(GPG),16位输出口
        ●        端口H(GPH),11位输出口

为了满足不同设计要求,每个IO口可以设置成不同的工作模式,其中又可以将IO口分成如下3类:

●        端口控制寄存器(GPACON~CPHCON)
                    设置引脚工作模式,例如:输入、输出、外部中断和保留。
        ●        端口数据寄存器(GPADAT~CPHDAT)
                    当端口被设置成输入模式,可以向GPxDAT的相应位写入数据;当端口被设置成输出模式,可以从GPxDAT的相应位读出数据
        ●        端口上拉寄存器(GPAUP~CPHUP)
                    控制某一端口的响应位的上拉电阻状态(允许/禁止)。
                    0 – 响应的上拉电阻被允许
                    1 – 响应的上拉电阻被禁止

参看S3C2410A数据手册

三 编程实例

(1) 编程目的
        控制和S3C2410A芯片IO连接的几个LED有规律的点亮。

(2) 电路原理

电路原理如图1所示:

                                                                    图1 电路原理图

四个LED发光二极管分别与S3C2410A的GPF4~GPF7相连,通过GPF4~GPF7的引脚高低电平变化控制LED的点亮和熄灭。由图1可以清晰的看出当GPF4~GPF7输出低电平时LED点亮,反之当GPF4~GPF7输出高电平时LED熄灭。

(3) 代码分析

在头文件中定义了相关的寄存器

操作相关寄存器,使得LED能够规律的工作

具体的细节可以参考相应的工程文件。
阅读(739) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

dkxnight2011-12-06 14:58:32

这些文章太经典了!太感谢这些文章的作者和转载者!学习太有用了