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

📄 led8py.c

📁 《DSP原理及电机控制应用-基于240x系列》2008新购的DSP原理及电机控制应用
💻 C
字号:

#include  "register.h"
unsigned table[5]={0x0f900,0x0A400,0xb000,0x9900,0x0c700};
//系统初始化子程序 
void  initial()
{
	asm(" setc INTM");			//屏蔽中断 
	WSGR=0x00;				//禁止所有的等待状态 
	asm(" CLRC  SxM");
	asm(" CLRC  OVM");
	asm(" CLRC  CNF");		//B0被配置为数据空间 
	SCSR1=0x81FE;			//CLKIN=6M,CLKOUT=24M ,并且使能到SPI模块的时钟 
	WDCR=0x0E8;			//不使能看门狗 

    IMR=0x0000;						// 禁止所有中断
	IFR=0x0FFFF;					// 清除全部中断标志,"写1清0"
}

//SPI模块初始化子程序 
void SPIINITIAL()
{
	SPICCR=0x0047;			//8 char bits ,在SPICLK的下降沿发送数据,8位数
	SPICTL=0x0006;			//使能主动模式,一般的时钟方式,使能TALK 
	SPIBRR=0x000b;			//SPI的波特率为6M,CLKOUT=24M 
	MCRB=0x0014;			//设置通用引脚为SPI功能的引脚 
	SPICCR=SPICCR|0x0080;	//使SPI退出复位状态 
}



//主程序 
main()
{   
    int i=0,j;
	initial();							//系统初始化 
	SPIINITIAL();						//SPI初始化 
    MCRA=MCRA&0x0FF7f;	               //设置IOPA7脚为一般的I/O功能
    PADATDIR=0x807f;		   // IOPA7 设置为输出方式,且IOPA7=0,该端口为74HC595锁存信号
  while(1)
  {
	PADATDIR=0x807f;		   // IOPA7 设置为输出方式,且IOPA7=0,给LACK信号一个低电平
	for(i=0;i<4;i++)
		{	
	 		SPITXBUF =table[i];        //给数码管送数
    		while((SPISTS&0x0040)!= 0x040) {} 		
	    	SPIRXBUF = SPIRXBUF;            
         }
       	PADATDIR=0x80ff;		// IOPA7=1,给LACK信号一个高电平
     	for(j=0;j<10;j++){}	
  }

}

//当发生干扰中断时,执行此中断服务程序 
void interrupt nothing()
{
	return;
}

⌨️ 快捷键说明

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