?? 正弦波.lis
字號(hào):
0060 .blkb 2
.area idata
0060 0202 .byte 2,2
.area data(ram, con, rel)
0062 .blkb 2
.area idata
0062 0304 .byte 3,4
.area data(ram, con, rel)
0064 .blkb 2
.area idata
0064 0507 .byte 5,7
.area data(ram, con, rel)
0066 .blkb 2
.area idata
0066 090B .byte 9,11
.area data(ram, con, rel)
0068 .blkb 2
.area idata
0068 0E10 .byte 14,16
.area data(ram, con, rel)
006A .blkb 2
.area idata
006A 1317 .byte 19,23
.area data(ram, con, rel)
006C .blkb 2
.area idata
006C 1A1E .byte 26,30
.area data(ram, con, rel)
006E .blkb 2
.area idata
006E 2226 .byte 34,38
.area data(ram, con, rel)
0070 .blkb 2
.area idata
0070 2B30 .byte 43,48
.area data(ram, con, rel)
0072 .blkb 2
.area idata
0072 3439 .byte 52,57
.area data(ram, con, rel)
0074 .blkb 2
.area idata
0074 3F44 .byte 63,'D
.area data(ram, con, rel)
0076 .blkb 2
.area idata
0076 4A4F .byte 'J,'O
.area data(ram, con, rel)
0078 .blkb 2
.area idata
0078 555B .byte 'U,91
.area data(ram, con, rel)
007A .blkb 2
.area idata
007A 6167 .byte 'a,'g
.area data(ram, con, rel)
007C .blkb 2
.area idata
007C 6D74 .byte 'm,'t
.area data(ram, con, rel)
007E .blkb 2
.area idata
007E 7A80 .byte 'z,128
.area data(ram, con, rel)
0080 .dbfile 正弦波.c
0080 .dbsym e auc_SinParam _auc_SinParam A[128:128]c
0080 _x::
0080 .blkb 1
.area idata
0080 00 .byte 0
.area data(ram, con, rel)
0081 .dbfile 正弦波.c
0081 .dbsym e x _x c
.area text(rom, con, rel)
0000 .dbfile 正弦波.c
0000 .dbfunc e timer1 _timer1 fV
.even
0000 _timer1::
0000 2A92 st -y,R2
0002 3A92 st -y,R3
0004 8A93 st -y,R24
0006 9A93 st -y,R25
0008 EA93 st -y,R30
000A FA93 st -y,R31
000C 2FB6 in R2,0x3f
000E 2A92 st -y,R2
0010 .dbline -1
0010 .dbline 26
0010 ; /*******************************************************************
0010 ; 實(shí)驗(yàn)名稱:產(chǎn)生正弦波演示實(shí)驗(yàn)
0010 ; 作者:王曉波
0010 ; 晶振:外部 8M
0010 ; 接線方法:
0010 ; 1.PD5接低通濾波輸入
0010 ; 2.用示波器測其輸出波形
0010 ; *******************************************************************/
0010 ; #include<iom16v.h>
0010 ; #include <macros.h>
0010 ; #include<signal.h>
0010 ; #pragma interrupt_handler timer1:9
0010 ; char auc_SinParam[128]={//128點(diǎn)正弦波樣本值
0010 ; 128,134,140,147,153,159,165,171,177,182,188,193,198,204,208,213,
0010 ; 218,222,226,230,233,237,240,242,245,247,249,251,252,253,254,254,
0010 ; 254,254,253,252,251,250,248,246,244,241,238,235,232,228,224,220,
0010 ; 215,211,206,201,196,191,185,179,174,168,162,156,150,144,137,131,
0010 ; 125,119,112,106,100,94,88,82,77,71,65,60,55,50,45,41,
0010 ; 36,32,28,24,21,18,15,12,10,8,6,5,4,3,2,2,
0010 ; 2,2,3,4,5,7,9,11,14,16,19,23,26,30,34,38,
0010 ; 43,48,52,57,63,68,74,79,85,91,97,103,109,116,122,128
0010 ; };
0010 ; char x=0;
0010 ; //T/C1溢出中斷服務(wù)
0010 ; void timer1(void)
0010 ; {
0010 .dbline 27
0010 ; x=x+1;
0010 80918000 lds R24,_x
0014 8F5F subi R24,255 ; addi 1
0016 80938000 sts _x,R24
001A .dbline 28
001A ; if (x>128)
001A 80E8 ldi R24,128
001C 20908000 lds R2,_x
0020 8215 cp R24,R2
0022 18F4 brsh L2
0024 .dbline 29
0024 ; x=0;
0024 2224 clr R2
0026 20928000 sts _x,R2
002A L2:
002A .dbline 30
002A ; OCR1A=auc_SinParam[x];//auc_SinParam[x];//取樣點(diǎn)指針到比較匹配寄存器
002A 80E0 ldi R24,<_auc_SinParam
002C 90E0 ldi R25,>_auc_SinParam
002E E0918000 lds R30,_x
0032 FF27 clr R31
0034 E80F add R30,R24
0036 F91F adc R31,R25
0038 2080 ldd R2,z+0
003A 3324 clr R3
003C 3BBC out 0x2b,R3
003E 2ABC out 0x2a,R2
0040 .dbline -2
0040 L1:
0040 2990 ld R2,y+
0042 2FBE out 0x3f,R2
0044 F991 ld R31,y+
0046 E991 ld R30,y+
0048 9991 ld R25,y+
004A 8991 ld R24,y+
004C 3990 ld R3,y+
004E 2990 ld R2,y+
0050 .dbline 0 ; func end
0050 1895 reti
0052 .dbend
0052 .dbfunc e main _main fV
.even
0052 _main::
0052 .dbline -1
0052 .dbline 33
0052 ; }
0052 ; void main(void)
0052 ; {
0052 .dbline 34
0052 ; DDRD=0xff;//PB3輸出方式,作為OC0輸出PWM波
0052 8FEF ldi R24,255
0054 81BB out 0x11,R24
0056 .dbline 35
0056 ; TIMSK=0x04; //中斷屏蔽位,沒有開啟任何中斷
0056 84E0 ldi R24,4
0058 89BF out 0x39,R24
005A .dbline 36
005A ; TIFR=0; //中斷標(biāo)志位
005A 2224 clr R2
005C 28BE out 0x38,R2
005E .dbline 37
005E ; TCCR1A=0xA1; //開啟PWM
005E 81EA ldi R24,161
0060 8FBD out 0x2f,R24
0062 .dbline 38
0062 ; TCCR1B=0x09;//系統(tǒng)時(shí)鐘
0062 89E0 ldi R24,9
0064 8EBD out 0x2e,R24
0066 .dbline 39
0066 ; SREG=0x80; //開啟全局中斷
0066 80E8 ldi R24,128
0068 8FBF out 0x3f,R24
006A .dbline 40
006A ; OCR1A=128;//auc_SinParam[x];
006A 9927 clr R25
006C 9BBD out 0x2b,R25
006E 8ABD out 0x2a,R24
0070 .dbline -2
0070 L4:
0070 .dbline 0 ; func end
0070 0895 ret
0072 .dbend
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -