TQ2440之LED点亮
来源:互联网 发布:国外看病知乎 编辑:程序博客网 时间:2024/04/29 07:41
TQ2440端口介绍:
功能:实现四个LED灯的显示(全亮,轮询点亮...),管脚配置如下
PnCON:引脚控制寄存器,决定每个引脚使用哪种功能(有些引脚是复用引脚)
PnDAT:引脚数据寄存器,根据端口的配置,可以读、写数据,端口A只有输出功能
PnUP:引脚上拉寄存器,端口A不具备上拉电阻
MISSCR:杂项控制寄存器(暂时不完全理解,日后在研究)
DCLKCON:控制寄存器(暂时不完全理解,日后在研究)
EXTINTn:外部中断控制寄存器(触发方式,为边沿出发或电平出发,同时还配置信号的触发极性)
EINTFLTn:外部中断滤波器(为确认电平中断,由于噪声滤波必须保持中断管脚40ns的延时)
EINTMASK:外部中断屏蔽寄存器
EINTPEND:外部中断挂起寄存器(表示中断是否发生)
GSTATUSn:通用状态寄存器,包括复位,看门口,电源。。。。。
DSCn:驱动强度控制寄存器
MSLCON:存储器睡眠控制寄存器
本内容主要是实现LED等“显闪”
源码如下:
void My_Led_Test(void)
{
int idx;
Uart_Printf("\nMy Led Test Begin\n");
rGPBCON |= 0x15400; //CONFIGURE PINS: SET PB5、PB6、PB7、PB8 OUTPUT
rGPBUP |= 0x1E0; //set pins pull-up
Delay(10);
while (Uart_Getch() != 's')
{
rGPBDAT &= ~(0x0f << 5); //all light on
Delay(1000);
rGPBDAT |= (0x0f << 5); //all light off
Delay(10);
for (idx = 0; idx < 8; idx ++)
{
if (idx <3)
{
rGPBDAT &= ~(0x01 << (5 + idx));
Delay(2000);
}
else
{
rGPBDAT &= ~(0x01 << (12 - idx));
Delay(2000);
}
if (idx == 3)
rGPBDAT |= (0x0f << 5); //all light off
}
Delay(1000);
}
}
- TQ2440之LED点亮
- TQ2440系列一 ADS 1.2 汇编点亮4个LED
- TQ2440 ADS 1.2 汇编点亮4个LED
- 妈蛋,终于在TQ2440上点亮一个led了。。。
- Led点亮之时----激动
- 飞凌OK6410之点亮LED
- STM32学习之点亮LED
- OK6410(s3c6410)之LED点亮
- 裸机开发之点亮LED
- 点亮LED
- 点亮LED
- 点亮LED
- 点亮led
- MICRO2440裸跑之按键点亮LED
- mini2440之汇编点亮一个led
- 51汇编程序之点亮全部led
- 字符设备驱动之点亮LED
- 基于stm32f103zet6点亮LED之启动文件
- ant自动部署WEBLOGIC,包括远程部署
- xx
- window2003配置Apache日志轮询——cronolog
- Homebrew的安装与使用
- 手机安全卫士开发系列(6)——程序主界面
- TQ2440之LED点亮
- FLASHBACK TABLE table_name TO BEFORE DROP引发的猜想
- hdu 4424 Conquer a New Region (贪心+并查集)
- HDU 1018 Big Number
- VC调试 TRACE宏、ASSERT宏、VERIFY 宏 介绍
- DllRegisterServer引出函数实现
- FTP传输原理(加强,进阶)关键字:FXP RENT STOR
- Android SDK下载和更新失败的解决方法!!!
- VMware虚拟机Fefora和主操作系统硬盘之间实现文件共享方法