历史上的今天

今天是:2024年11月08日(星期五)

正在发生

2019年11月08日 | 2440裸机编程之三 通用I/O口

发布者:亚瑟摩根 来源: 51hei关键字:裸机编程  通用I  O口 手机看文章 扫描二维码
随时随地手机看文章

S3C2440A 具有130 个多功能输入/输出脚,分别包含在如下9 组端口中。
●1 个25 位输出端口(端口A)。
●1 个11 位输出端口(端口B)。
●4 个16 位输入/输出端口(端口C、D、E、G)。
●1 个8 位输入/输出端口(端口F)。
●1 个9 位输入/输出端口(端口H)。
●1 个13 位输入/输出端口(端口J)。


基本上,每个端口有三个寄存器
GPnCON:端口配置寄存器,多数端口有多种功能,所以需要这个寄存器来使某个端口确定某一功能。

GPnDAT:端口数据寄存器,当端口为输出功能时:写这个寄存器就是使端口引脚输出相应电平;当端口为输入功能时:读这个寄存器就是读端口引脚上的相应电平;

GPnUP:端口上拉寄存器,决定端口是否具有内部上拉功能。


下面做个程序,使GPF4引脚上的LED灯闪烁。

GPF4的设置
GPFCON[9:8] 00 = Input   01 = Output
            10 = EINT[4] 11 = Reserved

GPF4的设置
GPFDAT的相应位分别对应每个引脚

//********************************************************************
void Main(void)
{     
    int i;
    ……硬件初始化……

LED();
while(1);

}

void  LED(void)
{
int i;
Uart_Printf("nIO LED 实验n");
Uart_Printf("GPF4----LED1闪烁n"); 
rGPFCON = rGPFCON & ~(3<<8) | 1<<8 ;//设置GPF4为输出功能
while(1)
{ for(i=0; i<10000000; i++);  //延时
  rGPFDAT = rGPFDAT ^ 1<<4 ;//GPF4电平反转
}
}
//*******************************************************************

结果如下图:



Very good,我们又学会了用一种新的处理器点亮LED。


下面实验一个四个灯的流水灯实验,这四个灯接GPF4-GPF7

//********************************************************************
void Main(void)
{     
    int i;
    ……硬件初始化……

LED();
while(1);

}

void  LED(void)
{
int i;
Uart_Printf("nIO 流水灯 实验n"); 
rGPFCON = rGPFCON & ~(0xff<<8) | 1<<8 | 1<<10 | 1<<12 | 1<<14 ;//设置GPF4、5、6、7为输出功能
rGPFDAT &= ~ ( 1<<4 | 1<<5 | 1<<6 | 1<<7 ) ;//GPF4电平反转
while(1)
{ for(i=0; i<20000000; i++);  //延时
  rGPFDAT = rGPFDAT ^ 1<<4 ;//GPF4电平反转
  
  for(i=0; i<20000000; i++);  //延时
  rGPFDAT = rGPFDAT ^ 1<<5 ;//GPF5电平反转
  
  for(i=0; i<20000000; i++);  //延时
  rGPFDAT = rGPFDAT ^ 1<<6 ;//GPF6电平反转
  
  for(i=0; i<20000000; i++);  //延时
  rGPFDAT = rGPFDAT ^ 1<<7 ;//GPF7电平反转
}
}

//*******************************************************************

运行:四个灯轮流亮


关键字:裸机编程  通用I  O口 引用地址:2440裸机编程之三 通用I/O口

上一篇:2440裸机编程之四 外部中断
下一篇:2440裸机编程之十一 GPRS

推荐阅读

变形机器人凭借多样的功能性和强大的适应性,在众多领域中都有巨大的应用价值,未来发展十分可期。不过,要想将潜力变为现实,各国还需要从技术、应用等方面做出努力。 《铁胆火车侠》、《机动战士高达》、《变形金刚》等作品,曾经让无数人大饱眼福,其中各种酷炫的变身战斗,总是会让人感到热血沸腾,尤其对于男生来讲,能够拥有“变形金刚”一样的朋...
0 引言示波器是一种用途十分广泛的电子测量仪器。电子技术的日新月异,使各类电信号越来越复杂,在工程应用中对信号实时采样率和波形捕获率也有较高的要求,数字示波器成了各个岗位的硬件开发和测试人员必不可少的工具。针对当前柔性工业测量系统的需要,本文给出DSP+CPLD的方案,实现了一种高精度、高集成的便捷式数字化存储示波器的设计,系统尽可能地...
现在有一种新技术可用于锂电池,让电池的充电速度更快。如今的锂离子电池经常采用石墨,不过可以找到石墨的替代品。据外媒报道,荷兰特温特大学(the University of Twente)MESA+研究所的研究人员发现,将此种石墨替代性材料制成纳米结构,可以为锂离子开创新的“路径”,从而让电池的充电速度更快。(图片来源:特温特大学)锂离子电池应用广泛,改变...
客户需求:最近有个客户在生产车间,发现设备继电器老是跳闸,怀疑是供电端不纯净的问题,需要对供电端进行电压测试,在设备开合之间和工作中的电压情况进行观测。整个测试需要工频设备中电压的运行情况,看电网中电压是否有较大的畸变。客户咨询安泰测试,希望能在有限的预算之内能达到测试目的。UPS电源介绍:UPS即不间断电源(Uninterruptible Power S...

史海拾趣

问答坊 | AI 解惑

大型电力变压器绝缘事故的分析与预防

大型电力变压器绝缘事故的分析与预防 摘要:主要介绍大型电力变压器由于绝缘配合故障而影响其安全运行,以及对绝缘事故的分析与预防。 关键词:电力变压器;绝缘事故;预防 变压器的安全运行受到绝缘事故的威胁,因此,在变压器的制造、安装、检 ...…

查看全部问答∨

什么叫嵌入式?

本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操 ...…

查看全部问答∨

请帮忙看一下这个电阻的作用

请帮忙解释一下R15的作用,是反馈吗?…

查看全部问答∨

uClinux 中的second loader , crt0ram.S文件问题

请高手指点: 嵌入式uClinux 中的second loader , crt0ram.S文件中(以Arcturus的uc5272为例) #ifdef CONFIG_ROMFS_FS         /*          *        Move ROM filesy ...…

查看全部问答∨

windows mobile5.0系统如何定制

.本人想做一个windows mobile 5.0的系统. 请问也是用PB吗?? 怎么我做了一个mobile handheld.. 界面跟WINCE的一样!丑死了喔!…

查看全部问答∨

中间层驱动程序如何用softice调试??

我是新手,大家多指教. 2000 DDK下附带了源码passthru.我首先用softice symbol loader生成了passthru.nms,然后加载.然后在softice里设置断点bpx DriverEntry.最后安装驱动.可是为什么softice 没有截到DriverEntry函数呢??用DebugView看驱动 ...…

查看全部问答∨

WINCE makefile 和 source资料

请问哪位大虾有WINCE下对makefile和source介绍比较好的资料啊,想了解一下其具体写法。 有的话麻烦大虾发一份给我,或者留下网址,我自己去下载也可以。在此先谢过了。 mail:xiangxingjun@126.com…

查看全部问答∨

AVR单片机c语言库

AVR单片机c语言库,可以下载看看…

查看全部问答∨

ST的超低成本开发工具为最小的8引脚微控制器创建应用

通过现实生活中的一个有趣味的应用,评估板和样码展示ST7FLITEUS微控制器的各种功能 2006年11月23日 — 意法半导体(纽约证券交易所代码:STM)今天推出了建议转售价格仅为12美元的低成本的ST7Lite系列微控制器评估及开发工具套 ...…

查看全部问答∨

27M遥控车电路图+源程序代码(绝对经典)

27M遥控车电路图+源程序代码(绝对经典),想学的同学可以试试啊<!-- begin 09 -->…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved