📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile F:\Work\Data\程序\修订版~1.1\main.c
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 13
; /*****************************************************
; * File name : main.C
; * Description : Header file of main_H.H
; * Platform : ICCAVR
; * Author : xiao xue
; * Email : ay1509@yahoo.com
; * Date : 2008-03-13
; * Description :
; /********************头文件*************************/
; #include"main_H.h"
;
; void main(void)
; {
.dbline 14
; SEI();
sei
.dbline 15
; RS485_init();
rcall _RS485_init
.dbline 16
; KeyInit();
rcall _KeyInit
.dbline 17
; lcd_init();
rcall _lcd_init
.dbline 18
; timer1_init();
rcall _timer1_init
.dbline 19
; delay_nms(1000);
ldi R16,1000
ldi R17,3
rcall _delay_nms
.dbline 20
; delay_nms(1000);
ldi R16,1000
ldi R17,3
rcall _delay_nms
.dbline 21
; Send_485();
rcall _Send_485
rjmp L3
L2:
.dbline 23
;
; while(1){
.dbline 24
; switch(flag){
lds R20,_flag
clr R21
cpi R20,1
ldi R30,0
cpc R21,R30
breq L8
X0:
cpi R20,2
ldi R30,0
cpc R21,R30
breq L9
X1:
cpi R20,3
ldi R30,0
cpc R21,R30
breq L10
X2:
rjmp L6
L8:
.dbline 26
; case 1:
; display(); //flag=1液晶显示
rcall _display
.dbline 27
; break;
rjmp L6
L9:
.dbline 29
; case 2:
; Send_485(); //发送数据
rcall _Send_485
.dbline 30
; break;
rjmp L6
L10:
.dbline 32
; case 3:
; RS485_getchar(); //决断模块
rcall _RS485_getchar
.dbline 33
; break;
.dbline 34
; default:break;
L6:
.dbline 36
; }//end switch
; if(PIND!=0xfb){ //判断有无键按下
in R24,0x10
cpi R24,251
breq L11
X3:
.dbline 36
.dbline 37
; delay_nms(15); //延时消抖
ldi R16,15
ldi R17,0
rcall _delay_nms
.dbline 38
; if ((PIND&0xfb)!= 0xfb)
in R24,0x10
andi R24,251
cpi R24,251
breq L13
X4:
.dbline 39
; Keyment(); //按键处理函数
rcall _Keyment
L13:
.dbline 40
; }
L11:
.dbline 41
; }
L3:
.dbline 23
rjmp L2
X5:
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
; }
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -