📄 训练项目十:8x8 点阵实验.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 + -