lpc210X的IO操作
来源:互联网 发布:新疆云计算 编辑:程序博客网 时间:2024/05/21 00:17
#include <lpc210x.h>
#define uint32 unsigned int
#define uchar unsigned char
#define DATA_INPUT 1<<23 /* P0.23 */
#define DATA_CLK 1<<22 /* P0.22 */
uchar disp[8]={0x01,0x02,0x04,0x08,
0x80,0x40,0x20,0x10};
void DelayNS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<5000; i++);
}
//------------------------------------------------------------------------
// 函数名 : HC164_SendDat()
// 功 能 : 向74HC164发送一字节数据
//------------------------------------------------------------------------
void HC164_SendDat(uchar data)
{ uchar i;
for(i=0; i<8; i++) // 发送8位数据
{
IOCLR = DATA_CLK; // CLK = 0
// 设置DATA移位输出
if((data&0x80)!=0)
IOSET = DATA_INPUT ;
else
IOCLR = DATA_INPUT ;
data <<= 1;
IOSET = DATA_CLK ; // CLK = 1
}
}
/****************************************************************************
* 名称:main()
* 功能:初始化外部中断1(EINT1)为向量中断,并设置为下降沿触发模式,然后等待外部中断。
* 说明:在STARTUP.S文件中使能IRQ中断(清零CPSR中的I位)。
****************************************************************************/
int main(void)
{
uchar i,j ;
PINSEL1 = 0x00000000;
IODIR=DATA_CLK|DATA_INPUT;
while ( 1 )
{
for(j=0;j<8;j++){
for(i=0;i<8;i++)
{
HC164_SendDat(disp[i]);
DelayNS( 200 ) ;
}
}
for(j=0;j<8;j++){
for(i=0;i<8;i++)
{
HC164_SendDat((disp[i]^0xff));
DelayNS( 400 ) ;
}
}
}
}
- lpc210X的IO操作
- C++的IO操作
- Java的IO操作
- IO的基本操作
- 简单的io操作
- c的io操作
- IO口的操作
- ffmpeg的IO操作
- ffmpeg的IO操作
- Io流的操作。
- 一系列的IO操作
- java的IO操作
- ffmpeg的IO操作
- 二进制文件的IO操作
- 基本的IO操作
- Java的IO操作
- lua io的操作
- JAVA的IO操作
- .NET设计模式(19):观察者模式(Observer Pattern)
- controlParameter设置controlid的问题
- tempalte
- Eclipse + WTP + Tomcat 构建Java Web开发环境
- 进入一所普通本科学院——近一年的感想
- lpc210X的IO操作
- 程序员的10种级别
- 动态为事件添加js代码示例
- 春节假期 新的征程
- My first Makefile
- 让人心疼的12句话
- 项目从vs2003升级到Vs2008的问题
- 正确认识使用UML中的类图
- biauh siu asidf