单片机课程设计报告 - 图文(5)

2019-08-31 12:47

专业:电子信息工程 姓名:李昌明 学号:093411128

MOV TL1,#0FFH 部中断。 SETB ET1 SETB ET0

;计数器计数为1,相当于一外

;允许计数器1中断

;允许计数器具0中断

CLR PT0 ;计数器0为低优先级 SETB PT1

;计数器1为高优先级

SETB IT0 SETB PX0

SETB IT1 SETB PX1 SETB EX1 SETB EX0

SETB EA SETB TR1 断用

SETB OUT

;*********************************** CLR F0 的标置位用

MOV 22H,#01H 的歌曲编号

MOV DPTR,#OUT_TAB 号送数码管显视 MOV A,22H MOVC A,@A+DPTR MOV OUT_NUM,A MOV R7,#00H 入口地址

START0:MOV R4,#00H 21

;外部中断0为跳沿触发 ;高优先级 ;外部中断1为跳沿触发 ;高优先级

;允许外部中断1中断 ;允许外部中断定0中断

;开中断总开关 ;定时器1开始工作,作中

;音频输出端口初始化

;设置结束

;设置F0=0,用来作暂停/播放 ;22H单元中存放正在播放 ;将正在播放的歌曲编 ;R7中存放歌曲总信息的

;R4存放当前正在播放歌

专业:电子信息工程 姓名:李昌明 学号:093411128

曲的第几个节拍数 MOV R0,#30H 的入口信息

MOV A,R7 ;将歌曲的节拍表的入口地址送到DPTR ADD A,R0 MOV R0,A MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0 MOV A,R4 INC R4

MOVC A,@A+DPTR ;取出第一节拍数,其实第一个节拍不是歌曲的第一个节拍,而是表示几分音符 ;**************************************************** MOV 26H,A 存在职26H单元中

NEXT: MOV R0,#30H ;开始取出歌曲的第一个数据

MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0 MOV A,R4 INC R4

MOVC A,@A+DPTR

;放在A中

;将取出的音符数+节拍数保

;30H开始的单元中存放歌曲

;**************************************************** JZ END0

;若为0,则表示为休止符,不

22

专业:电子信息工程 姓名:李昌明 学号:093411128

唱,本次音符不唱, MOV R1,A

;不为0,取出节拍数

ANL A,#0FH MOV R2,A MOV A,R1 SWAP A ANL A,#0FH JNZ SING

CLR TR0 SJMP SING1 SING: DEC A 据处理

MOV R3,A RL A

MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0

MOVC A,@A+DPTR MOV 21H,A MOV TH0,A MOV A,R3 RL A INC A

MOVC A,@A+DPTR MOV 20H,A MOV TL0,A SETB TR0

SING1:LCALL DELAY JB F0,FOR AJMP NEXT FOR: CLR TR0

;音符不为0,唱

;为0,不唱,关频率发生器

;开始唱,进行相应的数 ;开唱

;每个音符唱多久 ;是否暂停,

;没有暂停,继续

;暂停,不唱

23

专业:电子信息工程 姓名:李昌明 学号:093411128

JB F0,$ ;等待播放

AJMP NEXT ;开始播放 END0: CLR TR0 ;不唱

MOV A,22H ;唱完处理 CJNE A,#N,WW

;是不是全部歌曲都唱完

MOV 22H,#01H ;全部唱完,则从第一首

开始再唱 MOV R7,#00H

MOV OUT_NUM,#06H

歌曲编号

AJMP WWW

WW:

MOV A,R7

一首,歌曲的入口信息调整 ADD A,#4 MOV R7,A INC 22H CLR EA PUSH DPH PUSH DPL

MOV A,22H

MOV DPTR,#OUT_TAB MOVC A,@A+DPTR

MOV OUT_NUM,A 歌曲编号 POP DPL

POP DPH

WWW: SETB EA

AJMP START0 F_T0: MOV TH0,21H MOV TL0,20H CPL OUT RETI

24

;数码管显视第一首

;没有全部唱完,唱下

;数码管显视相应的

;开始下一首的演唱 ;定时器0置初值

;频率产生

专业:电子信息工程 姓名:李昌明 学号:093411128

NEXT_SONG: PUSH ACC 理,保护现场 PUSH DPH

PUSH DPL

CLR EA

;下一曲中断程序处

;关中断

MOV A,22H CJNE A,#N,Q

;是最后一首吗?

MOV R7,#00H 向第一首,演唱第一首 MOV 22H,#01H

AJMP BACK

Q: INC 22H

首,R7内容加4,歌曲数加1 MOV A,R7 ADD A,#4

MOV R7,A

BACK: MOV R4,#00H 编号

MOV A,22H MOV DPTR,#OUT_TAB MOVC A,@A+DPTR

MOV OUT_NUM,A

;******************************************** MOV B,R0

几分拍进行调整,同时对R0中的内容进行保护 MOV R4,#00H MOV R0,#30H MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,@R0 INC R0

25

;是最后一首,则R7指

;不是最后一首,唱下一

;数码管显视相应的歌曲

对下首要演唱的歌曲的

;


单片机课程设计报告 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数学建模获奖论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: