历史上的今天
今天是:2024年10月14日(星期一)
2019年10月14日 | 基于单片机的多模式带音乐跑马灯设计
2019-10-14 来源:eefocus
1、有12个发光二极管做跑马灯,其中跑马灯有10种灯亮模式。
2、有键盘用以切换跑马灯的模式,并且对于跑马灯模式可以对亮灯速度进行控制。
3、每一种跑马灯模式用LED数码管进行显示。
4、当跑马灯处于一种模式时,伴随的音乐响起,音乐至少有3首,并可以对其进行切换。
单片机音乐跑马灯仿真图:

单片机源程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
//定义特殊功能寄存器的位变量
sbit key1=P3^2;//按key1可自动//外部中断
sbit key2=P3^3;//按key2可切换//外部中断
sbit fm=P3^7;//蜂鸣器连续的IO口
sbit key3=P3^4;
sbit key4=P3^5;
/*uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};//共阴极数码管显示码制0~F*/
uchar code table[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //共阳极数码管显示码制0~F
//速度模式共有5种
unsigned char code SpeedCode[]={5,14,30,60,100};
uchar count2=1,RunMode=1;//音乐、流水灯标志
uchar zd=1; //自动播放标志
uchar timeh,timel,i;
uint LEDIndex = 0;//LED位置
bit LEDDirection = 1,LEDFlag = 1;//LED方向,LED亮灭
uint Timer0Count,SystemSpeed;//跑马灯速度,系统速度
char SystemSpeedIndex=0;//速度模式参数
//---------------------------简谱---------------------------------------
//编程规则:字节高位是简谱,低位是持续时间,
//代表多少个十六分音符
//1-7代表中央C调,8-E代表高八度,0代表停顿
//最后的0是结束标志
uchar code qnzl[]={ //千年之恋
0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0x72,0x82,0x94,0xA8,0x08,
//前奏
0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
//竹林的灯火 到过的沙漠
0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,
//七色的国度 不断飘逸风中
0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
//有一种神秘 灰色的旋涡
0x32,0x31,0x21,0x32,0x82,0x83,0x71,0x72,0x02,
//将我卷入了迷雾中
0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,
//看不清的双手
0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,
//一朵花传来谁经过的温柔
0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76,
//穿越千年的伤痛
0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,
//只为求一个结果
0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,
//你留下的轮廓 指引我
0x42,0x61,0x62,0x83,0x83,0x91,0x91,
//黑夜中不寂寞
0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,
//穿越千年的哀愁
0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,
//是你在尽头等我
0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,
//最美丽的感动 会值得
0x42,0x82,0x88,0x02,0x74,0x94,0x89,0xff//结束标志
//用一生守候
};
uchar code jmszl[]={ //寂寞沙洲冷
0x12,0x12,0x22,0x32,0x31,0x22,0x21,0x22,
//自你走后心憔悴
0x21,0x31,0x51,0x52,0x31,0x52,0x61,0x15,0x14,
//白色油桐风中纷飞
0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,
//落花似人有情 这个季节
0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x51,0x52,
//河畔的风放肆拼命地吹
0x51,0x51,0x31,0x32,0x31,0x32,0x81,0x72,0x63,
//不断拨弄离人的眼泪
0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,
//那样浓烈的爱再也无法给
0x22,0x12,0x11,0x12,0x11,0x12,0x12,0x14,0x26,0x32,0x26,
//伤感一夜一夜
0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,
//当记忆的线缠绕过往支离破碎
0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,
//是慌乱占据了心扉
0x31,0x81,0x81,0x81,0x61,0x91,0x82,
//有花儿伴着蝴蝶
0x51,0x51,0x51,0x51,0x31,0x61,0x53,
//孤雁可以双飞
0x21,0x11,0x21,0x11,0x22,0x11,0x21,0x26,
//夜深人静独徘徊
0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,
//当幸福恋人寄来红色分享喜悦
0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,
//闭上双眼难过头也不敢回
0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0x51,0x34,
//仍然捡尽寒枝不肯安歇微带着后悔
0x21,0x31,0x51,0x31,0x21,0x11,0x61,0x21,0x16,
//寂寞沙洲我该思念谁
0xff};
uchar code srkl[]={0x52,0x52,0x64,0x54,0x84,0x74,//生日快乐
0x52,0x52,0x64,0x54,0x94,0x84,
0x52,0x52,0xc4,0xA4,0x84,0x74,0x64,
0xB2,0xB2,0xA4,0x84,0x94,0x84,
0x52,0x52,0x64,0x54,0x84,0x74,
0x52,0x52,0x64,0x54,0x94,0x84,
0x52,0x52,0xc4,0xA4,0x84,0x74,0x64,
0xB2,0xB2,0xA4,0x84,0x94,0x84,0xff};
uchar code goon[]={0x64,0x84,0x92,0x91,0x81,0x93,0x61, //康定情歌
0x54,0x62,0x82,0x92,0x91,0x81,0x92,
0x64,0x62,0x82,0x92,0x91,0x81,0x93,
0x61,0x54,0x82,0x62,0x51,0x61,0x51,
0x41,0x52,0x24,0x92,0x54,0x82,0x64,
0x52,0x42,0x94,0x82,0x62,0x51,0x61,
0x51,0x41,0x52,0x24,0xff};
//----------------------------简谱音调对应的定时器初值---------------------------
//适合11.0592M的晶振
uchar code chuzhi[]={
0xff,0xff,//占位
0xFC,0x8E,//中央C调1-7
0xFC,0xED,
0xFD,0x43,
0xFD,0x6A,
0xFD,0xB3,
0xFD,0xF3,
0xFE,0x2D,
0xFE,0x47, //高八度1-7
0xFE,0x76,
0xFE,0xA1,
0xFE,0xC7,
史海拾趣
|
据国外媒体报道,众所周知,从5月1日开始,欧洲芯片巨头德国英飞凌的内存业务将分拆为一个独立的公司。而在\"自立门户\"之前,内存业务的表现也十分不俗。据半导体行业市场调研公司iSuppli的报告,今年第一季度,英飞凌内存业务力压韩国现代和美国 ...… 查看全部问答> |
|
朋友要我帮忙改一电路,要把原来的SW1单刀双掷改成电子开关,然后用一单刀单掷开关控制转换。局部电路付上,要求:单电源工作,不能使用继电器等机械控制。由于要控制音频信号,同时上面又有偏压,我试过用三极管和4066等都不成功,坛子里高手多, ...… 查看全部问答> |
|
在中发买的霍尔芯片A3144,测试时,有的芯片的输出信号该低的时候低不下去,最低是2.5v呀,供电是5v,为啥呢? 发现好多同类片子用过一段时间后都这样。… 查看全部问答> |
|
PDB Explorer是一个能够查看微软pdb文件(Program DataBase,程序数据库)的工具,它能够将pdb文件中的struct、union及enum类型的定义以C/C++的语法显示出来,特别适合Windows底层研究人员及DDK程序员使用。 下载页:[url=http://www.titilima.cn ...… 查看全部问答> |




