音乐流水灯产品设计报告(编辑修改稿)内容摘要:
main() { uchar x,w,timeLed,ad=0。 //, count1=0。 //流水灯无花样 count2=1。 //唱第一首歌 // P34=0。 //选取矩阵键盘的一列 EA=1。 //开总中断 EX0=1。 //开外部中断 0 IT0=1。 //外部中断 0下降沿触发方式 EX1=1。 //开外部中断 1 IT1=1。 //外部中断 1下降沿触发方式 TMOD=0x01。 //定时器 0工作在方式 1 TH0=0。 TL0=0。 ET0=1。 while(1) { if(count1!=0) { switch(count1) { case 1: for(w=0。 w23。 w++) { for(timeLed=0。 timeLed100。 timeLed++) {for(x=0。 x=ad。 x++) { //duan=1。 P1=huayang1[w][x]。 //duan=0。 if(count1!=1) break。 } } if(w7) ad++。 if(w14) ad。 if(w==22) ad=0。 } ad=0。 break。 11 case 2: for(w=0。 w23。 w++) { for(x=0。 x=ad。 x++) { //duan=1。 P1=huayang1[w][x]。 //duan=0。 delay1(300)。 if(count1!=2) break。 } if(w7) ad++。 if(w14) ad。 if(w==22) ad=0。 } ad=0。 break。 case 3: for(w=22。 w=0。 w) { for(timeLed=0。 timeLed100。 timeLed++) {for(x=0。 x=ad。 x++) { //duan=1。 P1=huayang1[w][x]。 //duan=0。 if(count1!=3) break。 } } if(w8) ad。 if(w15) ad++。 if(w==0) ad=0。 } ad=0。 break。 case 4: 12 for(x=0。 x8。 x++) { //duan=1。 P1=huayang4[x]。 beep()。 delay1(300)。 //duan=0。 if(count1!=4) break。 } break。 } } else { song()。 delay1(1000)。 } } } 播放音乐子程序流程图: 13 图 播放音乐子程序流程图 播放音乐子程序代码: void song() { uint temp。 uchar jp。 //jp是简谱 i=0。 while(1) 14 { if(count2==0) { break。 } if(count2==1) //选曲 temp=qnzl[i]。 if(count2==2) temp=jmszl[i]。 if(temp==0xff) break。 jp=temp/16。 //取数的高 4位 //duan=1。 //不知 何物 P1=yinyue[jp]。 //将音乐转化成相应的 LED档 ? //duan=0。 if(jp!=0) { timeh=cuzhi[jp*2]。 timel=cuzhi[jp*2+1]。 } else { TR0=0。 fm=1。 //关蜂鸣器 } delay_led(temp)。 //取数的低 4位 TR0=0。 //唱完一个音停 10MS fm=1。 delay1(10)。 TR0=1。 i++。 } TR0=0。 fm=1。 }延时程序代码: void delay_led(uint temp){ uint x,y。 for(x=temp%16。 x0。 x) for(y=19000/18。 y0。 y){ if(temp/16==0x00){ P1=P1+0X10。 P1=(P1/0X10)*0X10+0X01。 } if(temp/16==0x01){ P1=P1+0X10。 15 P1=(P1/0X10)*0X10+0X0F。 } if(temp/16==0x02){ P1=P1+0X10。 P1=(P1/0X10)*0X10+0X0E。 } if(temp/16==0x03){ P1=P1+0X10。 P1=(P1/0x10)*0X10+0X0D。 }if(temp/16==0x04){ P1=P1+0X10。 P1=(P1/0X10)*0X10+0X0C。 }if(temp/16==0x05){ P1=P1+0X10。 P1=(P1/0X10)*0X10+0X0B。 } if(temp/16==0x06){ P1=P1+0X10。 P1=(P1/0x10)*0X10+0X0A。 } if(temp/16==0x07){ P1=P1+0X10。 P1=(P1/0x10)*0X10+0X09。 } if(temp/16==0x08){ P1=P1+0X10。 P1=(P1/0x10)*0X10+0X08。 } if(temp/16==0x09){ P1=P1+0X10。 P1=(P1/0X10)*0X10+0X7。 } if(temp/16==0x0A){ P1=P1+0X10。 P1=(P1/0X10)*0x10+0x06。 } } } void delay(uint z) //延时 165MS,即十六分音符 { uint x,y。 for(x=z。 x0。 x) for(y=19000。 y0。 y)。 } void delay1(uint z) //延时 1MS 16 { uint x,y。 for(x=z。 x0。 x) for(y=112。 y0。 y)。 } 第五章 测试结果 .总体运行图 图 系统总体运行图 17 附录 程序源代码及注释 include define uchar unsigned char define uint unsigned int //sbit duan=P2^6。 sbit key1=P3^2。 //按 key1 可切换花样 sbit key2=P3^3。 //按 key2 可切换歌曲 sbit fm=P2^1。 //蜂鸣器连续的 IO 口 sbit P34=P3^4。 //矩阵键盘的一列 uchar code huayang1[23][8]={{0x00}, {0x10,0x01}, {0x20,0x11,0x02}, {0x30,0x21,0x12,0x03}, {0x40,0x31,0x22,0x13,0x04}, {0x50,0x41,0x32,0x23,0x14,0x05}, {0x60,0x51,0x42,0x33,0x24,0x15,0x06}, {0x70,0x61,0x52,0x43,0x34,0x25,0x16,0x07}, {0x88,0x71,0x62,0x53,0x44,0x35,0x26,0x17}, {0x98,0x89,0x72,0x63,0x54,0x45,0x36,0x27}, {0xA8,0x99,0x8A,0x73,0x64,0x55,0x46,0x37}, {0xB。音乐流水灯产品设计报告(编辑修改稿)
相关推荐
数据处理,最后由打印机和 LED 数码显示输出。 单元模块设 计 传感器 选择 方案 音频检测系统的传感器选择 有 2 种 方案,一种是驻极体电容话筒,另一种是电磁感应话筒。 滤波电路建议采用二阶带通滤波方案,设计该系统。 1) 驻极体电容话筒 驻极体话筒简称 ECM,通称 MIC( Microphone),是一种常用的能将声音信号转换成电信号的声 — 电转换器件。 它的突出特点是体积小、重量轻
穿线→配电箱、开关、插座安装→电气系统的调试→竣工交验。 建筑给排水工程安装:施工 准备→套管预埋、孔洞预留→给排水、消火栓道管道安装及水压试验→生活水泵、消防水泵、水泵拼接合器安装→卫生器具、消防车火栓箱及配件安装→给排水系统的调试→竣工交验。 5 施工方案 定位放线 该工程采取水准仪、经纬仪和 全站仪相结合的方式进行定点定标高的放线方式。 (1)建筑物定位,是房屋建筑工程开工后的第一次放线
,深度 ,用φ 8条巨石上,旁边用地锚角钢加固,在地下引出两个交点将卷扬机拴住,并用混凝土浇灌,使卷扬机在 吊装过程中保持稳固,达到起重要求。 ( 5) 火炬筒体顶部的起吊装置的制作 采用钢结构制作一套专用抱杆,安装在逐渐升高的事故火炬筒体顶部,用以吊装15米 以上的所有塔架组件、事故分子密封器和事故火炬燃烧器。 ( 6)吊装工具的核对 抱杆 二 副,总高 20米,共分 5节,每节长 4米
人力资源管理(岗位体系)Appendix1_岗位描述手册 000位描述手册上海广电股份有限公司最终项目汇报会二 经麦肯锡公司的书面许可,其它任何机构不得擅自传阅、引用或复制。 000广电股份公司总经理 终端产品本部负责人 网络业务本部负责人 综合业务本部负责人 总会计师 /财务中心主任 技术中心总经理,总工程师 改革推进部负责人下属业务单位 金星电子公司总经理 亿人通讯终端有限公司
设备间子系统空间要按 ANSI/TIA/EIA569要求设计。 设备间子系统空间用于安装电信设备、连接硬件、接头护套等。 为接地和连接设施、保护装置提供控制环境;是系统进行管理、控制、维护的 场所。 设备间子系统所在的空间还有对门窗、天花板、电源、照明、接地的要求。 韩村河山庄 弱电 系统设计 方案 建筑群子系统 当 宾馆、学校 、部队、政府机关、大院的建筑物之间有语音、数据
钢筋、传力杆和拉杆。 插入深度离基层 3~ 5cm,振捣棒轻插慢提,不得猛插快拔,严禁在拌和物中推行和拖拉振捣棒振捣。 接着用平板式振动器,每 4m 断面配备 1 块振动板。 纵横各振捣一遍,振捣位置重叠 10~ 20cm。 振动板在每一位置的振动时间以振动板底部和边缘泛浆厚度 3~ 5mm 为限,且不宜少于 15s。 最后用振动梁振实并整 平提浆。 振动梁放在侧模上,沿混凝土表面拖拉振实