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

📄 speak.lst

📁 16个单片机c语言实验程序
💻 LST
字号:
__start:
__text_start:
      46 EFCF      LDI	R28,0xFF
      47 E1D0      LDI	R29,0x10
      48 BFCD      OUT	0x3D,R28
      49 BFDE      OUT	0x3E,R29
      4A 51CE      SUBI	R28,0x1E
      4B 40D0      SBCI	R29,0
      4C EA0A      LDI	R16,0xAA
      4D 8308      STD	Y+0,R16
      4E 2400      CLR	R0
      4F E0E0      LDI	R30,0
      50 E0F1      LDI	R31,1
      51 E011      LDI	R17,1
      52 30E0      CPI	R30,0
      53 07F1      CPC	R31,R17
      54 F011      BEQ	0x0057
      55 9201      ST	R0,Z+
      56 CFFB      RJMP	0x0052
      57 8300      STD	Z+0,R16
      58 E8EC      LDI	R30,0x8C
      59 E0F0      LDI	R31,0
      5A E0A0      LDI	R26,0
      5B E0B1      LDI	R27,1
      5C E010      LDI	R17,0
      5D E000      LDI	R16,0
      5E BF0B      OUT	0x3B,R16
      5F 38EC      CPI	R30,0x8C
      60 07F1      CPC	R31,R17
      61 F021      BEQ	0x0066
      62 95C8      LPM
      63 9631      ADIW	R30,1
      64 920D      ST	R0,X+
      65 CFF9      RJMP	0x005F
      66 940E 007F CALL	_main
_exit:
      68 CFFF      RJMP	_exit
_s_ms:
  m                    --> R20
  t                    --> R16
      69 934A      ST	R20,-Y
      6A 935A      ST	R21,-Y
FILE: E:\产品\开发板\mega128-board\待完成\无源蜂鸣器\speak.c
(0001) //无源蜂鸣器试验
(0002) //产生间隔的di的响声
(0003) #include<iom16v.h>
(0004) #define uchar unsigned char 
(0005) #define uint unsigned int 
(0006) 
(0007) //延时函数
(0008) void s_ms(unsigned int t)
(0009) {
(0010)  uint m;
(0011)     for(;t>1;t--)
      6B C00B      RJMP	0x0077
(0012)     {
(0013) 	for(m=0;m<100;m++);
      6C 2744      CLR	R20
      6D 2755      CLR	R21
      6E C002      RJMP	0x0071
      6F 5F4F      SUBI	R20,0xFF
      70 4F5F      SBCI	R21,0xFF
      71 3644      CPI	R20,0x64
      72 E0E0      LDI	R30,0
      73 075E      CPC	R21,R30
      74 F3D0      BCS	0x006F
      75 5001      SUBI	R16,1
      76 4010      SBCI	R17,0
      77 E081      LDI	R24,1
      78 E090      LDI	R25,0
      79 1780      CP	R24,R16
      7A 0791      CPC	R25,R17
      7B F380      BCS	0x006C
      7C 9159      LD	R21,Y+
      7D 9149      LD	R20,Y+
      7E 9508      RET
(0014)     }
(0015) }
(0016) 
(0017) //主函数
(0018) main()
(0019) {
(0020) uint i;
(0021) DDRC=0xff;         //端口C为输出
_main:
  i                    --> R20
      7F EF8F      LDI	R24,0xFF
      80 BB84      OUT	0x14,R24
(0022) PORTC=0xff;        
      81 BB85      OUT	0x15,R24
      82 C014      RJMP	0x0097
(0023) while(1)
(0024)      {
(0025) 	  s_ms(12000);       //间隔延时
      83 EE00      LDI	R16,0xE0
      84 E21E      LDI	R17,0x2E
      85 DFE3      RCALL	_s_ms
(0026) 	  for(i=0;i<500;i++) //在端口c产生音频信号
      86 2744      CLR	R20
      87 2755      CLR	R21
      88 C00A      RJMP	0x0093
(0027) 	       {
(0028) 	       PORTC|=0x80;  //端口=1
      89 9AAF      SBI	0x15,7
(0029) 	       s_ms(6);      //延时
      8A E006      LDI	R16,6
      8B E010      LDI	R17,0
      8C DFDC      RCALL	_s_ms
(0030) 	       PORTC&=~0x80; //端口=0
      8D 98AF      CBI	0x15,7
(0031) 	       s_ms(6);
FILE: <library>
      8E E006      LDI	R16,6
      8F E010      LDI	R17,0
      90 DFD8      RCALL	_s_ms
      91 5F4F      SUBI	R20,0xFF
      92 4F5F      SBCI	R21,0xFF
      93 3F44      CPI	R20,0xF4
      94 E0E1      LDI	R30,1
      95 075E      CPC	R21,R30
      96 F390      BCS	0x0089
      97 CFEB      RJMP	0x0083
      98 9508      RET

⌨️ 快捷键说明

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