?? adc_led.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 0072 CALL _main
_exit:
68 CFFF RJMP _exit
FILE: C:\DOCUME~1\wdd\桌面\模數轉換\adc_led\ADC_led.c
(0001) #include<iom128v.h>
(0002) #define uchar unsigned char
(0003) #define uint unsigned int
(0004)
(0005) void s_ms(uint ms)
(0006) {
(0007) for(;ms>1;ms--);
_s_ms:
ms --> R16
69 C002 RJMP 0x006C
6A 5001 SUBI R16,1
6B 4010 SBCI R17,0
6C E081 LDI R24,1
6D E090 LDI R25,0
6E 1780 CP R24,R16
6F 0791 CPC R25,R17
70 F3C8 BCS 0x006A
71 9508 RET
(0008) }
(0009)
(0010) //ADC0測試,用8位LED顯示ADHL
(0011) //主函數
(0012) main()
(0013) {
(0014) uchar adc_l,adc_h,i;
(0015) DDRA=0xff;
_main:
adc_h --> R12
adc_l --> R10
i --> R20
72 EF8F LDI R24,0xFF
73 BB8A OUT 0x1A,R24
(0016) PORTA=0x00;
74 2422 CLR R2
75 BA2B OUT 0x1B,R2
(0017) DDRB=0xff;
76 BB87 OUT 0x17,R24
(0018) DDRD=0xff;
77 BB81 OUT 0x11,R24
(0019) PORTD=0x00;
78 BA22 OUT 0x12,R2
(0020) DDRF=0x00;
79 9220 0061 STS 0x0061,R2
(0021) PORTF=0x00;
7B 9220 0062 STS 0x0062,R2
(0022) DDRG=0xff;
7D 9380 0064 STS 0x0064,R24
(0023) PORTG=0xff;
7F 9380 0065 STS 0x0065,R24
81 C016 RJMP 0x0098
(0024)
(0025) while(1)
(0026) {
(0027) ADCSRA=0x00;
82 2422 CLR R2
83 B826 OUT 0x06,R2
(0028) ADMUX=0x40; //AVCC參考電壓 ADC0輸入
84 E480 LDI R24,0x40
85 B987 OUT 0x07,R24
(0029) ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADFR)|0x07; //128分頻,循環取值
86 EE87 LDI R24,0xE7
87 B986 OUT 0x06,R24
(0030)
(0031) s_ms(500); //延時
88 EF04 LDI R16,0xF4
89 E011 LDI R17,1
8A DFDE RCALL _s_ms
(0032)
(0033) adc_l=ADCL;
8B B0A4 IN R10,0x04
(0034) adc_h=ADCH;
8C B0C5 IN R12,0x05
(0035)
(0036) PORTA=~adc_l;
8D 2C2A MOV R2,R10
8E 9420 COM R2
8F BA2B OUT 0x1B,R2
(0037) for(i=0;i<10;i++)
90 2744 CLR R20
91 C004 RJMP 0x0096
(0038) {
(0039) s_ms(60000);
FILE: <library>
92 E600 LDI R16,0x60
93 EE1A LDI R17,0xEA
94 DFD4 RCALL _s_ms
95 9543 INC R20
96 304A CPI R20,0xA
97 F3D0 BCS 0x0092
98 CFE9 RJMP 0x0082
99 9508 RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -