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

📄 led.s

📁 51单片机的
💻 S
📖 第 1 页 / 共 5 页
字号:
	.module led.c
	.area data(ram, con, rel)
_LED_DATA::
	.blkb 2
	.area idata
	.byte 192,249
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 164,176
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 153,146
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 130,248
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 128,144
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 161,14
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 0,255
	.area data(ram, con, rel)
	.blkb 2
	.area idata
	.byte 239,63
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e LED_DATA _LED_DATA A[16:16]c
_JS_001::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_001 _JS_001 c
_JS_002::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_002 _JS_002 c
_JS_003::
	.blkb 4
	.area idata
	.word 0,0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_003 _JS_003 L
_JS_004::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_004 _JS_004 c
_JS_005::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_005 _JS_005 c
_JS_006::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_006 _JS_006 c
_JS_007::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_007 _JS_007 c
_JS_008::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_008 _JS_008 c
_LED_DISPLAY_V1::
	.blkb 1
	.area idata
	.byte 10
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e LED_DISPLAY_V1 _LED_DISPLAY_V1 c
_LED_DISPLAY_V2::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e LED_DISPLAY_V2 _LED_DISPLAY_V2 c
_LED_DISPLAY_V3::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e LED_DISPLAY_V3 _LED_DISPLAY_V3 c
_LED_DISPLAY_V4::
	.blkb 1
	.area idata
	.byte 1
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e LED_DISPLAY_V4 _LED_DISPLAY_V4 c
_LED_DISPLAY_V5::
	.blkb 1
	.area idata
	.byte 14
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e LED_DISPLAY_V5 _LED_DISPLAY_V5 c
_JS_PRESS_ON_UP::
	.blkb 4
	.area idata
	.word 0,0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_ON_UP _JS_PRESS_ON_UP L
_JS_PRESS_ON_DOWN::
	.blkb 4
	.area idata
	.word 0,0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_ON_DOWN _JS_PRESS_ON_DOWN L
