LPC1114中怎样定义LCD16002耳机插座引脚定义

LCD-1602引脚定义[1]_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
LCD-1602引脚定义[1]
&&LCD-1602各个引脚功能
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩4页未读,
定制HR最喜欢的简历
你可能喜欢网站已改版,请使用新地址访问:
LPC1114 ARM芯片, F中英文详细资料,功能介绍等 Other Books 其他书籍 249万源代码下载- www.pudn.com
&文件名称: LPC1114& & [
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 4514 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:ARM芯片,LPC1114F中英文详细资料,功能介绍等-ARM chips, LPC1114F details in both English and Chinese, the function is introduced, etc...
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&LPC1114\LPC1114用户手册(中文).pdf&&.......\LPC1114用户手册(英文).pdf&&LPC1114
&输入关键字,在本站249万海量源码库中尽情搜索:lpc1114驱动程序
作者:瑞生
阅读:2,365次
瑞生网http://www.rationmcu.com版权所有
图1.LPC1114驱动LCD1602
图2.LPC1114驱动LCD0802
LCD1602和LCD0802用的程序是一样的。
lcd.h文件中,代码如下:
#ifndef __LCD0802_H__
#define __LCD0802_H__
#include "lpc11xx.h"
#define OUT_DATA(value)
LPC_GPIO2-&DATA =(value&&4)
#define RS_LOW
LPC_GPIO3-&DATA&=~(1&&0)
#define RS_HIGH
LPC_GPIO3-&DATA|=(1&&0)
#define WR_LOW
LPC_GPIO3-&DATA&=~(1&&1)
#define WR_HIGH
LPC_GPIO3-&DATA|=(1&&1)
#define EN_LOW
LPC_GPIO3-&DATA&=~(1&&2)
#define EN_HIGH
LPC_GPIO3-&DATA|=(1&&2)
extern void delay_0802(uint16_t us);
extern void write_com(uint16_t com);
extern void write_date(uint16_t dat);
extern void init_0802(void);
extern void lcd_show(void);
lcd.c文件中,代码如下:
#include "lcd.h"
#include "lpc11xx.h"
void delay_0802(uint16_t us)
uint16_t i,j;
for(i=0;i&100;i++)
for(j=0;j&j++);
void write_com(uint16_t value)
OUT_DATA(value);
delay_0802(10);
delay_0802(20);
void write_date(uint16_t value)
OUT_DATA(value);
delay_0802(10);
delay_0802(20);
void init_0802(void)
LPC_GPIO2-&DIR|=0xFF0;
// 设置P2口高8位引脚为输出,用作LCD8位并行数据
LPC_GPIO2-&DATA |= 0XFF0;
// P2口高8位引脚置高
LPC_GPIO3-&DIR|=0x007;
// P3口P3.0到P3.3为输出,用作LCD控制引脚
LPC_GPIO3-&DATA |= 0x007;
// P3口P3.0到P3.3置高
write_com(0x38);
write_com(0x38);
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
main.c文件中,代码如下:
/**************************************************
* 名称:LPC1114 驱动LCD
* 主频:50Mhz(外部接10MHz晶振,倍频5倍)
* 作者:Ration(瑞生电子网CEO)
* 时间:日(整理)
* 版权:版权归&单片机学习网&所有,传播请保持完整性
* 更多程序请访问:http://www.rationmcu.com
*************************************************/
#include "lpc11xx.h"
#include "lcd.h"
uint8_t table1[8]=" Hello
uint8_t table2[8]=" World
void delay_ms(uint16_t ms)
uint16_t i,j;
for(i=0;i&5000;i++)
for(j=0;j&j++);
void lcd_show(void)
write_com(0x80);
for(j=0;j&8;j++)
write_date(table1[j]);
delay_0802(10);
write_com(0x80+0x40);
for(j=0;j&8;j++)
write_date(table2[j]);
delay_0802(10);
int main()
delay_ms(100);
init_0802();
lcd_show();
源码下载:(KEIL4工程)
关注我的微信公众号,可以第一时间看到我的文章
我的微信公众号1675人阅读
硬件相关(52)
LPC1114一共有42个GPIO,分为4个端口,P0、P1、P2口都是12位的宽度,引脚从Px.0~Px.11,P3口是6位的宽度,引脚从P3.0~P3.5。
每个GPIO都可以通过软件设置为输入或输出引脚,读取引脚的电平,就需要把引脚设置为输入引脚,比如引脚用来做ADC输入引脚或按键检测引脚的时候。需要程序控制引脚电平的时候,就把引脚设置为输出引脚,比如引脚控制外部三极管导通与截止的时候。
每个GPIO都可以作为中断引脚来感知外部。中断还可以设置为电平中断或边沿触发中断。电平中断又可以设置为低电平中断或高电平中断,边沿触发又可以设置为下降沿中断或上升沿中断,也可以设置为双边沿触发中断。它的灵活性给我们设计带了很大的方便。
引脚作为GPIO功能时,默认是输入引脚。
由于GPIO的寄存器并不是很多,我们首先了解学习它的寄存器,然后通过实例讲解GPIO的各种输入输入应用。
2.1 GPIO寄存器定义
数据寄存器
方向寄存器
中断感应寄存器
双边沿中断寄存器
中断事件寄存器
中断屏蔽寄存器
原始中断状态寄存器
屏蔽中断状态寄存器
中断清除寄存器
1. 数据寄存器DATA
1为高电平,0为低电平
数据寄存器用来读取单片机引脚的电平和控制单片机引脚的电平。当引脚设置为输入引脚时,读取DATA寄存器可以获得引脚的电平。当引脚设置为输出引脚时,给DATA寄存器写值可以控制引脚的电平。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。例如,读取P0口的DATA寄存器,bit0就对应P0.1引脚的电平,bit7就对应P0.7引脚的电平,以此类推。bit12到bit31这些位保留不用。LPC1114的四个端口,每个端口都有一个DATA寄存器。由于P3口只有6个引脚,所以P3口的DATA寄存器只有bit0到bit5是可以使用的,其它位无用。
当引脚设置为输入引脚的时候,给DATA寄存器写值不会影响到引脚的电平,没有意义。此时DATA寄存器的值只受引脚外部电平的影响。
2. 方向寄存器DIR
1为输出,0为输入
方向寄存器用来设置GPIO引脚的输入和输出功能。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。例如,设置P0.5为输入引脚,需设置GPIO0的DIR寄存器中的bit5为0,设置P0.5为输出引脚,需设置GPIO0的DIR寄存器中的bit5为1。由上表复位值可知,GPIO默认是输入引脚。bit12到bit31这些位保留不用。
3. 中断感应寄存器IS
0为边沿触发
1为电平触发
中断感应寄存器用来设置产生中断的触发方式。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。给对应的bit写0,把对应的引脚设置为边沿触发。给对应的bit写1,把对应的引脚设置为电平触发。由复位值可知,引脚默认为边沿触发方式。边沿触发,分为上升沿触发和下降沿触发两种方式。电平触发,分为高电平触发和低电平触发两种方式。具体是哪种边沿或者哪种电平触发中断,需要由下面将要讲到的“中断事件触发器”决定。
4. 双边沿中断寄存器IBE
0:中断方式由IEV决定
1:设置为双边沿中断
双边沿中断寄存器用来设置引脚中断方式是否为双边沿触发中断。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。给对应的bit写1,把对应的引脚设置为双边沿触发中断,给对应的bit写0,则触发方式由中断事件寄存器的设置决定。
5. 中断事件寄存器IEV
0:下降沿或低电平触发
1:上升沿或高电平触发
中断感应寄存器用来设置高低电平或者是上升沿和下降沿触发中断的方式。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。这个寄存器与“中断感应寄存器”配合使用,决定引脚的电平触发方式。给对应的bit位写0,如果“中断感应寄存器”设置为边沿触发,这里即是下降沿触发中断,如果“中断感应寄存器”设置为电平触发,这里即是低电平触发中断。给对应的bit位写1,如果“中断感应寄存器”设置为边沿触发,这里即是上升沿触发中断,如果“中断感应寄存器”设置为电平触发,这里即是高电平触发中断。由复位值可知,引脚的中断触发方式为低电平触发中断或者是下降沿触发中断。
6.中断屏蔽寄存器IE
0:屏蔽引脚的中断
1:不屏蔽引脚的中断
中断屏蔽寄存器用来屏蔽引脚上的中断。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。给对应的bit位写0,屏蔽对应引脚的中断。给对应的bit位写1,不屏蔽对应引脚的中断。
它其实是接下来要讲到的“屏蔽中断状态寄存器”的开关。当引脚设置好触发中断方式以后,在引脚上产生了触发中断的条件,如果这里的对应引脚的位设置为1,那么“屏蔽中断状态寄存器”中的对应状态位将置1,如果这里的对应引脚的位设置为0,那么“屏蔽中断状态寄存器”中的对应状态位将不会置1。
7. 原始中断状态寄存器RIS
0:表示没有产生中断
1:表示产生了中断
原始中断状态寄存器,是一个只读寄存器。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。读取对应的位,可以知道引脚上有没有产生符合条件的中断。
需要注意的是,这里的状态位,并不受“中断屏蔽寄存器”设置位的影响。例如,当某引脚设置为下降沿产生中断,如果某引脚上产生了下降沿,这个寄存器中的对应位就会置1。也就是说,前面提到的“中断屏蔽寄存器”的设置,只会影响到“屏蔽中断状态寄存器”的状态位。
8. 屏蔽中断状态寄存器MIS
0:表示没有产生中断
1:表示产生了中断
屏蔽中断状态寄存器,是一个只读寄存器。寄存器当中的bit0到bit11,每一个bit与引脚顺序对应。读取对应的位,可以知道引脚上有没有产生符合条件的中断。
需要注意的是,这里的状态位,受“中断屏蔽寄存器”设置位的影响。例如,当某引脚设置为下降沿产生中断,如果某引脚上产生了下降沿,而且在“中断屏蔽寄存器”中的引脚对应位设置为1,这个寄存器中的对应位才会置1。也就是说,即使引脚上产生了符合条件的中断,如果“中断屏蔽寄存器”中的引脚对应位设置为0,这个状态寄存器中的对应位是不会置1的。
9.中断清除寄存器IC
0:不起作用
1:清除中断状态位
中断清除寄存器是一个只写寄存器,用来清除对应引脚中断状态位。GPIO有两个中断状态寄存器,它们分别是“屏蔽中断状态寄存器”和“原始中断状态寄存器”。给“中断清除寄存器”对应的位写1,将会清除这两个中断状态寄存器中的对应位。lpc1114设置引脚功能
09:33:39来源: eefocus 关键字:&&&&
LPC_IOCON->R_PIO1_0 &= ~0x07;LPC_IOCON->R_PIO1_0 |= 0x02;上面是P1.0为AD1的语句。P1.0低三位是选择位,所以配置低三位就可以配置引脚功能,具体什么功能可以看用户手册IOCON定义部分。好多童鞋不理解为什么要加第一条语句,解答如下:第一条语句的作用是清低三位,就是把低三位都置0;第二条语句是bit1置1,设置为AD1功能。如果没有第一条语句,如果以前bit0为1,执行完第二条语句,最后的结果是bit0和bit1都是1,就不是你要配置的AD1功能了。
关键字:&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
热门关键词
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。}

我要回帖

更多关于 arduino nano引脚定义 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信