⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iopin.c

📁 交通灯的小程序
💻 C
字号:
#include "DSP281x_Device.h"     // DSP281x Headerfile Include File
#include "DSP281x_Examples.h"   // DSP281x Examples Include File
// led
unsigned int uLed[12][2]={ {1,0x40},{2,0x40},{4,0x40},
						   {0,0x41},{0,0x42},{0,0x44},
						   {8,0x40},{0x10,0x40},{0x20,0x40},
						   {0,0x48},{0,0x50},{0,0x60},
						 };
// Prototype statements for functions found within this file.

void Delay(unsigned int nTime);

void Gpio_select(void);
void Gpio_PortA(void);
void Gpio_PortB(void);

#define T46uS		0x0d40
#define SCANCODE_0 0x70
#define SCANCODE_1 0x69
#define SCANCODE_2 0x72
#define SCANCODE_3 0x7A
#define SCANCODE_4 0x6B
#define SCANCODE_5 0x73
#define SCANCODE_6 0x74
#define SCANCODE_7 0x6C
#define SCANCODE_8 0x75
#define SCANCODE_9 0x7D
#define SCANCODE_Del 0x49
#define SCANCODE_Enter 0x5A
#define SCANCODE_Plus 0x79
#define SCANCODE_Minus 0x7B
#define SCANCODE_Mult 0x7C
#define SCANCODE_Divid 0x4A
#define SCANCODE_Num 0x77
#define CTRGR *(int *)0x108000
#define CTRLCDCMDR *(int *)0x108001
#define CTRKEY *(int *)0x108001
#define CTRLCDCR *(int *)0x108002
#define CTRCLKEY *(int *)0x108002
#define CTRLCDLCR  *(int *)0x108003
#define CTRLCDRCR *(int *)0x108004
#define CTRLA *(int *)0x108005
#define CTRLR *(int *)0x108007

Uint16 var1 = 0;
Uint16 var2 = 0;
Uint16 var3 = 0;
Uint16 test_count = 0;
Uint16 Test_flag = 0;
Uint16 Test_var  = 0;
Uint16 Test_status[32];

int jishu=0,uPort8000,	nScanCode;
int nCountLed,i;
void main(void)
{ InitSysCtrl();//初始化cpu

 
   DINT;//关中断

   InitPieCtrl();//初始化pie寄存器
   

   IER = 0x0000;//禁止所有的中断
   IFR = 0x0000;

   InitPieVectTable();
   
   CTRGR=0;		// 初始化ICETEK-CTR
   CTRGR=0x80;
   CTRGR=0;
   CTRLR=0;			// 关闭东西方向的交通灯
   CTRLR=0x40;	// 关闭南北方向的交通灯
   CTRGR=2;
   
  
   while (1)
	{
	nCountLed=0;
	*(int *)0x108007=0;
	*(int *)0x108007=0x40;
	i=*(int *)0x108002;
	
	for ( i=0;i<256;i++ )
	{
		*(int *)0x108007=uLed[nCountLed][0];	// 设置指示灯状态
		*(int *)0x108007=uLed[nCountLed][1];
		nCountLed++; nCountLed%=12;
		Delay(1024);
		nScanCode=*(int *)0x108001;
		nScanCode&=0x0ff;
		if ( nScanCode==SCANCODE_Enter )	break;
	}
	
	*(int *)0x108007=0;
	*(int *)0x108007=0x40;
	}

} 


void Delay(unsigned int nDelay)
{
	int ii,jj,kk=0;
	for ( ii=0;ii<nDelay;ii++ )
	{
		for ( jj=0;jj<64;jj++ )
		{
			
			kk++;
		}
	}
}






//===========================================================================
// No more.
//========================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -