⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boyin.lis

📁 语音芯片PM50八方源代码
💻 LIS
字号:
                        .module boyin.c
                        .area lit(rom, con, rel)
 0000           L2:
 0000 AAAA              .byte 170,170
 0002 AAAA              .byte 170,170
 0004 AA                .byte 170
                        .area text(rom, con, rel)
 0000                   .dbfile G:\AVR系列\boyin\boyin.c
 0000                   .dbfunc e main _main fV
 0000           ;        address -> y+0
 0000           ;              j -> R20
 0000           ;              i -> R22
 0000           ;            add -> R10
                        .even
 0000           _main::
 0000 2597              sbiw R28,5
 0002                   .dbline -1
 0002                   .dbline 5
 0002           ; /*/boyin.c*/
 0002           ; //单片机控制语音芯片pm50放音程序
 0002           ; #include<iom8v.h>
 0002           ; void main()  //控制语音芯片pm50放音主程序
 0002           ; {
 0002                   .dbline 7
 0002           ;  char i,j,add;
 0002           ; char address[5]={0xaa,0xaa,0xaa,0xaa,0xaa};//存储语音芯片中语音段的地址
 0002 80E0              ldi R24,<L2
 0004 90E0              ldi R25,>L2
 0006 FE01              movw R30,R28
 0008 05E0              ldi R16,5
 000A 10E0              ldi R17,0
 000C FA93              st -y,R31
 000E EA93              st -y,R30
 0010 9A93              st -y,R25
 0012 8A93              st -y,R24
 0014 00D0              rcall asgncblk
 0016                   .dbline 8
 0016           ;  DDRD|=0xa0;   //设置PD5,6为输出口.PD5发送地址,PD6为时钟信号,
 0016 81B3              in R24,0x11
 0018 806A              ori R24,160
 001A 81BB              out 0x11,R24
 001C                   .dbline 9
 001C           ;  DDRD&=0xfb;  //设置PD2为输入口.拉低时表示PM50播放完毕.
 001C 81B3              in R24,0x11
 001E 8B7F              andi R24,251
 0020 81BB              out 0x11,R24
 0022                   .dbline 10
 0022           ;  PORTD&=0x5f;  
 0022 82B3              in R24,0x12
 0024 8F75              andi R24,95
 0026 82BB              out 0x12,R24
 0028 24C0              rjmp L4
 002A           L3:
 002A                   .dbline 12
 002A           ;  while(1)     //进入死循环 
 002A           ;  {
 002A                   .dbline 13
 002A           ;   for(j=0;j<5;j++) //连续播放五段录音
 002A 4427              clr R20
 002C 20C0              rjmp L9
 002E           L6:
 002E                   .dbline 14
 002E           ;   {
 002E                   .dbline 15
 002E           ;    add=address[j];
 002E CE01              movw R24,R28
 0030 E42F              mov R30,R20
 0032 FF27              clr R31
 0034 E80F              add R30,R24
 0036 F91F              adc R31,R25
 0038 A080              ldd R10,z+0
 003A                   .dbline 16
 003A           ;    if(!(PIND&0x04))
 003A 8299              sbic 0x10,2
 003C 17C0              rjmp L10
 003E                   .dbline 17
 003E           ;    for(i=0;i<8;i++) //发送八位地址
 003E 6627              clr R22
 0040 13C0              rjmp L15
 0042           L12:
 0042                   .dbline 18
 0042                   .dbline 19
 0042 82B3              in R24,0x12
 0044 8F7D              andi R24,223
 0046 82BB              out 0x12,R24
 0048                   .dbline 20
 0048 8A2D              mov R24,R10
 004A 8170              andi R24,1
 004C 880F              lsl R24
 004E 880F              lsl R24
 0050 880F              lsl R24
 0052 880F              lsl R24
 0054 880F              lsl R24
 0056 22B2              in R2,0x12
 0058 282A              or R2,R24
 005A 22BA              out 0x12,R2
 005C                   .dbline 21
 005C 979A              sbi 0x12,7
 005E                   .dbline 22
 005E 82B3              in R24,0x12
 0060 8F77              andi R24,127
 0062 82BB              out 0x12,R24
 0064                   .dbline 23
 0064 A694              lsr R10
 0066                   .dbline 24
 0066           L13:
 0066                   .dbline 17
 0066 6395              inc R22
 0068           L15:
 0068                   .dbline 17
 0068 6830              cpi R22,8
 006A 58F3              brlo L12
 006C           L10:
 006C                   .dbline 25
 006C           L7:
 006C                   .dbline 13
 006C 4395              inc R20
 006E           L9:
 006E                   .dbline 13
 006E 4530              cpi R20,5
 0070 F0F2              brlo L6
 0072                   .dbline 26
 0072           L4:
 0072                   .dbline 11
 0072 DBCF              rjmp L3
 0074           X0:
 0074                   .dbline -2
 0074           L1:
 0074 2596              adiw R28,5
 0076                   .dbline 0 ; func end
 0076 0895              ret
 0078                   .dbsym l address 0 A[5:5]c
 0078                   .dbsym r j 20 c
 0078                   .dbsym r i 22 c
 0078                   .dbsym r add 10 c
 0078                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -