第1页,共32页,星期日,2025年,2月5日任务:演奏音乐方案给定:单片机编程,输出音响音调,外部发声器发出音乐。软硬件设计硬件设计软件设计调试,输出结果—发出音乐第2页,共32页,星期日,2025年,2月5日任务:演奏音乐软硬件设计硬件设计中需要用到的:51单片机:电源、复位电路、时钟电路蜂鸣器接口电路连线第3页,共32页,星期日,2025年,2月5日任务:演奏音乐硬件设计---了解一个单片机系统基本的硬件电路包括单片机、电源、复位电路、时钟电路。扩展单片机的程序存储器和数据存储器,用到P0、P2、P3口。扩展总线包括地址、数据和控制总线。第4页,共32页,星期日,2025年,2月5日软件设计—简单的声音设计声音是通过蜂鸣器,将一定频率的声波发出来。则程序的关键就是设计一定频率的方波。任务:演奏音乐如图,先确定发音的时间t0,再确定发音的频率f0。第5页,共32页,星期日,2025年,2月5日软件设计—用什么方法?发音时间的设计---延时程序1;任务:演奏音乐怎样使得在延时子程序1中加入延时程序2(即一定频率的方波)?发音频率的设计---延时程序2;第6页,共32页,星期日,2025年,2月5日软件设计的方法—使用中断。任务:演奏音乐原理(针对t0/f0段音乐):1.给定延时时间t0,以及方波的周期时间1/f0,即高电平+低电平时间;2.在延时的过程中,同时对方波电平时间计时;3.当方波计时时间满,产生程序中断,中断的目的是对P1.3取反;4.回到延时程序,对方波电平时间计时;5.重复3—4。第7页,共32页,星期日,2025年,2月5日软件设计—使用中断什么是中断? 任务:演奏音乐中断是:当CPU有多项任务同时要处理时;根据任务的优先级别,先后处理任务的方法。对于一个中断任务:先暂停正在执行的任务,执行完中断后,再返回原任务,继续执行。针对本任务:哪个作为原任务? 哪个作为中断?第8页,共32页,星期日,2025年,2月5日软件设计—使用中断。设置中断任务:演奏音乐明确使用哪个中断? 中断的初始化中断处理程序的设计主程序的设计----定时器T0中断---定时器T0参数设置----P1.3取反-----延时程序第9页,共32页,星期日,2025年,2月5日软件设计—使用中断流程图任务:演奏音乐第10页,共32页,星期日,2025年,2月5日延时程序2: ……LIGHT: CPLP1.3 ACALLDELAY AJMPLIGHTDELAY: …… RET任务:演奏音乐第11页,共32页,星期日,2025年,2月5日中断的概念任务:掌握中断主程序正在运行时;有中断请求;CPU暂停当前程序执行,保护现场,响应中断;CPU处理中断服务程序;中断返回后,CPU恢复现场,继续执行主程序。第12页,共32页,星期日,2025年,2月5日中断的概念—图示任务:掌握中断第13页,共32页,星期日,2025年,2月5日中断的概念任务:掌握中断保护现场:CPU响应中断后,要转去中断处理程序;可能要和主程序重复使用A、Rn等;为防止A、Rn等的内容被改变,要先保护起来。所用指令:PUSH PUSH ACC PUSH PSW PUSH R0第14页,共32页,星期日,2025年,2月5日中断的概念任务:掌握中断恢复现场:CPU处理完中断程序,恢复A、Rn等的内容,以供主程序使用。所用指令:POP POP R0 POP ACC POP PSW 第15页,共32页,星期日,2025年,2月5日中断的概念—有哪些中断?51单片机提供5个中断源任务:掌握中断外部中断0:/INT0(P3.2)外部中断1:/INT1(P3.3)定时器0中断:T0(P3.4)定时器1中断:T1(P3.5)串行口中断:RXD,TXD(P3.0,(P3.1)第16页,共32页,星期日,2025年,2月5日0003H-000BH?外部中断0? 000BH-0012H?外部中断1?0013H-001BH?定时器0中断?001BH-0022H?定时器1中断?0023H-002AH?串行口中断?中断的概念—5个中断源任务:掌握中断第17页,共32页,星期日,2025年,2月5日中断的概念—中断请求任务:掌握中断低电平触发脉冲触