_JS_TIMER1_ICP_INPUT::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_TIMER1_ICP_INPUT _JS_TIMER1_ICP_INPUT c
_JS_PRESS_ON_UP_1::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_ON_UP_1 _JS_PRESS_ON_UP_1 c
_JS_PRESS_ON_UP_10000::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_ON_UP_10000 _JS_PRESS_ON_UP_10000 c
_JS_PRESS_DWON_ON_1::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_DWON_ON_1 _JS_PRESS_DWON_ON_1 c
_JS_PRESS_ON_DOWN_10000::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_ON_DOWN_10000 _JS_PRESS_ON_DOWN_10000 c
_JS_PRESS_ON_UP_FAST::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_ON_UP_FAST _JS_PRESS_ON_UP_FAST I
_JS_PRESS_OFF_UP::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_PRESS_OFF_UP _JS_PRESS_OFF_UP I
_JS_MODE_MODE::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_MODE_MODE _JS_MODE_MODE c
_JS_MENU_MODE::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_MENU_MODE _JS_MENU_MODE c
_JS_UP_MODE::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_UP_MODE _JS_UP_MODE c
_JS_DOWN_MODE::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_DOWN_MODE _JS_DOWN_MODE c
_ICP_TIME::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e ICP_TIME _ICP_TIME c
_ICP_TIME_T1::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e ICP_TIME_T1 _ICP_TIME_T1 c
_START_ICP_JS_TLOW::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e START_ICP_JS_TLOW _START_ICP_JS_TLOW c
_ICP_INT_SN::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e ICP_INT_SN _ICP_INT_SN c
_KEY_BANK::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_BANK _KEY_BANK c
_KEY_PAN_MODE_1::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_MODE_1 _KEY_PAN_MODE_1 c
_KEY_PAN_MODE_2::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_MODE_2 _KEY_PAN_MODE_2 c
_KEY_PAN_MODE_3::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_MODE_3 _KEY_PAN_MODE_3 c
_KEY_PAN_3::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_3 _KEY_PAN_3 c
_KEY_PAN_4::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_4 _KEY_PAN_4 c
_KEY_PAN_5::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_5 _KEY_PAN_5 c
_KEY_PAN_6::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_6 _KEY_PAN_6 c
_KEY_PAN_7::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_7 _KEY_PAN_7 c
_KEY_PAN_8::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e KEY_PAN_8 _KEY_PAN_8 c
_PAN_ICP_INPUT_CHECK::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e PAN_ICP_INPUT_CHECK _PAN_ICP_INPUT_CHECK c
_JS_ICP_INT::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e JS_ICP_INT _JS_ICP_INT c
_N_001::
	.blkb 1
	.area idata
	.byte 1
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e N_001 _N_001 c
_SUM::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e SUM _SUM c
_IR_CUSTOM_CODE::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e IR_CUSTOM_CODE _IR_CUSTOM_CODE c
_IR_DATA_CODE::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbsym e IR_DATA_CODE _IR_DATA_CODE I
	.area text(rom, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbfunc e port_init _port_init fV
	.even
_port_init::
	.dbline -1
	.dbline 86
; /*
; 2007-01-05 22:30  2007-1-6 23:04
; infrared
; //ICC-AVR application builder : 2006-12-16 0:17:05    2006-12-18 20:04  IR_CDOE
; // Target : M16
; // Crystal: 16.000Mhz //注册大小写识别   开始必须为字母 红外线
; */
; #include <iom16v.h>
; #include <macros.h>
; #include "led.h"
; #include "IR_DATA.H"
; #define IR  6
; //#include "delay.h"
; //用户码
; #define     CUSTOMCODE     9
; //按键码
; #define     POWER_ON       221
; #define     STAND_BY       220
; #define     DMX            216
; #define     AUTO           212
; #define     AUDIO          208
; #define   FADETIME_UP      217
; #define   FADETIME_DOWN    209
; #define   PATTERN_UP       218
; #define   PATTERN_DOWN     210
; 
; 
; //           值       0    1                                            10   11  12   13   14   15
; //                    0    1    2    3    4     5   6    7    8   9     d     f            
; char LED_DATA[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0Xa1,0X0e,0x00,0xff,0xef,0x3f}; //11 FOR "d"
; char iPos,iPreBit,iNowBit,iHight,iLow,iIrMode,iBitCount,bIrCmdOk,bCmdOk,iCmd,iIrData[6];
; char JS_001=0,JS_002=0;
; long  JS_003=0;
; char JS_004=0;
; char JS_005=0;
; char JS_006=0;
; char JS_007=0;
; char JS_008=0;
; long  TIMER1_ICP_T,TIMER1_ICP_T1,TIMER1_ICP_T2;
; char  LED_DISPLAY_V1=10;         // 初始值  显示 为 d001
; char  LED_DISPLAY_V2=0;
; char  LED_DISPLAY_V3=0;
; char  LED_DISPLAY_V4=1;
; char  LED_DISPLAY_V5=14;
; 
; long   JS_PRESS_ON_UP=0;
; long   JS_PRESS_ON_DOWN=0;
; 
; char   JS_TIMER1_ICP_INPUT=0;
; char   OUT_22_LOW;
; char  JS_PRESS_ON_UP_1=0;
; char  JS_PRESS_ON_UP_10000=0;
; char  JS_PRESS_DWON_ON_1=0;
; char  JS_PRESS_ON_DOWN_10000=0;
; int    JS_PRESS_ON_UP_FAST=0;
; int    JS_PRESS_OFF_UP=0;
; char  JS_MODE_MODE=0;
; char  JS_MENU_MODE=0;
; char  JS_UP_MODE=0;
; char  JS_DOWN_MODE=0;
; int    JS_PRESS_OFF_DOWN;
; int    JS_PRESS_ON_DOWN_FAST;
; char  JS_PRESS_DOWN_ON_1;
; 
; char  ICP_TIME=0,ICP_TIME_T1=0;
; char START_ICP_JS_TLOW=0;
; char ICP_INT_SN=0;          //ICP 产生中断标志位
; char KEY_BANK=0;
; char KEY_PAN_MODE_1=0;
; char KEY_PAN_MODE_2=0;
; char KEY_PAN_MODE_3=0;
; char KEY_PAN_3=0;
; char KEY_PAN_4=0;
; char KEY_PAN_5=0;
; char KEY_PAN_6=0;
; char KEY_PAN_7=0;
; char KEY_PAN_8=0;
; 
; char PAN_ICP_INPUT_CHECK=0,JS_ICP_INT=0;
; 
; char N_001=1,SUM=0;
; char IR_CUSTOM_CODE=0;IR_DATA_CODE=0;
; 
; // 共阳极用 
; void port_init(void)
; {
	.dbline 87
;  PORTA = 0xFF;
	ldi R24,255
	out 0x1b,R24
	.dbline 88
;  DDRA  = 0xFF;
	out 0x1a,R24
	.dbline 89
;  PORTB = 0x1F;
	ldi R24,31
	out 0x18,R24
	.dbline 90
;  DDRB  = 0x1F;
	out 0x17,R24
	.dbline 91
;  PORTC = 0x1F; //m103 output only
	out 0x15,R24
	.dbline 92
;  DDRC  = 0x10;
	ldi R24,16
	out 0x14,R24
	.dbline 93
;  PORTD = 0x00;
	clr R2
	out 0x12,R2
	.dbline 94
;  DDRD  = 0x00;
	out 0x11,R2
	.dbline -2
	.dbline 95
; }
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e watchdog_init _watchdog_init fV
	.even
_watchdog_init::
	.dbline -1
	.dbline 107
; 
; //Watchdog initialize
; // prescale: 16K 
; //void watchdog_init(void)
; //{
;  //WDR(); //this prevents a timout on enabling
;  //WDTCR = 0x08; //WATCHDOG ENABLED - dont forget to issue WDRs
; //}       
; //Watchdog initialize
; // prescale: 2048K
; void watchdog_init(void)
; {
	.dbline 108
;  WDR(); //this prevents a timout on enabling
	wdr
	.dbline 109
;  WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
	ldi R24,15
	out 0x21,R24
	.dbline -2
	.dbline 110
; }
L2:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 60
	jmp _eeprom_ready_isr
	.area text(rom, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbfunc e eeprom_ready_isr _eeprom_ready_isr fV
	.even
_eeprom_ready_isr::
	.dbline -1
	.dbline 113
; #pragma interrupt_handler eeprom_ready_isr:16
; void eeprom_ready_isr(void)
; {
	.dbline -2
	.dbline 115
;  //eeprom ready event
; }
L3:
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e timer0_init _timer0_init fV
	.even
_timer0_init::
	.dbline -1
	.dbline 123
; 
; /////////////////////////TIMER0/////////////////////////////////////////////////////////////
; //TIMER0 initialize - prescale:8
; // WGM: Normal
; // desired value: 100uSec
; // actual value: 100.000uSec (0.0%)
; void timer0_init(void)
; {
	.dbline 124
;  TCCR0 = 0x00; //stop
	clr R2
	out 0x33,R2
	.dbline 125
;  TCNT0 = 0xCE; //set count
	ldi R24,206
	out 0x32,R24
	.dbline 126
;  OCR0  = 0x32;  //set compare
	ldi R24,50
	out 0x3c,R24
	.dbline 127
;  TCCR0 = 0x02; //start timer
	ldi R24,2
	out 0x33,R24
	.dbline -2
	.dbline 128
; }
L4:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 36
	jmp _timer0_ovf_isr
	.area text(rom, con, rel)
	.dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
	.dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
	.even
_timer0_ovf_isr::
	xcall push_lset
	xcall push_gset2
	sbiw R28,4
	.dbline -1
	.dbline 132
; 
; #pragma interrupt_handler timer0_ovf_isr:10
; void timer0_ovf_isr(void)
; {
	.dbline 133
;   TCNT0 = 0xCE; //reload counter value  100us
	ldi R24,206
	out 0x32,R24
	.dbline 134
;   LED_SCAN(); 
	xcall _LED_SCAN
	.dbline 135
;   KEY_CHK(); 
	xcall _KEY_CHK
	.dbline 136
;   CheckIR();  
	xcall _CheckIR
	.dbline 137
;    JS_003=++JS_003;                //KEY_CHECK 
	.dbline 138
;    TEST();
	ldi R20,1
	ldi R21,0
	ldi R22,0
	ldi R23,0
	lds R4,_JS_003+2
	lds R5,_JS_003+2+1
	lds R2,_JS_003
	lds R3,_JS_003+1
	add R2,R20
	adc R3,R21
	adc R4,R22
	adc R5,R23
	movw R30,R28
	std z+0,R2
	std z+1,R3
	std z+2,R4
	std z+3,R5
	movw R30,R28

⌨️ 快捷键说明

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