📄 os_etos.lst
字号:
17 C /* 1: 1 BANK */
18 C /* 2: 2 BANK */
19 C /* 3: 4 BANK */
20 0001 C OS_PAGE_NUM == 1 /* PAGE TYPE */
21 C /* 1: 1 PAGE */
22 C /* 2: 2 PAGE */
23 C /* 3: 3 PAGE */
24 C
25 C
26 C
27 0008 C OS_TASK_MAX == 8 /* MAX number of task */
28 C
29 0000 C OS_CRITICAL_TASK == 0 /* Critical Task */
30 C /* 0: disable 1: enable */
31 C
32 C
33 C
34 C
35 0000 C OS_RES_IR == 0 /* IR Resources */
36 C /* 0: disable 1: enable */
37 0000 C OS_RES_AD == 0 /* AD Resources */
38 C /* 0: disable 1: enable */
39 0000 C OS_RES_BUZ == 0 /* buzzer Resources */
40 C /* 0: disable 1: enable */
41 0000 C OS_RES_DPY == 0 /* DPY Resources */
42 C
43 0000 C OS_RES_KEY == 0 /* KEY Resources */
44 C /* 0: disable 1: enable */
45 0000 C OS_RES_LED == 0 /* LED Resources */
46 C /* 0: disable 1: enable */
47 0000 C OS_RES_TM1628 == 0 /* TM1628 Resources */
48 C /* 0: disable 1: enable */
49 0000 C OS_BUZ_TYPE == 0 /* BUZ TYPE */
50 C /* 0: 有源 1: 无源 */
51 0000 C OS_RES_BIN2BCD == 0 /* BIN2BCD Resources */
52 C /* 0: disable 1: enable */
53 0000 C OS_FILTER_MEDIAN == 0 /* 中值滤波 */
54 C /* 0: disable 1: enable */
55 0000 C OS_RES_2CLOLR == 0 /* 双色LED */
56 C /* 0: disable 1: enable */
57 0000 C OS_RES_RT_DETECT == 0 /* RC充放电测电阻(单线) */
58 C /* 0: disable 1: enable */
59 0000 C OS_RES_OUTPUT == 0 /* 输出 */
60 C /* 0: disable 1: enable */
61 C
62 C
63 C
64 C
16
17
18
19 if OS_IC_TYPE == 0
20 ORG 0X00
21 00000 14FF jmp start
22 ORG 0x08
23 00008 1409 jmp INT_TCC
24 endif
25
26 if OS_IC_TYPE == 1
27 ORG 0x01
28 jmp int_tcc
29 ORG 0x1f
30 jmp int_tcc
31 ORG 0x20
32 endif
33
34 if OS_IC_TYPE == 2
35 ORG 0X00
36 jmp start
37 ORG 0x03
38 jmp int_external
39 ORG 0x06
40 jmp int_p5_change
41 ORG 0x09
42 jmp int_tcc
43 ORG 0x0c
44 jmp int_ad
45 ORG 0x12
46 jmp int_hig_pulse
47 ORG 0x15
48 jmp int_low_pulse
49 ORG 0x18
50 jmp int_tcca
51 ORG 0x1b
52 jmp int_tccb
53 ORG 0x1e
54 jmp int_tccc
55 ORG 0x20
56 endif
57
58 IF OS_RES_DPY == 1
59 include "USER_DPYTABLE.DT"
60 ENDIF
61
62 include "OS_INTERRUPT.dt"
1 C /*
2 C *********************************************************************************************************
3 C * INTERRUPT PROCESSING
4 C *
5 C * Description : Interrupt processing
6 C * Oscillator : crystal 4.194304 MHz (4MHZ )
7 C * TCC : 1:4
8 C * Interupt Time: 488.28125uS (128uS)
9 C * OSTick : 3.90625 (4mS )
10 C *
11 C *********************************************************************************************************
12 C */
13 C
14 00009 C INT_TCC:
15 C M PUSHALL
00009 005C 1 MOV ABUFF ,A
0000A 075C 1 SWAP ABUFF ,
0000B 0703 1 SWAPA PSW ,
0000C 005D 1 MOV PSWBUFF ,A
0000D 0704 1 SWAPA R4 ,
0000E 006F 1 MOV R4BUFF ,A
2 M PAGE 0 ,
0000F 0943 2 BC PSW , 5
00010 0983 2 BC PSW , 6
16 C M PAGE 0
00011 0943 1 BC PSW , 5
00012 0983 1 BC PSW , 6
17 C M bank 0
00013 0984 1 BC R4 , 6
00014 09C4 1 BC R4 , 7
18 C
19 C if OS_IC_TYPE == 1
20 C ; jbs rf,0
21 C ; jmp int_external ; external interrupt
22 C ENDIF
23 C
24 C ;--------------------------------------------------------------------- interrupt time 125us
25 C IF (OS_BUZ_TYPE == 1) && (OS_RES_BUZ == 1)
26 C int_buzzer_proc: ; buzzer process
27 C jbs reg_buz_cnt,6
28 C jmp int_buzzer_end
29 C mov a,@BUZ_DAT
30 C xor BUZ_PORT,a
31 C int_buzzer_end:
32 C ENDIF
33 C
34 C /*
35 C *********************************************************************************************************
36 C * Critical Task
37 C *
38 C * 功能 : 时间要求非常高的任务,不受任务调度控制,直接用中断计时相应的时间进入。
39 C * 对于其它代码采取互斥信号量解决重入问题,对com_port有操作的不循序执行。
40 C *
41 C * 入口参数 : none 每个大循环执行一次
42 C *
43 C * 出口参数 : none
44 C *********************************************************************************************************
45 C */
46 C
47 C IF OS_CRITICAL_TASK == 1
48 C
49 C CriticalTask:
50 C inc RegCritical
51 C mov a,RegCritical
52 C and a,@0x0f
53 C xor a,@4
54 C jbs psw,z
55 C jmp Critical_End
56 C mov a,@0xf0
57 C and RegCritical,a
58 C bs RegCritical,CRITICAL
59 C Critical_End:
60 C jbs RegCritical,CRITICAL
61 C jmp Critical_No_Proc
62 C jbc RegCritical,OCCUPANCY
63 C jmp Critical_No_Proc
64 C jmp scan_dpy
65 C int_dpy_end:
66 C
67 C
68 C bc RegCritical,CRITICAL
69 C Critical_No_Proc:
70 C nop
71 C ENDIF
72 C
73 C /*
74 C *********************************************************************************************************
75 C * Real Time Clock
76 C *
77 C * 功能 : 系统的实时时钟。
78 C *
79 C * 入口参数 : none
80 C *
81 C * 出口参数 : rtc_sec,rtc_min,rtc_hour 系统的实时时钟
82 C * OSTick 系统的节拍
83 C *********************************************************************************************************
84 C */
85 C
86 00015 C rtc_proc:
87 00015 0558 C inc rtc_msec
88 00016 181E C mov a,@30
89 00017 0318 C xor a,rtc_msec
90 00018 0E83 C jbs psw,z
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -