当前位置:首页 > 单片机 > 单片机
[导读]一、输入/输出端口GPIO编程一—(01)、一位数码管静态显示(通过74HC595实现)1、管脚连接模块首先介绍一下LPC2106的相关的管脚~~特性:可以实现独立的管脚配置应用:管脚连接模块的用途是将管脚配置为需要的功能(这

一、输入/输出端口GPIO编程

一—(01)、一位数码管静态显示(通过74HC595实现)

1、管脚连接模块

首先介绍一下LPC2106的相关的管脚~~

特性:可以实现独立的管脚配置

应用:管脚连接模块的用途是将管脚配置为需要的功能(这一章节主要就是介绍GPIO功能~~别的会在接下来的章节中分别予以介绍~~)

描述:管脚连接模块可以使所选管脚具有一个以上的功能。配置寄存器控制多路开关来连接管脚与片内外设。外设在激活和任何相关只读使能之前必须连接到适当的管脚。任何使能的外设功能如果没有映射到相应的管脚,则被认为是无效的。

寄存器的描述:

管脚连接模块包括两个寄存器:



管脚功能寄存器0:(PINSEL0)

PINSEL0寄存器按照下表当中的设定来控制管脚的功能。

IODIR寄存器中的方向控制位只有在管脚选择为GPIO的功能时才有效(也就是本章要讲述的)。对于其它功能,方向是自动控制的。










管脚功能寄存器1:(PINSEL1)

PINSEL1寄存器按照下表来设定控制管脚的功能。

IODIR寄存器中的方向控制位只有在管脚选择GPIO功能时才有效。对于其它功能,方向是自动控制的。

在复位时拉低DBGSEL时,只要管脚P0.17-P0.31的功能控制有效。(这个还真的不知道哎~~)










管脚功能寄存器值:

PINSEL寄存器控制器件管脚的功能。如下图。
每一对寄存器位对应一个特定的器件管脚。

只有当管脚选择为GPIO功能时,IODIR寄存器的方向控制位才有效。

其它功能的方向是自动控制的。

每个派生期间通常具有不同的管脚分布,因此每个管脚可能有不同的功能。



2、GPIO

特性:

1)单个位的方向控制

2)单独控制输出的置位和清零

3)所有I/0口在复位后默认为输入

应用:

1)通用I/0口

2)驱动LED或者其他指示器

3)驱动片外器件

4)检测数字输入

管脚描述:

寄存器描述:

GPIO包含4个寄存器,如下表:



GPIO引脚值寄存器IOPIN:


GPIO输出置位寄存器IOSET:



GPIO输出清零寄存器:



GPIO方向寄存器:




好了,就这么点吧~~

然后就是今天要做的实验:

一位数码管的静态显示

晕了~~用IAR for ARM就是调不好~~

shit~~

然后就换用了Keil~~

浪费我大把时间了~~

早知道就早用Keil了~~

回头还得再调试一下IAR~~

~~

好了,发图~~





然后就是程序了~~

MDK1_1.c(先是主程序吗~~你懂得)

//------------------------------------------------------------------------------
//LED数码管显示
//通过I/O模拟同步串行接口与74HC595进行连接,控制74HC595驱动LED数码管显示
//------------------------------------------------------------------------------
#include"lpc210x.h"
typedef unsigned long uint32;
typedef unsigned char uchar;
#define SPI_IO0x00000150//SPI接口的I/O设置字
uchar const seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0.82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//------------------------------------------------------------------------------
//延时函数
void delay(uint32 z)
{
uint32 i;
for(;z>0;z--)
for(i=0;i<50000;i++);
}
//------------------------------------------------------------------------------
//main
int main()
{
uchar i;
PINSEL0=0X00000000;
PINSEL1=0X00000000;//设置左右引脚连接GPIO

IODIR=SPI_IO;//设置SPI控制口为输出~~由于这是模拟的,所以需要自己设置方向位
while(1)
{
for(i=0;i<16;i++)
{
HC595_send_data(seg[i]);
delay(1);
}
}
}

74HC595.c

//------------------------------------------------------------------------------
//74HC595模拟SPI通信,便于调用
#include"lpc210x.h"
typedef unsigned long uint32;
typedef unsigned char uchar;
#define SPI_CS0x00000100//P0.8模拟片选
#define SPI_DA0x00000040//P0.6模拟数据传输口
#define SPI_CLK 0x00000010//P0.4模拟CLK
//------------------------------------------------------------------------------
//向74HC595发送一个字节函数(发送数据时,高位在前)
//还是大概介绍一下74HC595吧:
//74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
//移位寄存器和存储器是分别的时钟。
//数据在SH_CP的上升沿输入到移位寄存器中,在ST_CP的上升沿输入到存储寄存器中去。
//如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲(一般不会这么用吧~~)。
//移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7’),和一个异步的低电平复位。
//存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
void HC595_send_data(uchar dat)
{
uchar i;
IOCLR=SPI_CS;//SPI_CS=0
for(i=0;i<8;i++)//模拟SPI~~
{
IOCLR=SPI_CLK;//SPI_CLK=0
if((dat&0x80)!=0)//设置SPI_DA的输出值
IOSET=SPI_DA;//要从最高位发送,当最高位为1时,置位SPI_DA
else
IOCLR=SPI_DA;//当最高位为0时,清零SPI_DA
dat<<=1;//dat循环左移一位
IOSET=SPI_CLK;//SPI_CLK为1,一个脉冲上升沿,将数据移入移位寄存器
}
IOSET=SPI_CS;//SPI_CS=1,输入到存储寄存器中,由于片选一直为低,所以直接就输出显示的数据
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