单片机实训实训目的通过实训巩固和加深“单片机原理及应用”课程中所学的理论知识和实验能力,熟悉单片机的软硬件的开发和调试。初步了解电子产品开发流程,对测试,标准等有简单了解。实训内容用单片机控制音频功率放大器,控制外接输入音源的音量,通过功放推到喇叭和耳机输出;同时音量的值通过两个数LED数码管显示出来。还可用按键控制音量大小、开关、静音等。实训要求编写、调试程序实现相应的功能。完成实训报告的书写。报告要求:1、画出程序设计流程图。2、写出程序清单,并给关键语句添加注释。3、记录设计时遇到的问题及解决办法。实训考核办法(1)实训报告整洁清晰、内容充实、线路图清晰、准确(30%)(2)程序语句注释正确、实训结果准确(20%)(3)考核答辩(30%)(4)爱护实验设备、遵守纪律、学习态度(20%)凡有以下情况的没有实训成绩:无故旷课5次以上的;没交实训报告的;基本方案基本功能:用单片机控制外接输入音源的音量,通过功放推到喇叭和耳机输出;同时音量的值通过两个数LED数码管显示出来,用按键可以控制开关、音量大小、静音等。方案图示如下:POWER部分为整个系统电源系统:是通过一个5V适配器提供+5V电源。AUX部分是音源的输入。MCU89S52是做为主控MCU,负责整个系统控制。KEYSCAN部分是4个按键:POWER,VOLUME+,VOLUME-,MUTE。POWER---控制系统的开关机(开机状态为systemon,关机状态为standby);VOLUME+/----控制系统的音量;MUTE---控制系统的MUTE与解MUTE。KEYSCAN部分与MCU之间的通讯接口①是采用I/O直接扫描的方式实现的。DISPLAY部分:用两个7位的LED数码管实现两个8字的显示,显示的信息为开机,关机的状态,音量值的大小,MUTE和解MUTE的状态。DISPLAY部分与MCU直接的通讯接口②是采用I/O口直接驱动的方式。6019AMP系统的功放部分:6019是一个3W的功放,在我们的系统设计中我们将驱动一个8欧姆/2W的功放。功率(音量)是通过一个直流电压控制的,功率随着输入DC电压的升高而增大。目前系统的设计是MCU通过PWM输出(接口③)控制输入DC电压而达到控制输出功率(音量)的目的。另外系统还设计了一个MUTE的功能,是通过控制DC电压到最小而实现的;还有一个STANDBY的功能,通过SHUTDOWN引脚可直接控制功放进入待机状态还是工作状态。功能描述本系统有两种状态:开机状态(SYSTEMON)和关机状态(STANDBY)开机状态:系统处于工作状态,可控制音量,MUTE等操作,同时有相应的显示;关机状态:系统处于待机状态,音量,MUTE等操作无效。刚上电时系统处于STANDBY状态。STANDBY和SYSTEMON功能和转换功能描述:STANDBY和SYSTEMON状态功能的描述与转换有效状态:STANDBY或SYSTEMON状态控制键:POWER键动作显示:*当为STANDBY状态时:SHUTDOWM引脚变为低电平,功放处于待机状态(无功率输出);同时两个8位LED数码管显示并闪烁(间隔时间1秒)“--”。此时按下POWER键,系统进入SYSTEMON状态。*当为SYSTEMON状态时:SHUTDOWM引脚变为高电平,功放处于工作状态,有功率输出。音量的初始值为5音量的设置方法见下。同时两个8位LED数码管显现当前的音量值,此时按下POWER键,系统进STANDBY状态。音量的调整功能描述:调整音量并显示有效状态:SYSTEMON状态控制键:Volume+/-键动作显示:目前系统设置12级(00-11)音量(DC电压/音量对照见下表);当按下Volume+键时,把当前音量所对应的电压幅度向上调整一个等级,同时LED显示增加“1”;当音量增加到“11”后,再按下volume+键无作用;当按下Volume-键时,把当前音量所对应的电压幅度向下调整一个等级,同时LED显示减少“1”;当音量减少到“00”,再按下Volume-键无作用。DC电压的调整是通过PWM来调整的。DC电压与音量对应表(+5V供电):DC(V)Vol0.00—0.26000.33—0.48010.56—0.82020.89—1.16031.23—1.49041.57—1.83051.91—2.17062.25—2.50072.58—2.83082.92—3.17093.26—3.51103.60—5.0011MUTE和解MUTE的处理功能描述:MUTE和解MUTE的处理有效状态:SYSTEMON状态控制键:MUTE键动作显示:当SYSTEMON状态有音量输出时,按下MUTE键,执行MUTE的操作--把控制音量的DC电压直接调到0(无功率输出),同时LED显示”||”,表示当前处于MUTE状态,此时再按下MUTE键,执行解MUTE的操作--把控制音量的DC电压恢复为MUTE之前的音量,恢复功率输出,LED恢复显示音量值。程序分析定时中断程序,产生PWM按键扫描子程序按键处理子程序显示子程序定时中断程序,产生PWM定时时间1ms,输出相应高电平或者低电平,从而产生PWM。扫描按键子程序扫描按键,确认按键有且仅有一个,然后处理相应按键过程,否则继续扫描。按键处理子程序Standby状态下有键按下若是power键,则开机,显示初始音量,并设状态为volume状态若是其他键则无效。Volume状态下有键按下若是power键,则关机,设状态为standby状态。若是volup键,则音量加一。若是voldw键,则音量减一。若是mute键,则备份当前音量值,同时使音量值为0,并设状态为mute状态。Mute状态下有键按下若是power键,则关机,并设状态为standby状态。若是volup键,则还原备份的音量值,并且音量值加一。若是voldw键,则还原备份的音量值,并且音量值减一。若是mute键,则还原备份的音量值,并设状态为volume状态。显示子程序若状态为standby状态,则显示“--”500ms,灭500ms。若状态为volume状态,显示音量值。若状态为mute状态,显示“||”。