prac10_indep.lst
来自「msp430系列开发板源代码」· LST 代码 · 共 1,670 行 · 第 1/5 页
LST
1,670 行
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1254
1255
1256
2 ;-------------------------------------------------------------
3 ;MSP-Test44x Demo lcd ,led dishplay the timer
4 ;
5 ; MSP430F449
6 ; -----------------
7 ; /|\| XIN|-
8 ; | | | 74HC373(1)&(2)
9 ; LCD --|RST XOUT|- -------------
10 ; ---------- | | | |
11 ; | COM0|<---|COM0 P3.1|------>|D0 |
12 ; | . | . | . . | . | |
13 ; | COM3|<---|COM3 P3.7|------>|D7 |
14 ; | S0 |<---|S0 P4.0|------>| |
15 ; | . | . | P4.1|------>| |
16 ; | S14|<---|S14 P1.3|------>INC
17 ; P1.2|------>DEC
18 ; P1.1|------>FUN
19 ;
20 ;--------------------------------------------------------------
21 ;
22 ;--------------------------------------------------------------
201 23 hour equ 201h ;
202 24 min equ 202h ;
203 25 second equ 203h ;
204 26 flag equ 204h ;
205 27 led_disp_data equ 205h ;
206 28 led_disp_bit equ 206h ;
207 29 counter equ 207h ;
208 30 dip equ 208h ;
209 31 inc_dec_buffer equ 209h ;
20a 32 fun_buffer equ 20ah ;
20b 33 key_flag equ 20bh ;
20c 34 fun_flag equ 20ch ;
200 35 second_flag equ 200h ;
36 ;-------------------------------------------------------------
37 ;
38 ;-------------------------------------------------------------
08 39 key_inc equ 008h ;P1.3
04 40 key_dec equ 004h ;P1.2
02 41 key_fun equ 002h ;P1.1
42 ;-------------------------------------------------------------
43 ;;
44 ;;
45 ;----------------------------------------------
46 .pseg code, abs=01100h ; Program Start
47 ;-----------------------------------------------
48 Reset
1100 3140000a 49 mov.w #0a00h,SP ; Initia ize stackpointer
1104 b240805a2001 50 StopWDT mov.w #(0x5A00)+(0x0080),&WDTCTL ; Stop WDT
51 Setup_P1
110a f2c00e002200 52 bic.b #key_inc+key_dec+key_fun,&P1DIR
1110 f2d00e002100 53 bis.b #key_inc+key_dec+key_fun,&P1OUT
1116 f2d00e002400 54 bis.b #key_inc+key_dec+key_fun,&P1IES
111c f2d00e002500 55 bis.b #key_inc+key_dec+key_fun,&P1IE
56 Setup_P3
1122 f2431a00 57 mov.b #0ffh,&P3DIR
1126 c2431900 58 mov.b #00h,&P3OUT
112a f2431e00 59 mov.b #0ffh,&P4DIR
112e f2d003001d00 60 bis.b #03h,&P4OUT
61 Setup_BT
1134 f240a5004000 62 mov.b #(0x80)+((0x20)+(0x04)+(0x01)),&BTCTL ;0.5s int
63 ; mov.b #0a5h,&BTCTL
113a f2d080000100 64 bis.b #(0x80),&IE2 ;Enable Basic Timer interrupt
65 Setup_TA
1140 b24004026001 66 mov.w #(0x0200)+(0x0004),&TACTL ;
1146 b24010006201 67 mov.w #(0x0010),&TACCTL0
114c b240100e7201 68 mov.w #3600,&TACCR0 ;4.5ms
1152 b2d010006001 69 bis.w #(0x0010),&TACTL
70 clr_ram
1158 0843 71 clr R8
115a c8430002 72 loop_clr clr.b second_flag(R8)
115e 5853 73 inc.b R8
1160 78900d00 74 cmp.b #0dh,R8
1164 0124 75 jeq clr_ram_over
1166 f93f 76 jmp loop_clr
1168 0843 77 clr_ram_over clr R8
116a b0120214 78 call #lcd_display_ona ;open lcd
79
116e 32d2 80 eint
81 ;--------------------------------------------------
82 ;
83 ;--------------------------------------------------
84 mainloop
1170 0343 85 nop
1172 0343 86 nop
1174 32d01000 87 bis.w #((0x0010)),SR
1178 0343 88 nop
117a 0343 89 nop
117c f2c00e002500 90 bic.b #key_inc+key_dec+key_fun,&P1IE
1182 b0128811 91 call #key_scan
1186 f43f 92 ret_jmp jmp mainloop
93
94 key_scan
1188 0f12 95 push R15
118a b012c811 96 call #delay_10ms ;
118e 5f422000 97 mov.b &P1IN,R15
1192 7fe3 98 inv.b R15
1194 7fb00e00 99 bit.b #key_inc+key_dec+key_fun,R15 ;
1198 0824 100 jz ret_scan
101
102 loop_key
119a 5f422000 103 mov.b &P1IN,R15 ;
119e 7fe3 104 inv.b R15
11a0 7fb00e00 105 bit.b #key_inc+key_dec+key_fun,R15
11a4 fa23 106 jnz loop_key
11a6 b012d211 107 call #keycodej3
108
109
11aa c2432300 110 ret_scan clr.b &P1IFG
11ae f2d00e002500 111 bis.b #key_inc+key_dec+key_fun,&P1IE
112
11b4 e83f 113 jmp ret_jmp
114
115 ;----------------------------------------------------
116 ;-----------PORT 1 INT------------------------------
117 ;----------------------------------------------------
118 PORT1_INT
11b6 b1c010000000 119 bic.w #((0x0010)),0(SP) ;
11bc d24223000b02 120 mov.b &P1IFG,&key_flag
11c2 c2432300 121 ret_int clr.b &P1IFG
11c6 0013 122 reti
123 ;-----------------------------------------------------
124 ;
125 ;-----------------------------------------------------
126 delay_10ms
11c8 3f406a0a 127 mov #2666,R15
11cc 1f83 128 loop_delay dec R15
11ce fe23 129 jnz loop_delay
11d0 3041 130 ret
131 ;-----------------------------------------------------
132 ;
133 ;-----------------------------------------------------
134 keycodej3
11d2 f2b20b02 135 test_inc bit.b #key_inc,&key_flag
11d6 0324 136 jz test_dec
11d8 b012f611 137 call #inc_fun
11dc 0b3c 138 jmp ret_1
11de e2b20b02 139 test_dec bit.b #key_dec,&key_flag
11e2 0324 140 jz test_fun
11e4 b0123812 141 call #dec_fun
11e8 053c 142 jmp ret_1
11ea e2b30b02 143 test_fun bit.b #key_fun,&key_flag
11ee b0128012 144 call #fun_fun
11f2 003c 145 jmp ret_1
146
147 ret_1
11f4 3041 148 ret
149 ;------------------------------------------------------
150 ;
151 ;------------------------------------------------------
152 inc_fun
11f6 d2b30c02 153 bit.b #1,&fun_flag
11fa 1d24 154 jz ret_inc
11fc d2930a02 155 cmp.b #1,&fun_buffer
1200 0b24 156 jeq inc_hour
157
1202 d2530902 158 inc.b &inc_dec_buffer
1206 c2a30902 159 dadc.b &inc_dec_buffer
120a f29060000902 160 cmp.b #60h,&inc_dec_buffer
1210 0d28 161 jlo inc_move
1212 c2430902 162 clr.b &inc_dec_buffer
1216 0a3c 163 jmp inc_move
164 inc_hour
1218 d2530902 165 inc.b &inc_dec_buffer
121c c2a30902 166 dadc.b &inc_dec_buffer
1220 f29023000102 167 cmp.b #23h,&hour
1226 0228 168 jlo inc_move
1228 c2430902 169 clr.b &inc_dec_buffer
122c 5f420a02 170 inc_move mov.b &fun_buffer,R15
171
1230 df4209020002 172 mov.b &inc_dec_buffer,second_flag(R15)
1236 3041 173 ret_inc ret
174 ;------------------------------------------------------
175 ;
176 ;------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?