• 大小: 50KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: led  

资源简介

18 8×8LED点阵屏仿电梯数字滚动显示.zip

资源截图

代码片段和文件信息

//-----------------------------------------------------------------
//  名称: 8×8LED点阵屏仿电梯数字滚动显示
//-----------------------------------------------------------------
//  说明: 本例模拟了电梯显示屏上下滚动显示楼层的效果当目标楼层大于
//      当前楼层时将向上滚动显示反之则向下滚动显示到达目标楼层时
//        将发出蜂鸣声.
//
//-----------------------------------------------------------------
#define F_CPU   4000000UL
#include 
#include 
#include 
#define INT8U   unsigned char
#define INT16U  unsigned int

#define BEEP() PORTA ^= _BV(PA0)            //蜂鸣器定义
const INT8U Table_OF_Digits[]=              //0~9的数字点阵
{  
0x000x3C0x660x420x420x660x3C0x00//0  
0x000x080x380x080x080x080x3E0x00//1
0x000x3C0x420x040x080x320x7E0x00//2
0x000x3C0x420x1C0x020x420x3C0x00//3
0x000x0C0x140x240x440x3C0x0C0x00//4
0x000x7E0x400x7C0x020x420x3C0x00//5
0x000x3C0x400x7C0x420x420x3C0x00//6
0x000x7E0x440x080x100x100x100x00//7
0x000x3C0x420x240x5C0x420x3C0x00//8
0x000x380x460x420x3E0x060x3C0x00 //9
};

INT8U  Current_Floor = 1Dest_Floor = 1;    //当前楼层目标楼层
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
int main() 

DDRA=0XFF;
DDRB=0X00;
PORTB=0XFF;
DDRC=0XFF;
DDRD=0XFF;
TCCR0=0X03;
TCCR1B=0X01;
TCNT0=256-F_CPU/64.0*0.004;
TCNT1=65536-F_CPU/1*0.0005;
TIMSK=_BV(TOIE0);
sei();
while(1);



//-----------------------------------------------------------------
// T1定时器控制声音输出
//-----------------------------------------------------------------
ISR (TIMER1_OVF_vect )
{
static INT8U tCount=0;
TCNT1=65536-F_CPU/1*0.0005;
BEEP();
if(++tCount==150);
{
TIMSK&=~_BV(TOIE1);
tCount=0;
}

}

//-----------------------------------------------------------------
// T0定时器控制楼层数字滚动及刷新显示
//-----------------------------------------------------------------
ISR (TIMER0_OVF_vect )
{
static INT8U NoSound=0;
static INT8U x=0;
static INT8U r=0;
static signed char offset=0;
INT8U i;
TCNT0=256-F_CPU/64.0*0.004;
if(PINB!=0XFF&&Current_Floor==Dest_Floor)
{
if(PINB==0XFE) Dest_Floor=5; else
if(PINB==0XFD) Dest_Floor=4; else
if(PINB==0XFB) Dest_Floor=3; else
if(PINB==0XF7) Dest_Floor=2; else
if(PINB==0XEF) Dest_Floor=1; 
NoSound=1;
}
PORTD=_BV(r);
i=Current_Floor*8+offset+r;
PORTC=~Table_OF_Digits[i];

if(Current_Floor {
if(++r==8)
{
r=0;
if(++x==4)
{
x=0;
if(++offset==8) {offset=0;Current_Floor++;}
}
}
}
else if(Current_Floor>Dest_Floor)
{
if(++r==8)
{
r=0;
if(++x==4)
{
x=0;
if(--offset==-8) {offset=0;Current_Floor--;}
}
}
}
else
{
if(++r==8) r=0;
if(NoSound) {NoSound=0;TIMSK|=_BV(TOIE1);}
}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-11-30 13:36  18 8×8LED点阵屏仿电梯数字滚动显示\
     目录           0  2012-11-30 13:36  18 8×8LED点阵屏仿电梯数字滚动显示\.dep\
     文件          16  2012-10-18 20:56  18 8×8LED点阵屏仿电梯数字滚动显示\.dep\main.o.d
     文件          89  2012-09-29 09:03  18 8×8LED点阵屏仿电梯数字滚动显示\8X8LED.pnproj
     文件          59  2012-09-29 09:03  18 8×8LED点阵屏仿电梯数字滚动显示\8X8LED.pnps
     文件       38554  2012-10-18 20:58  18 8×8LED点阵屏仿电梯数字滚动显示\8×8LED点阵屏仿电梯数字滚动显示.DSN
     文件        1507  2012-11-03 09:07  18 8×8LED点阵屏仿电梯数字滚动显示\8×8LED点阵屏仿电梯数字滚动显示.PWI
     目录           0  2012-11-30 13:36  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\
     文件        4081  2009-10-12 16:10  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\8×8LED点阵屏仿电梯数字滚动显示.aps
     文件         357  2010-01-05 20:27  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\8×8led点阵屏仿电梯数字滚动显示.aws
     文件        1836  2010-04-27 21:39  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\8×8LED点阵屏仿电梯数字滚动显示.c
     目录           0  2012-11-30 13:36  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\default\
     文件          13  2010-01-05 18:49  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\default\8×8LED点阵屏仿电梯数字滚动显示.eep
     文件        2084  2010-01-05 18:49  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\default\8×8LED点阵屏仿电梯数字滚动显示.hex
     目录           0  2012-11-30 13:36  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\default\dep\
     文件        1332  2010-01-05 18:49  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\default\dep\8×8LED点阵屏仿电梯数字滚动显示.o.d
     文件        2039  2009-08-31 21:49  18 8×8LED点阵屏仿电梯数字滚动显示\AVR-C\default\Makefile
     文件       38558  2012-10-18 17:00  18 8×8LED点阵屏仿电梯数字滚动显示\Last Loaded 8×8LED点阵屏仿电梯数字滚动显示.DBK
     文件        3016  2012-10-18 20:56  18 8×8LED点阵屏仿电梯数字滚动显示\main.c
     文件          13  2012-10-18 20:57  18 8×8LED点阵屏仿电梯数字滚动显示\main.eep
     文件        4913  2012-10-18 20:56  18 8×8LED点阵屏仿电梯数字滚动显示\main.elf
     文件        1904  2012-10-18 20:56  18 8×8LED点阵屏仿电梯数字滚动显示\main.hex
     文件       13074  2012-10-18 20:57  18 8×8LED点阵屏仿电梯数字滚动显示\main.lss
     文件       14266  2012-10-18 20:56  18 8×8LED点阵屏仿电梯数字滚动显示\main.lst
     文件       16208  2012-10-18 20:56  18 8×8LED点阵屏仿电梯数字滚动显示\main.map
     文件        5456  2012-10-18 20:56  18 8×8LED点阵屏仿电梯数字滚动显示\main.o
     文件          87  2012-10-18 16:40  18 8×8LED点阵屏仿电梯数字滚动显示\main.pnproj
     文件          57  2012-10-18 16:40  18 8×8LED点阵屏仿电梯数字滚动显示\main.pnps
     文件        1585  2012-10-18 20:57  18 8×8LED点阵屏仿电梯数字滚动显示\main.sym
     文件       17507  2012-10-18 16:54  18 8×8LED点阵屏仿电梯数字滚动显示\Makefile

评论

共有 条评论