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

📄 训练项目十:8x8 点阵实验.c

📁 长沙理工自己的实验程序
💻 C
字号:
/****************************************************************************
** File Name:          8X8点阵实验
** Createed By:        Wangchangsong
** Create Date:        07/29/2008
** Version:            1.0
** Descriptions:       
**
**---------------------------------------------------------------------------
** Modified By:
** Modified Date:
** Version:
** Descriptions:
**
****************************************************************************/

#include"iom128v.h"
#include <macros.h> 
unsigned int i,j = 0;
unsigned char table[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};                                      
unsigned char  digittab[10][8]={
                                 {0xff,0xc3,0xBD,0xbd,0xbd,0xbd,0xc3,0xff},//0 
                                 {0xf7,0xe7,0xd7,0xf7,0xf7,0xf7,0xc1,0xff},//1 
								 {0xff,0xe7,0xdb,0xdb,0xf7,0xef,0xc1,0xff},//2 
							     {0xff,0xc1,0xfd,0xfd,0xc1,0xfd,0xfd,0xc1},//3 
								 {0xbd,0xbd,0xbd,0xbd,0x81,0xfd,0xfd,0xfd},//4  
								 {0xff,0xc1,0xdf,0xdf,0xc1,0xfd,0xfd,0xc1},//5 
								 {0xff,0xc1,0xdf,0xdf,0xc1,0xdd,0xdd,0xc1},//6 
								 {0xff,0xc1,0xfd,0xfb,0xf7,0xef,0xdf,0xff},//7 
								 {0xff,0xc1,0xdd,0xdd,0xc1,0xdd,0xdd,0xc1},//8 
								 {0xff,0xc1,0xdd,0xdd,0xc1,0xfd,0xfd,0xc1} //9
								};

/****************************************************************************
** Function Name:      delay_1ms      
** Descriptions:       delay time
** Input Parameters:   void
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/								
								
void delay_1ms(void)                            /* 延时                    */             
{
   unsigned int i;
   for (i = 0;i < 100;i++);
}

/****************************************************************************
** Function Name:      delay_nms       
** Descriptions:       delay time
** Input Parameters:   n
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void delay_nms(unsigned int n)                   /* 延时                   */
{
   unsigned int i = 0;
   for (i = 0;i < n;i++)
   delay_1ms();
}

/****************************************************************************
** Function Name:      init       
** Descriptions:       initialization
** Input Parameters:   void
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void init()                                     /* 初始化                  */
{
    SREG |= 0x80;
	TCCR1A = 0;
    TCCR1B = 0x00;          
    TCNT1H = 0x00;                              /* 16位定时器/计数器的寄存器 */          
    TCNT1L = 0x00;                              /* 16位定时器/计数器的寄存器 */
    TIMSK = 0x04;                               /* T/C1溢出中断允许          */
    TCCR1B = 0x04;                              /* TC/1控制寄存器C           */
 }

/****************************************************************************
** Function Name:      main       
** Descriptions:       
** Input Parameters:   void
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/ 
 
void main(void)
{ 
  DDRB = 0xff;                                   /* PB口做输出               */
  DDRC = 0xFF;                                   /* PC口做输出               */
  init();
    while (1)
    {
        for(i = 0;i < 8;i++)
        { 
         PORTB=table[i];
         PORTC=digittab[j][i];
         delay_nms(1);
        }
    }								
}

#pragma interrupt_handler timer:15

/****************************************************************************
** Function Name:      timer       
** Descriptions:       
** Input Parameters:   void
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void timer(void)
{ 
    j++;
    if(j == 10)
    {j = 0;
    }
}

/****************************************************************************
 END FILE
****************************************************************************/

⌨️ 快捷键说明

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