K7i ARM开发板源码之数码管显示

K7i ARM开发板源码之数码管显示

 

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

* 文件名:main.c

* 功  能:在开发板上的数码管上显示"LPC2148"

* 作  者:李园

* 日  期:2008年5月5号

* 博 客:blog.csdn.net/liyuanempire

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

#include "config.h"

#define HC595_CS (1<<24)  //P1.24作为74HC595的片选

void DelayNS(uint32 dly)
{
 uint32 i;
 for(;dly>0;dly--)
  for(i=0;i<50000;i++);
}

void MSPI_Init(void)
{
 PINSEL0=(PINSEL0&0xFFFF00FF)|0x00005500;
 SPCCR=0x52;
 SPCR=(0<<3)|(1<<4)|(1<<5)|(0<<6)|(0<<7);
}

uint8 MSPI_SendData(uint8 data)
{
 IO1CLR=HC595_CS;
 SPI_SPDR=data;
 while(0==(SPI_SPSR&0x80));
 IO1SET=HC595_CS;
 return(SPI_SPDR);
}

uint8 const DISP_TAB[]={
0xC7,0x8C,0xC6,0xA4,0xF9,0x99,0x80,
0xC0,0xF9,0xA4,0XB0,0x99,0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xC6,0xA1,0x86,0x8E,
0xC7,0x8C,0xC6};

uint8 rcv_data;
int main(void)
{
 uint8 i;
 PINSEL0=0x00005500;
 PINSEL1=0x00000000;
 IO1DIR=HC595_CS;
 
 
 MSPI_Init();
 while(1)
 {
  for(i=0;i<7;i++)
  {
   rcv_data=MSPI_SendData(DISP_TAB[i]);
   DelayNS(50);
   
  }
  
  
 }

return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值