基于单片机的电子琴设计_毕业设计论文(编辑修改稿)内容摘要:
即跳转到 NOKEYS NEQ: LCALL DELY10MS。 延时 10ms 消抖 MOV A,P2。 消除扰动和干扰 XRL A,0FFH CJNE A,00H,NK1 LJMP NOKEYS。 为扰动信号没有键按下转 NOKEYS NK1: MOV A,P2。 判断是否按下 1 键 CJNE A,0FEH,NK2。 按下 1 键即顺序执行程序,否则跳到NK2 检查下一键位 MOV KEYBUF,0。 保存列号 0 MOV P0,06H。 让 LED 显示为 1 LJMP DK1 NK2: CJNE A,0FDH,NK3。 判断是否按下 2 键 MOV KEYBUF,1。 保存列号 1 MOV P0,5BH。 让 LED 显示为 2 LJMP DK1 NK3: CJNE A,0FBH,NK4。 判断是否按下 3 键 MOV KEYBUF,2。 保存列号 2 MOV P0,4FH。 让 LED 显示为 3 LJMP DK1 NK4: CJNE A,0F7H,NK5。 判断是否按下 4 键 MOV KEYBUF,3。 保存列号 3 MOV P0,66H。 让 LED 显示为 4 LJMP DK1 NK5: CJNE A,0EFH,NK6。 判断是否按下 5 键 MOV KEYBUF,4。 保存列号 4 MOV P0,6DH。 让 LED 显示为 5 LJMP DK1 NK6: CJNE A,0DFH,NK7。 判断是否按下 6 键 MOV KEYBUF,5。 保存列号 5 MOV P0,7DH。 让 LED 显示为 6 LJMP DK1 NK7: 河南理工大学本科课程设计报告 13 CJNE A,0BFH,NK08。 判断是否按下 7 键 MOV KEYBUF,6。 保存列号 6 MOV P0,07H。 让 LED 显示为 7 LJMP DK1 NK08: CJNE A ,7FH,NK8。 判断是否按下 8 功能切换键 NK8: LJMP CHOICE。 转向功能转换程序 DK1: MOV A,KEYBUF。 取列号 MOV B,2。 初值为双字节,乘以 2 MUL AB。 对应读取表格 TABLE1 的数据 MOV TEMP,A。 保存初值高八位偏移地址 MOVC A,@A+DPTR。 取初值高八位 MOV STH0,A。 保存值高八位 MOV TH0,A。 装初值高八位 INC TEMP。 初值高八位偏移地址加一得到初值低八位偏移地址 MOV A,TEMP MOVC A,@A+DPTR。 取初值低八位 MOV STL0,A。 保存值低八位 MOV TL0,A。 装 初值低八位 SETB TR0。 开启定时器 T0, T0 开始计数 DK1A:。 判断音符键是否松开 MOV A,P2 XRL A,0FFH JNZ DK1A。 没有松开,等待 CLR TR0。 松开,定 时器 T0 停止计数 NOKEYS: RET。 返回。 *******功能转换程序 ******** CHOICE: MOV P2,0FFH MOV A,P2 CJNE A,7FH,NEXT1111。 按下了 功能转换键后,顺序执行,否则则跳转到 NEXT1111 NEXT111: MOV P2,0FFH MOV A,P2 XRL A,0FFH JNZ NEXT111。 如果 A 不为 0,即按键有变化,等待键释放 ACALL DISPLAY。 如果没有键按下,即调用 DISPLAY MOV SP,60H。 设定堆栈指针指向 60H MOV 40H,00H。 歌谱偏移地址存储单元清零 ACALL DIANGE。 转向点歌程序 河南理工大学本科课程设计报告 14 NEXT1111: LJMP SAOMIAO。 返回弹奏程序。 *******点歌播放音乐程序 ******** DIANGE: MOV P2,0FFH。 先将键盘的列全部置为高电平 MOV A,P2 XRL A,0FFH CJNE A,00H,NNEQ。 判断有没键按下 , CLR。 没有键按下,蜂鸣器不发声 LJMP DIANGE。 等待点歌 NNEQ:。 有按键按下即跳到 NNEQ LCALL DELY10MS。 延 时 10ms 消抖 MOV A,P2 XRL A,0FFH CJNE A,00H,NNEQ1。 有键按下转向 NNEQ1 LJMP DIANGE。 没有键按下等待点歌 NNEQ1: MOV A,P2。 判断是否按下 1 键 CJNE A,0FEH,NNK2。 按下 1 键即顺序执行程序,否则跳到 NNK1 检查下一键位 MOV DPTR,TABLE10。 DPTR 指向第一首歌歌谱 MOV P0,06H。 让 LED 显示为 1 LJMP MUSIC。 转向歌曲播放程序 NNK2: CJNE A,0FDH,NNK3。 判断是否按下 2 键 MOV DPTR,TABLE20。 DPTR 指向第二首歌歌谱 MOV P0,5BH。 让 LED 显示为 2 LJMP MUSIC。 转向歌曲播放程序 NNK3: CJNE A,0FBH,NNK4。 判断是否按下 3 键 MOV DPTR,TABLE30。 DPTR 指向第三首歌歌谱 MOV P0,4FH。 让 LED 显示为 3 LJMP MUSIC。 转向歌曲播放程序 NNK4: CJNE A,0F7H,NNK5。 判断是否按下 4 键 MOV DPTR,TABLE40。 DPTR 指向第四首歌歌谱 MOV P0,66H。 让 LED 显示为 4 LJMP MUSIC。 转向歌曲播放程序 NNK5: CJNE A,0EFH,NNK6。 判断是否按下 5 键 MOV DPTR,TABLE50。基于单片机的电子琴设计_毕业设计论文(编辑修改稿)
相关推荐
冲作为读片外存储器的选通信号。 此引肢接 EPROM 的 OE 端 (见后面几章任何一个小系统硬件图 )。 PSEN 端有效,即允许读出 EPROM/ ROM 中的指令码。 PSEN 端同样可驱动 8 个 LS 型 TTL 负载。 要检查一个8051/8031 小系统上电后 CPU 能否正常到 EPROM/ ROM 中读取指令码,也可用示波器看 PSEN 端有无脉冲输出。
合,所选用的传感器稳定性要求更严格,要能经受住长时间的考验。 使用特别注意:传感器属于精密部件,剧烈振动、自由落体、碰撞、过载、过压等等,都非常容易造成 传感器永久损坏或者影响精度和线性。 传感器是测量机构最重要的部件 ,本次设计采用电阻应变式压力传感器。 电阻应变式压力传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时
坏芯片。 为防止这种现象,可采取如下措施: ( 1)加强抗干扰措施,尽量避免较大的干扰电流进入电路; ( 2)加强电源稳压滤波措施, 在 A/D 转换器电源入口 处加退耦滤波电路,为防止窄脉冲波窜入在电解电容上再接一高频滤波电容; ( 3)在 A/D 转换器的电源端接一限流电阻,可在出现晶闸管现象时,有效地把电流限定在允许范围内,以防止烧坏器件。 选择 A/D 转换器除考虑上述要点外,为防止对
P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。 当
还是断电后或者发生故障后都要复位。 除了音符以外,节拍也是音乐的关键组成部分。 图 310 复位电路 电路总体构成 电路总体构成图 如下: 11 图 311 电路图 4 系统软件设计 本软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由 16 个音节组成的的键盘,用户可以根据乐谱在 键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。 并且可以自动播放音乐, LED
绩效发展计划(Orange.TANGDU)1 广 州 唐 都 广 告 有 限 公 司工 作 表 现 评 核 及 发 展 计 划 表 格_员 工 : _欧 杰_ 职 位 :_策略总监_部 门 : _客务部(_评 估 周 期 : 2001年 1 月 1 日 至 2001年 12 月 31 日评 核 人 : _ 评 核 人 职 位 :_计 划 日 期 :_ 评 估 日 期 : _说 明 :