资源简介
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
相关资源
- Computer-controlled systems: theory and design
- Keil5下的STM32F103Cx例程超值,含PWM输出
- arm关于按键控制LED基本程序
- F28335点亮led
- HP ProLiant DL388p Gen8 服务器 - LED 指示灯
- 分辨率强行修改工具
-
failed to execute sc
ript 解决方案+命令行 - LED点阵屏滚动显示设计 列扫描 protu
- zw_vnsoft-10755608-vnsoft_select_disabled.zip
-
zw_qq_43189738-10871297-unti
tled5.zip - OLED万年历显示程序
- 利用msp430f5529使led灯闪烁
-
zw_unti
tled.zip - 8086 8个开关控制8个LED
- LED音乐频谱
- 树莓派控制RGB LED源代码softPwm
- 16x16 LED点阵 驱动 74hc164 74hc595 参考电
- 16x16 LED点阵 驱动 74hc164 74hc595
- 基于STM32的空气颗粒PM2.5与温湿度检测
- mega16单片机实现交通灯protues仿真,
- 飞凌ok6410 linuxLED驱动及应用程序
- 单片机的4个课程 原理闪烁LED灯 跑马
- OLED 091 12832 I2C STM32 驱动
- mini2440的按键,led灯裸机程序,不使用
- 基于74HC595的LED流水灯 带实物图
- led 测试程序
- 16*16LED汉字显示
- 学习Hyperledger Fabric 实战联盟链全套视
- labview控制LED
- STM32延时中断LED
评论
共有 条评论