基于51单片机音乐盒课程设计


    基51单片机音乐盒课程设计
    课程名称 微机原理课程设计
    题 目 基51单片机音乐盒设计

    着类社会发展视觉听觉方面享受提出越越高求音乐盒带美回忆提高精神文化享受传统音乐盒机械型体积笨重发音单调实现批量生产设计基STC89C52RC系列单片机音乐盒单片机技术原理通硬件电路制作软件编译设计制作出功功音乐盒该音乐盒键电路复位电路时钟电路蜂鸣器组成两键控制音乐盒键控制歌曲播放暂停换曲控制数码歌曲次序变化音乐盒三首歌曲播放歌曲时相应歌曲应相应数码歌曲次序显示设计利KEIL编程软件音乐盒源程序进行编程调试配合PROTEUS仿真软件硬件进行仿真调试仿真布局Altium Designer软件中绘制PCB单面板检查误制成实物单面覆铜板
    关键字STC89C52RC KEIL PROTEUS PCB
    2
    目录
    设计务求 4
    11 设计务 4
    12 设计求 4
    13 发挥部分 4 二方案总体设计 5
    21 方案列举 5
    22 方案证 5
    23 总体设计原理 5 三硬件设计 6
    31 STC89C52RC芯片 6
    32 晶振电路 7
    33 开关键电路 8
    34 P0口拉电阻 8
    35 复位电路 9
    36 蜂鸣器电路 10
    37 电源电路 11
    38 位阴数码 12 四软件设计 14
    41 软件设计程序流程图 14
    42 软件头文件定义字符类型定义 15
    43 音频音调程序设计 15
    44 键蜂鸣器接口端程序设计 16
    45 外部中断程序设计 16
    46 定时程序设计 17
    47 延时程序编写 18
    48 程序编写 18 五系统仿真调试 20
    51 仿真台 20
    52 仿真调试 20
    53 测试总结 21 六PCB单面板制作 22
    61 绘制台 22
    62 原理图绘制 22
    63 PCB单面板绘制 22 七设计总结心体会 24
    71 设计总结 24
    72 心体会 24 八参考文献 25 附录源程序 26
    3
    设计务求
    11 设计务
    制作简易音乐盒求利干开关键控制音乐播放利位数码显示相关消息
    12 设计求
    完成该模块硬件软件设计Proteus软件仿真通Altium_Designer软件进行PCB单面板绘制修改合理制成单面覆铜板程序载单片机进行硬件验证课程设计身提交篇课程设计说明文档
    13 发挥部分
    分利两开关键控制音乐播放暂停换曲操作时利位阴数码显示相关歌曲曲目变化
    4
    二方案总体设计
    21 方案列举
    方案
    四键控制音乐播放3键选择3首音乐播放键控制音乐停止播放键简单控制开始播放音乐定时器控制亮灯倒计时10秒然触发音乐播放
    方案二
    两键控制音乐播放键(S1)控制音乐播放暂停换曲键(S2)控制数码曲目更换播放键S1单片机开始播放音乐次该键音乐播放暂停第三次该键歌曲默认更换首次选曲键S2单片机暂停前歌曲播放次数码显示曲目更换
    22 方案证
    方案1中4键中3键控制播放3首音乐键控制音乐播放停止选择3首音乐显示首歌局限性太强选择方案二更合适妥
    23 总体设计原理
    次设计基STC89C52RC系列单片机音乐盒单片机技术原理通硬件电路制作软件编译设计制作出功功音乐盒该音乐盒键电路复位电路时钟电路蜂鸣器显示电路组成键控制开始播放暂停换曲利键显示数码曲目更换暂停前曲目更换三首音乐蜂鸣器播放首歌时数码显示相应歌曲次序设计利KEIL编程软件音乐盒源程序进行编程调试配合PROTEUS仿真软件硬件进行仿真调试仿真布局Altium Designer软件中绘制PCB单面板检查误制成实物单面覆铜板
    5
    三硬件设计
    31 STC89C52RC芯片
    STC89C52RC单片机宏晶科技推出新代高速低功耗超强抗干扰单片机指令代码完全兼容传统8051片机引脚图图1示

    图1 STC89C52RC芯片引脚图
    STC89C52RC特性
    增强型8051单片机指令代码完全兼容传统8051
    工作电压55V33V(5V单片机)38V20V(3V单片机)
    工作频率范围040MHz相普通8051080MHz实际工作频率达48MHz 户应程序空间8K字节
    片集成512字节RAM
    通IO口(32)复位P1P2P3P4准双口弱拉P0口漏极开路输出
    作总线扩展时加拉电阻作IO口时需加拉电阻 ISP(系统编程)IAP(应编程)需专编程器需专仿真器通
    串口(RXDP30TXDP31)直接载户程序数秒完成片 具EEPROM功
    具门狗功
    216位定时器计数器定时器T0T1
    外部中断2路降中断低电触发电路PowerDown模式外部中断低电触
    发中断方式唤醒
    通异步串行口(UART)定时器软件实现UART
    工作温度范围40+85(工业级)075(商业级)
    PDIP封装
    P3口具第二功P30RXD(串行输入口)P31TXD(串行输出口)P32INT0(外
    6
    部中断0)P33INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外
    部输入P36WR(外部数存储器写选通)P37RD(外部数存储器读选通)
    设计中32位通IO口中P0P2P3部分端口RST电路复位外部中断等重功中P32口P37口通开关键构成控制电路27口接蜂鸣器构成输出电路PO端通拉电阻钳位限流作接位阴极数码构成数字显示 32 晶振电路
    晶体振荡器简称晶振等效成电容电阻联串联电容二端网络晶振重参数负载电容值选择负载电容值相等联电容晶振标称谐振频率
    晶振电路
    X2X1
    Y121
    12MHZC1C2
    22pF22pF
    GND
    图2 晶振电路
    晶振应具体起作微控制器时钟源分两类种皮尔斯振荡器配置适晶振陶瓷谐振槽路种简单分立RC振荡器基晶振陶瓷谐振槽路振荡器通常提供非常高初始精度较低温度系数RC振荡器够快速启动成较低通常整温度工作电源电压范围精度较差会标称输出频率550范围变化震荡脉频fosc024MHZ范围变化性受环境条件电路元件选择影响需认真振荡器电路元件选择线路板布局
    设计中晶振振荡电路(图2)反相放器(注意放器反相器)两端接入晶振两电容分接晶振两端电容端接两电容串联容量值应该等电路负载电容时晶振等效电感晶振两端联合适电容晶振等效电感晶振两端联合适电容会组成联谐振电路中端点1接STC89C52RC芯片19引脚端点2接芯片18引脚联谐振电路加负反馈电路中构成正弦波振荡电路晶振等效电感频率范围窄元件参数变化振荡器频率会变化实验中22PF电容果考虑元件引脚等效输入电容两22PF电容构成晶振振荡电路较选择设计简易等效输入电容带误差予讨
    7
    33 开关键电路
    利1位键开关连接P32控制数码7输入口通改变键开关进行3数字显示改变利1位键开关连接P37控制外部中断通改变键开关进行歌曲播放暂停实验室中条件话利数字电路实验箱适时钟频率控制位信号输入实现数码段显示数码显示数字C语言描述述控制程程序载控制芯片中实现编程器件控制程
    开关键
    GND
    选曲键S1S2播放暂停键
    P37P32
    图3 开关键电路
    先思路包括通三键控制数码显示程中发现三键控制需分时操作较麻烦难实现采简单设计方案采键控制数字通改变脉信号输入改变数字显示电路图图3示 34 P0口拉电阻
    般作单键触发时果IC身没接拉电阻单键维持触发状态触发回原状态必须IC外部接电阻
    数字电路三种状态高电低电高阻状态应场合希出现高阻状态通拉电阻拉电阻排阻消高阻状态
    拉电阻实物图图4示

    图4 拉电阻实物图
    IO端口输出类似三极集电极集电极通电阻电源连接起时候该电阻成拉电阻简言拉电阻确定信号通电阻钳位高电电阻时起限流作非集电极(漏极)开路输出型电路(普通门电路)提升电流电压力限拉电阻功集电极开路输出型电路提供输出电流通道
    拉电阻电源通电阻接输出端果输出端OC(集电极开路TTL)
    8
    OD(漏极开路CMOS)输出接拉电阻输出端驱动力P1P2P3口部拉电阻果端口电流较电会降低(电阻相应压降太)通外接拉电阻(电阻IC部拉电阻时总电阻减总电流增)提供电流分量电拉高
    次设计中拉电阻九引脚排阻(图5示)顾名思义排阻干参数完全相电阻引脚连起作公引脚余引脚正常引出果排阻n电阻构成n+1引脚般说左边公引脚排阻般色点标出排阻引脚众排阻干固定电阻更方便次设计中排阻次连接单片机P0口引脚(拉电阻VCC端接单片机VCC端)

    图5 拉电阻
    35 复位电路
    单片机启动时需进行复位CPU系统部件处确定初始状态初态开始工作89系列单片机复位信号RST引脚输入芯片施密特触发器中系统处正常工作状态时振荡器稳定果RST引脚高电维持2机器周期(24振荡周期)CPU响应系统复位单片机系统复位方式手动钮复位电复位
    1) 电复位
    电复位RST复位输入引脚接电容VCC端接电阻CMOS型单片机RST端部拉电阻外部电阻掉外接电容减1uF电复位工作程加电时复位电路通电容加RST端短暂高电信号高电信号着VCC电容充电程逐渐回落RST端高电持续时间取决电容充电时间保证系统够复位RST端高电信号必须维持足够长时间电时VCC升时间约10ms振荡器起振时间取决振荡频率晶振频率10MHz起振时间1ms晶振频率1MHz起振时间10ms右图复位电路中VCC掉电时必然会RST端电压迅速降0V部电路限制作负电压会器件产生损害外复位期间端口引脚处机状态复位系统端口置全l态果系统电时效复位
    9
    程序计数器PC合适初值CPU会未定义位置开始执行程序
    复位电路
    VCC
    C3RST10uF
    RST
    R110K
    GND
    图6 复位电路
    2) 手动钮复位
    手动钮复位需复位输入端RST加入高电般采办法RST端正电源VCC间接钮钮时VCC+5V电会直接加RST端设计采手动复位电路图图6示动作快会钮保持接通达数十毫秒完全够满足复位时间求
    该电路中10uf电容开关联开关断开时减少开关断开两触点间形成电弧开关闭合时没消电火花作开关接电路中常常属感性负载感性负载断电时电流突变会断开两触点间形成电弧电弧方面触点造成损坏作(容易拉成毛刺)方面影响电路断开时间加电容电容两端电压突变触点两端电压突变没火花形成起保护触点作时断开电路作接端连接10k电阻保护复位电路会电流烧毁时复位电阻提供部分电压力
    36 蜂鸣器电路
    蜂鸣器种体化结构电子讯响器广泛应计算机印机复印机报警器电话机等电子产品中作发声器件分电磁式蜂鸣器压电式蜂鸣器两种类型
    电磁式蜂鸣器振荡器电磁线圈磁铁振动膜片外壳等组成接通电源振荡器产生音频信号电流通电磁线圈电磁线圈产生磁场振动膜片电磁线圈磁铁相互作周期性振动发声
    蜂鸣器电路
    VCC
    R3Q1P2790121K
    GND
    图7 蜂鸣器电路
    10
    次设计第种电磁式蜂鸣器电流通电磁线圈电磁线圈产生磁场驱动振动膜发声需定电流驱动单片机IO引脚输出电流较单片机输出TTL电基驱动蜂鸣器单片机P27引脚蜂鸣器间串联电阻NPN型三极9012电路原理图7示蜂鸣器负极接接端三极Q1集电极接VCC(5V)电源面发射机接蜂鸣器正极三极基级限流电阻R3单片机引脚控制P27输出高电时三极Q1截止没电流流线圈蜂鸣器发声P27输出低电时三极导通样蜂鸣器电流形成回路发出声音通程序控制P27脚电蜂鸣器发出声音关闭
    程序中改变单片机P27引脚输出波形频率调整控制蜂鸣器音调产生种音色音调声音外改变P27输出电高低电占空控制蜂鸣器声音通编程实验验证
    37 电源电路
    现代电子电器中量采发光二极作电源指示灯设计发光二极电源指示灯电路采发光二极作指示器件具许优点发光醒目耗电指示颜色变等
    图8示电路中L0发光二极发光时表示电路中已直流工作电压L0发光时表示电路中没直流电压(非L0身损坏电路存障)S3电源开关R2L0限流保护电阻开关S3接通直流电压+VS3R2加L0正极L0负极直接接样L0加正偏置电压电流流L0L0发光指示表明电路中正常直流电压+VS3断开时+V加L0没电流流L0L0发光表明电路中没直流电压+V+V变变时流L0电流作相应变化+V变时流L0电流增L0发出光更强+V变时流L0电流变L0发出光较弱
    电源模块
    P0S5VCC561IN1O1RXD142NCNCTXD23R23IN2O21K4蓝白锁开关L0Header 4
    GND
    图8 电源电路
    电源指示灯电路仅够指示否电源电压指示电源电压情况采电池供电机器指示功更实L0发光强度足时说明电池电压已足电路中R2L0限流保护电阻防止+V太损坏L0保护原理+V增时流L0电流增L0R2串联样流R2电流增R2电压增加L0电压增量减会L0工作电流太达保护保护L0目
    11
    38 位阴数码
    LED数码发光二极作发光单元颜色单红黄蓝绿白七彩效果单色分段全彩楼道路河堤轮廓亮化LED数码均匀排布形成面积显示区域显示图案文字播放格式视频文件
    常七段式八段式LED数码八段七段数点基相谓七段指数码里七LED发光二极通控制LED亮灭显示出字形数码分阴极阳极两种类型实阴极数码LED阴极连起接样LED端高电便点亮阳极LED阳极连起原理图图9示

    图9 数码原理图
    中引脚图两COM端连起公端阴数码接阳数码接正5V电源八段数码称位数码列起构成位数码段选线(abcdefgdp)连起公端称位选线显示时段选线送入字符编码选中位选线数码便会点亮
    数码七段应字节7位a应低位dp应高位果想数码显示数字0阴数码字符编码001111110x3f阳数码字符编码110000000xc0出两类数码字形应编码位正相反
    表1 阴数码字符编码表

    12
    设计中位七段式阴数码出该类型数码显示数字应字符编码表(表1)张字符编码表编程便应C语言程序导入单片机实现数码字形123循环显示歌曲次序表格中列举出字形08设计做参考设计中未
    13
    四软件设计
    总体原理播放段音乐需两元素音调音符首先解应音调音调声音频率决定时声音强度关定强度纯音音调频率升降升降定频率纯音低频纯音音调声强增加降高频纯音音调强度增加升外音符频率基面容样发音原理初步解
    音符发音音频脉利单片机部定时器计数器0工作模式1定时中断然控制P3引脚输出音乐算出某音频周期(1频率)然周期2半周期时间利定时器计时半周期时间计时输出脉IO反相然重复计时半周期时间IO反相IO脚频率脉
    41 软件设计程序流程图
    流程图图10示

    图10 程序流程图
    电源开关键整体电路开始运作电源指示灯发光时连接P37端口开关键开始选曲单片机序更换歌曲数码显示歌曲次序歌曲
    14
    次序数码文字123形式循环呈现
    开始连接P32开关键单片机序播放歌曲次该开关键歌曲播放暂停第三次该开关键单片机播放第二首歌曲
    总体说第奇数次开关播放歌曲第偶数次开关暂停播放开关键开合影响着单片机部软件程序INT0变化应INT0数值控制着歌曲播放暂停选曲功
    42 软件头文件定义字符类型定义
    1头文件定义
    #include
    #include
    2字符类型定义
    #define uchar unsigned char
    #define unit unsigned int
    43 音频音调程序设计
    1) 产生音频脉算出某音频周期(1频率)然周期2
    半周期时间利定时器计时半周期时间计时输出脉
    IO反相然重复计时半周期时间IO反相IO脚频率

    2) 利8051部定时器工作计数器模式MODE1改变计数值TH0
    TL0产生频率方法
    3) 相应节拍节拍码表
    表2 节拍节拍码表

    4) 调14节拍时间设定
    表3 时间设定

    5) 音乐符标准延时设定
    15
    char code HI_LIST[]{0226229232233236238240241242244245246247
    248}
    char code LO_LIST[]{04131020386223526143}
    6) 设置三段音乐音符意编写位必须1
    uchar code Song[][50]
    {
    {12311231345345565356535321211}
    {333455556535321565332111}
    {321321123112313453455653532132111}
    }
    7) 设置三段音乐节拍意编写
    uchar code Len[][50]
    {
    {11111111112112111111111112121}
    {111111211111112111111221}
    {112112111111111121121111111211221}
    }
    44 键蜂鸣器接口端程序设计
    C语言里果直接写P10C编译器识P10合法C
    语言变量名起名字里起名P1_0C编译器会认P1_0
    P10必须建立联系里KEIL关键字sbit定义sbit法
    三种
    第种方法sbit位变量名址值
    第二种方法sbit位变量名SFR名称^变量位址值
    第三种方法sbit 位变量名SFR址值^变量位址值
    次程序设计sbit第二种法
    sbit K1P1^0 播放停止键
    sbit SPKP2^7 蜂鸣器
    45 外部中断程序设计
    中断处理器处理外部突发事件重技术处理器运行程中外部事
    件发出中断请求时进行处理处理完成立返回断点继续进行处理器原工
    作引起中断原者说发出中断请求源做中断源根中断源中
    断分硬件中断软件中断两类硬件中断分外部中断部中断两类
    外部中断般指计算机外设发出中断请求键盘中断印机中断定时器
    中断等外部中断屏蔽中断说利中断控制器屏蔽外部设备
    16
    中断请求
    部中断指硬件出错(突然掉电奇偶校验错等)运算出错(数零运算 溢出单步中断等)引起中断部中断屏蔽中断
    51单片机5中断源串行口中断定时中断1外部中断1定时中断0外部中断0应中断源编号分串行口中断4定时中断13外部中断12定时中断01外部中断00时类中断源优先级分序排列串行口中断低外部中断0高外必须注意外部中断01必须分清楚TCON寄存器设置触发方式低电触发降触发
    设计中断源外部中断0应中断程序
    void EX0_INT() interrupt 0
    {
    TR00 播放结束者播放中途切换歌曲时停止播放
    Song_Index(Song_Index+1)3 跳首开头
    Tone_Index0
    P0DSY_CODE[Song_Index] 数码显示前音乐段号
    }
    46 定时程序设计
    单片机中定时器计数器实物理电子元件计数器记录单片机外部发生事情(接受外部脉)定时器单片机身提供非常稳定计数器稳定计数器单片机连接晶振部件MCS51单片机晶振12分频提供单片机1MHZ稳定脉晶振频率非常准确单片机计数脉间时间间隔非常准确准确时间间隔1微秒
    8051系列单片机两定时器T0T1分称定时器定时器T1两定时器16位定时器计数器8052系列单片机增加第三定时器计数器T2定时事件计数功常时间控制延时外部时间计数检测等场合
    8051单片机两定时器T0T1分两特殊功寄存器组成T0特殊功寄存器TH0TL0构成T1TH1TL1构成
    作定时器时定时器计数8051单片机片振荡器输出12分频脉数机器周期定时器T0T1寄存器值动累加1直溢出溢出继续0开始循环计数定时器分辨率时钟振荡频率112
    作计数器时通引脚T0(P34)T1(P35)外部脉信号进行计数输入外部脉信号发生10负跳变时计数器值动加1计数器高频率般时钟振荡频率124
    知定时器计数器工作方式定时器T0T1均占CPU时间非定时器计数器T0T1溢出引起CPU中断转执行中断处理程序说定时
    17
    器计数器单片机中效率高工作灵活部件
    设计计数器T0应定时中断程序
    void T0_INT() interrupt 1
    {
    TL0LO_LIST[Song[Song_Index][Tone_Index]]
    TH0HI_LIST[Song[Song_Index][Tone_Index]] 选择音乐曲目
    SPK~SPK
    }
    47 延时程序编写
    单片机显示电路般分静态显示动态显示两类80C51静态显示电路般P0接8位锁存器显示块动态显示电路动态显示电路般利CPU控制电路控制显示块导通截止单片机运行速率非常快者更观察显示电路中信号变化般需程序中加入延时函数适宜改变信号变化频率
    延时函数程序中两作某时序逻辑器件时序求二单纯等
    时序描述象间发送消息时间序显示象间动态协作样需等等通延时子程序实现单纯等次设计中延时函数时序需音符节拍需延时函数实现需够清晰数码观察歌曲次序变化必须程序编写中写入延时程序具体程序
    void Delay MS(unit ms)
    {
    uchar t
    while(ms) for(t0t<120t++)
    }
    48 程序编写
    程序通中断实现首先设置T0工作方式0设置外部中断0请求方法然等键开始播放键K10TR01第0音符开始播放播放中间调延时函数音乐播放完音符时TR00音乐停止播放程中K1提前停止程序设计
    void main()
    {
    SPK0
    TMOD0x00 T0方式0
    18
    IE0x83
    IT01 外部中断0请求方法控制位
    IP0x02
    while(1)
    {
    while(K11) 未键等
    while(K10) 等释放
    TR01 开始播放
    Tone_Index0 第0 音符开始
    播放程中 K1提前停止播放(K10) 切换音乐段会触发外部中断导致TR00 播放会停止
    while(Song[Song_Index][Tone_Index]1&&K11&&TR01)
    {
    Delay MS(300*Len[Song_Index][Tone_Index]) 播放延时(节拍)
    Tone_Index++ 前音乐段音符索引
    }
    TR00 停止播放
    while(K10) 提前停止播放键未释放时等
    }
    19
    五系统仿真调试
    51 仿真台
    仿真台Proteus软件Proteus软件世界著名EDA工具完成原理图布图代码调试单片机外围电路协仿真键切换PCB设计仅具EDA工具软件仿真功仿真单片机外围器件目前仿真单片机外围器件工具 52 仿真调试
    必须注意次选曲键前歌曲暂停播放~
    开始仿真音乐播放器处暂停状态图11示

    图11 仿真图1
    第步操作播放键S1选曲键S2数码显示字符默认播放第首曲目 仿真图

    图12 仿真图2
    第二步操作S1曲目播放暂停数码显示字符变次播放键S1选曲键S2仿真图

    图13 仿真图3
    20
    第三步操作S1曲目播放暂停数码显示字符变次播放键S1选曲键S2仿真图

    图14 仿真图4
    仿真图刚刚做开始调试时候类器件连接切正常仿真结果中数码显示正常蜂鸣器没声响更换器件类型终发现蜂鸣器选取发生错误源蜂鸣器改源蜂鸣器仿真声音终正常
    仿真完便仿真程序编写说实话程序编写直软肋次尝试编写程序失败选择百度文库中类似现程序实际情况进行适修改整理程序中中断程序音符音调部分分析久明白原理程序编写中进行适宜注释完成程序编写便HEX文件导入仿真中进行仿真调试
    53 测试总结
    音乐播放器实现播放暂停换曲功满足数码显示特殊求然设计音乐播放器存着足处
    调试中遇问题
    1)数码显示乱码
    原分析C语言程序中相应字符应代码出现错误
    解决方案根位阴数码引脚图新编写正确字符代码
    2)音乐盒播放音乐音律齐音色差
    原分析音调节拍编写意成规章
    解决方法正确音调音符编写规律歌曲
    21
    六PCB单面板制作
    61 绘制台
    Altium_Designer软件原Protel软件开发商Altium公司推出体化电子产品开发系统运行WindowsXP操作系统套软件通原理图设计电路仿真PCB绘制编辑拓扑逻辑动布线信号完整性分析设计输出等技术完美融合设计者提供全新设计解决方案设计者轻松进行设计熟练软件必电路设计质量效率提高
    62 原理图绘制
    绘制流程
    (1)观察原理图绘制工作界面熟悉菜单栏工具栏文件浏览区工作区等界面
    (2)常工具条操作快捷方式设置
    (3)实际需求添加原理图元件库
    (4)元件库查找选取元件
    (5)摆放元件调整元件布局调整删余元件
    (6)连接电路防止发生重叠交叉等情况
    (7)修改元件属性封装
    (8)设置元件命名元件参数标称值
    (9)电路检查创建网络表
    图15次设计绘制PCB板原理图
    电源模块晶振电路复位电路蜂鸣器电路VCCVCCX2X1Y1C3RSTR321Q1P2710uFP09012S3VCC1K12MHZRST561IN1O1C1C2RXD142NCNC22pF22pFR1TXD23R23IN2O210K1K4蓝白锁开关L0GNDHeader 4GNDGNDGND
    位阴数码51单片机开关键P0口拉电阻U1140VCCP10VCCGND239P00P11P00338P01P12P01437P02P13P02536P03P14P03635P04DS1GNDP15P04734P05P0073RP1P16P05aK833P06P01681P17P06bK选曲键VCCVCCRST932P07P0242S1S2RSTP07cR1P00RXD1031VCCP0323P30RXDEAVPPd播放暂停键R2P01TXD1130P0414P31TXDALEPROGeR3P02P321229P0595P32INT0PSENfR4P031328P27P06106P37P33INT1P27gP32R5P041427P0757P34T0P26DPR6P0515268P35T1P25R7P0616259P36WRP24R8P07P371724P37RDP23X21823102XTAL2P22X11922XTAL1P21GND2021GNDP20
    图15 PCB板原理图
    63 PCB单面板绘制
    完成PCB原理图制作首先进行工作PCB元件进行合理布局致流程
    (1)设置PCB规(必须首先完成工作)进行单面板布线合理修改布线宽度 (2)根实际求设置单面板外形尺寸边框
    22
    (3)动布局(元件动摆放成功率高)
    (4)布局基规合理修改元器件摆放量电路图中元件相位置放置电路图中相邻元件摆放时量
    (5)手动调整元件布局需遵守规a元件摆放横竖直b需调节需散热器件必须留出较空隙放电路板边c输入输出端口放板子边部分
    完成元器件合理摆放接做工作便PCB布线致步骤
    (1)启动动布线系统动生成连线
    (2)修改(拖动翻转)理想布局修改理想布线(余连接复杂)加粗必连线调整修改警告信息(相邻太进出现交叉等情况)
    (3)添加标注文字(包括汉字)修改文字高度粗细减少飞线数量
    完成PCB单面板布局布线PCB单面板绘制务基结束图16次设计PCB单面板图样
    109876
    12345
    123456789
    403938373635343332313029282726252423222112
    1221
    212345678910111213141516171819201
    122121
    3212212111625111134
    222212
    1234
    图16 PCB单面板
    23
    七设计总结心体会
    71 设计总结
    步骤实物音乐盒设计调试务求基达成仅原播放音乐求扩展三首音乐具键选曲键暂停播放数码显示前播放乐曲段位等附加功预期功基达成
    72 心体会
    着十页报告文档握着焊出单片机板子涌现出份莫名喜悦感觉十余天辛苦终究没白费程中然遇理知识解实际操作困惑老师学长学帮助加悉心学问题利解决
    首先实验室十天学中深刻体会精妙理知识必须应实际操作中发挥作理知识然取高分实际动手力更重记实验室第天午老师便进行焊接练加强焊接技术音乐盒实际焊接中深体会花天时间焊出音乐盒晚进行调试时出现LED亮数码没显示蜂鸣器没声音等问题两时检测发现实际焊接程中出现次虚焊错误然问题花费两时检测见实际操作中点点问题会导致非常严重结果耗时费力必须引起重视次实际操作中认真仔细点滴增强实际动手力
    次觉必须实验室中份工作应该保持认真严谨态度量避免犯错走弯路作初学者遇疑惑问题时首先应该选择解决问题解决时应时老师学长请教解决绕问题忽视问题否付出更沉痛代价开始焊接时明显规格零件规格没明显规格零件没仔细区分结果电阻选取发生错误应该1K拉电阻错选10K拉电阻花费少时间更换零件果时时学长者学询问正确零件存放点选取正确零件会花费宝贵时间软件细节困惑应该时老师学长请教
    回顾十余天实验室生活感触颇理实践段日子里说苦甜学东西时仅巩固前学知识学书没学知识通时间懂理实际相结合重理知识远远够学理知识实践相结合起理中出结提高实际动手力独立思考力程中遇问题说困难重重喜终解决程中团队精神进行考察合作起更加默契成功起体会喜悦心情团结力量互相间默契融洽配合换完美结果
    24
    八参考文献
    [1] 彭伟单片机C语言程序设计实训100例基8051+Proteus仿真电子工业出版社 出版时间20090601ISBN9787121087578
    [2] 康华光电子技术基础(模拟部分)高等教育出版社2006年1月第五版 [3] 李青单片机原理接口技术北京航空航天学出版社2005年10月第三版 [4] 杨长兴C++程序设计中国铁道出版社2008年2月第二版
    25
    附录源程序

    阴极显示曲目键选曲播放暂停

    #include 头文件定义
    #include 头文件定义
    #define uchar unsigned char
    #define uint unsigned int
    sbit K_SP3^7 播放停止键选取
    sbit SPKP2^7 蜂鸣器选取
    uchar Song_Index0 前音符索引
    Tone_Index0 前音乐段索引
    数码段码表
    uchar code DSY_CODE[]{0x060x5b0x4f}
    标准音符频率应延时表
    uchar code HI_LIST[]{0226229232233236238240241242244245246247248}
    uchar code LO_LIST[]{04131020386223526143}
    三段音乐音符
    uchar code Song[][50]
    {
    {12311231345345565356535321211} 歌曲两老虎部

    {333455556535321565332111} 歌曲两老虎
    部分二
    {321321123112313453455653532132111} 歌曲两老虎部
    分三
    }
    三段音乐节拍
    uchar code Len[][50]
    {
    {11111111112112111111111112121}
    {111111211111112111111221}
    {112112111111111121121111111211221}
    }
    外部中断0
    void EX0_INT() interrupt 0
    {
    TR00 播放结束者播放中途切换歌
    26
    曲时停止播放
    Song_Index(Song_Index+1)3 跳首开头
    Tone_Index0
    P0DSY_CODE[Song_Index] 数码显示前音乐段号
    }
    定时器0 中断函数
    void T0_INT() interrupt 1
    {
    TL0LO_LIST[Song[Song_Index][Tone_Index]]
    TH0HI_LIST[Song[Song_Index][Tone_Index]] 选择音乐曲目
    SPK~SPK
    }
    延时
    void DelayMS(uint ms)
    {
    uchar t
    while(ms) for(t0t<120t++)
    }
    程序
    void main()
    {
    SPK0
    TMOD0x00 T0方式0
    IE0x83
    IT01 外部中断0请求方法控制位
    IP0x02
    P0DSY_CODE[0] 初始时显示第1部分
    while(1)
    {
    while(K_S1) 等键
    while(K_S0) 等释放
    TR01 开始播放
    Tone_Index0 第0音乐段开始
    播放程中 K1提前停止播放(K10)
    切换音乐段会触发外部中断导致 TR00
    while(Song[Song_Index][Tone_Index]1&&K_S1&&TR01)
    {
    DelayMS(300*Len[Song_Index][Tone_Index]) 播放延时(节拍)
    Tone_Index++ 前音乐段音符索引
    }
    27
    TR00 停止播放
    while(K_S0) 提前停止播放键未释放时等
    }
    }
    28

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于51单片机的定时闹钟设计单片机课程设计

    单片机 课 程 设 计 报 告 院系: 信息工程学院 ...

    1年前   
    472    0

    基于51单片机数字温度计设计课程设计

    课 题: 基于51单片机数字温度计设计专 业: 电子信息工程班 级: 班学 号: 姓 名: ...

    3年前   
    960    0

    单片机课程设计报告基于单片机的温控系统

    职业学院机械与电子工程学院基于单片机温控系统课程设计报告班 级 电信班 学生姓名 学 号 指导教...

    3年前   
    980    0

    基于AT89S51单片机无线传输系统设计毕业设计

    毕业论文(设计) 题 目: 单片机无线传输系统设计 完 成 人: ...

    3年前   
    866    0

    基于51单片机的智能窗帘控制系统

     毕业论文(设计) 学 院: 工学院 ...

    3年前   
    1096    0

    基于51单片机的智能窗户设计毕业设计

    基于51单片机的智能窗户设计【摘 要】 随着电子技术的发展和人民生活水平的不断提高,智能窗已经越来越多地被用到了现代智能化建筑中,提供住户一个安全、方便的环境。据统计,在未来的几年内,安装智...

    4个月前   
    107    0

    基于51单片机的8路智能抢答器

    抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

    6年前   
    2332    0

    基于51单片机红外迎宾及人数检测报警系统

    红外感应式门铃如今常用于店铺门口用于迎接顾客。它可依据顾客的进出状况作出有所差别的反应。主要研究了红外感应技术在我们日常生活中的应用,即感应式门铃。通过对它的研究,学会红外接近开关的原理、电路设...

    3年前   
    811    0

    基于AT89C51单片机的简易计算器的设计

     毕 业 设 计 题目 简易计算器的制作 ...

    5年前   
    2328    0

    基于51单片机的数字温度计毕业设计

    数字测温计设计摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制...

    3年前   
    1188    0

    论文:基于51单片机的智能充电器的设计

    在我们的日常生活中,手机已经变得越来越重要了。我们经常需要使用手机,打电话、发短信、上网、看电影、听歌、玩游戏等等。随着大屏幕和高主频的手机出现,锂离子电池就变得更加重要了,其锂离子电池充电器也...

    5年前   
    1652    0

    基于51单片机的数码管简易计算器

    基于51/52单片机的简易计算器制作级自动化班一、题目 利用单片机芯片STC89C52、四位八段共阳数码管及已制作好的电路板等器件设计制作一个计算器。 二、任务与要求 要求计算器能实现加减乘除...

    2年前   
    686    0

    基于51单片机的教室智能照明控制系统

    目 录绪论1 教室灯光自动控制整体描述 1.1 灯光控制总体思想 ................................................................

    3年前   
    838    0

    基于51单片机的智能家居报警系统

    随着网络和信息技术的飞速发展以及生活水平的提高,现在的社会有了很大的发展,信息化的概念已经越来越贴近我们的生活。伴随着社会的发展,家庭安全问题也被更加重视了。

    3年前   
    839    0

    基于51单片机压力检测系统设计毕业设计

     学号: xx 大 学 毕业设计(论文) (xxxx届) 题 目 ...

    5年前   
    2686    0

    基于51单片机超声波测距

     目录摘 要 2ABSTRACT 3目 录 41 绪论 11. 1 概述 11. 2 国内外发展现状 12 系统总体方案设计 22. 1 设计要求 21)可进行距离测量。 22) 采用...

    3个月前   
    90    0

    学士论文开题报告基于51单片机的数字示波器设计

    XX学院信息工程学院学士学位论文开题报告课题名称 基于51单片机的数字示波器设计 学生姓名 导师姓名 所在系部 信息工程学院 ...

    2年前   
    715    0

    基于51单片机的智能充电器的设计

    课题:基于51单片机的智能充电技术基于51单片机的智能充电器设计摘 要:智能充电器的设计第一步需要解决的就是选择什么样的芯片来进行工作,其本身需要将51单片机作为基本的设计基础,这里选择的充...

    7个月前   
    216    0

    基于51单片机红外感应家用小夜灯的设计

     本科毕业论文(设计)题 目: 基于51单片机红外感应家用小夜灯的设计 院 系:物理与电子信息科学系 专 业:电子信息科学与技术...

    2年前   
    544    0

    基于51单片机的LED点阵显示屏设计

    目录摘要 IIAbstract III第一章 绪论 11.1 课题背景 11.2 选题意义 11.3 论文主要内容 1第二章 方法论证对比 32.1 单片机编程语言 32.2 控制系统设计 3...

    3年前   
    603    0

    文档贡献者

    l***金

    贡献于2019-04-23

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档