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

📄 main.s

📁 为苏州一家公司所做的的恒温恒湿车间控制 系统
💻 S
字号:
	.module main.c
	.area data
_MACHINE_NO::
	.blkb 1
	.area idata
	.byte 1
	.area data
	.dbfile main.c
	.dbsym e MACHINE_NO _MACHINE_NO c
_ReSendFlag::
	.blkb 1
	.area idata
	.byte 0
	.area data
	.dbfile main.c
	.dbsym e ReSendFlag _ReSendFlag c
_KB_DefValue::
	.blkb 1
	.area idata
	.byte 255
	.area data
	.dbfile main.c
	.dbsym e KB_DefValue _KB_DefValue c
_CertenFlag::
	.blkb 1
	.area idata
	.byte 0
	.area data
	.dbfile main.c
	.dbsym e CertenFlag _CertenFlag c
_CurrentRow::
	.blkb 1
	.area idata
	.byte 1
	.area data
	.dbfile main.c
	.dbsym e CurrentRow _CurrentRow c
_LcdShowBuff::
	.blkb 64
	.area idata
	.byte 32,49,50,53,46,51,161,230,40,49,51,48,161,230,41,32
	.byte 32,32,53,53,46,51,37,32,40,32,53,53,37,32,41,32
	.byte 32,32,202,230,202,202,32,32,203,205,183,231,32,32,32,32
	.byte 50,48,48,55,46,48,52,46,48,51,32,50,50,58,50,48
	.area data
	.dbfile main.c
	.dbsym e LcdShowBuff _LcdShowBuff A[64:64]c
_CurrentH::
	.blkb 2
	.area idata
	.word 2
	.area data
	.dbfile main.c
	.dbsym e CurrentH _CurrentH s
_ColdHotFlag::
	.blkb 1
	.area idata
	.byte 0
	.area data
	.dbfile main.c
	.dbsym e ColdHotFlag _ColdHotFlag c
_ColdHot::
	.blkb 12
	.area idata
	.byte 202,230,202,202,214,198,192,228,214,198,200,200
	.area data
	.dbfile main.c
	.dbsym e ColdHot _ColdHot A[12:12]c
	.area text
	.dbfile main.c
	.dbfunc e main _main fV
;        channel -> 0,X
;             cs -> 1,X
;              j -> 2,X
;              i -> 4,X
;              k -> 6,X
;            buf -> 7,X
;           data -> 13,X
;       SendBuff -> 16,X
;           buff -> 38,X
;            tmp -> 40,X
_main::
	.dbline -1
	ais #-41
	tsx
	.dbline 42
; /*-----------------------------------------------------*
; *工 程 名:Assistant.prj	                                
; *硬件连接:                                
; *程序描述: SD-HC08 模板生成                            
; */
; /*[头文件]*/
; #include "Includes.h"
; //变量定义
; INT8U MACHINE_NO=1;        //本机编号
; //SCI变量
; INT8U ReBuf[];
; INT8U SendBuf[];
; INT8U ReSendFlag=0;      //接受发送标志(1-接受成功)
; INT16U ADValue[22];      //存放22路AD值
; INT16U DAvalue[16];      //存放8路DA转换的16位数据
; //Key使用变量
; INT8U KB_DefValue=0xff;  //键盘定义值
; INT8S MoveBtn;           //LCD切屏标志(1-上移;-1-下移)
; INT8U CertenFlag=0;      //确定按钮标志(0-上/下移按钮为行切换功能,1-上/下移按钮为温湿度加减按钮)
; INT8U CurrentRow=1;      //当前光标所在行
; 
; INT8U TimeFlag;          //定时标志字节
; //LCD显示和温湿度调节变量
; INT8U LcdShowBuff[64]={" 125.3℃(130℃) ""  55.3% ( 55% ) "
;                        "  舒适  送风    ""2007.04.03 22:20"};//LCD显示的初始信息    
; INT16U BasicT;        //温度设定值(温度范围-40~+140℃)
; INT8U SignBT;         //设定温度符号(+/-)
; INT8U SignCT;         //当前温度符号
; INT16U CurrentT;      //当前温度
; INT16U BasicH;        //湿度设定值(范围0~100%)
; INT16U CurrentH=2;    //当前湿度
; INT8U ColdHotFlag=0;  //当前风机状态(0舒适/1制冷/2制热),
; INT8U ColdHot[12]={"舒适制冷制热"};
; INT8U Hour[5];        //系统时间(y-m-d-h-s)
; //控制信息变量
; INT8U WindState;      //风机状态(76排风阀,54送风阀,32新风阀,10回风阀)
; INT16U BackWindT;     //回风管温度的数值
; INT8U  BackWindST;    //回风管温度的符号
; INT16U BackWindH;     //回风管湿度
; /*[主函数]*/
; void main()
; {  
	.dbline 52
;    INT8U buff[2];
;    INT8U SendBuff[22];
;    INT8U data[3];INT8U buf[6];
;    
;    INT8U tmp,k; 
;    int i,j;
;    INT8U cs,channel;   
;    
;    //各个模块初始化   
;    asm("SEI");
	SEI
	.dbline 53
;    SCIInit();Lcdinit();AD_SPIInit();DA_SPIInit();
	jsr _SCIInit
	.dbline 53
	jsr _Lcdinit
	.dbline 53
	jsr _AD_SPIInit
	.dbline 53
	jsr _DA_SPIInit
	.dbline 54
;    TLV5608Init();KeyInput_Init();
	jsr _TLV5608Init
	.dbline 54
	jsr _KeyInput_Init
	.dbline 55
;    INTKBSCR&= ~(1<<IntBit); //开放键盘中断(IMASKk=0)
	bclr #1,0x1a
	.dbline 56
;    SCC2|=(1<<5);            //令SCC2.5=1,允许接收中断
	bset #5,0x14
	.dbline 57
;    asm("CLI"); 
	CLI
	.dbline 59
;    //LCD初始化信息----------------------
;    Print(CurrentRow,1,">",1);//在当前行显示选中标志'>>'  
	lda #1
	psha
	ldhx #L2
	pshx
	pshh
	psha
	lda *_CurrentRow
	psha
	jsr _Print
	ais #5
	.dbline 60
;    LcdShCh(LcdShowBuff);
	ldhx #_LcdShowBuff
	pshx
	pshh
	jsr _LcdShCh
	ais #2
	tsx
	jmp L4
L3:
	.dbline 63
;    //0:等待接收设定温湿度和系统时间,ReSendFlag=1时执行主循环     
;    while(ReSendFlag)
;    {     
	.dbline 66
;      //1:Key功能[S]----------------------------------------------------------
;      //Key.1:上移按钮标志
;      tmp=KB_DefValue&0x20;     
	lda *_KB_DefValue
	and #32
	sta 40,X
	.dbline 67
;      if(tmp==0) {KB_DefValue|=0xF0;MoveBtn=1;}    
	bne L6
	.dbline 67
	.dbline 67
	lda *_KB_DefValue
	ora #-16
	sta *_KB_DefValue
	.dbline 67
	lda #1
	sta *_MoveBtn
	.dbline 67
L6:
	.dbline 69
;      //Key.2:下移按钮标志      
;      tmp=KB_DefValue&0x40;
	lda *_KB_DefValue
	and #64
	sta 40,X
	.dbline 70
;      if(tmp==0) {KB_DefValue|=0xF0;MoveBtn=-1;}     
	bne L8
	.dbline 70
	.dbline 70
	lda *_KB_DefValue
	ora #-16
	sta *_KB_DefValue
	.dbline 70
	lda #-1
	sta *_MoveBtn
	.dbline 70
L8:
	.dbline 72
;      //Key.3:确定按钮
;      tmp=KB_DefValue&0x80;              
	lda *_KB_DefValue
	and #-128
	sta 40,X
	.dbline 73
;      if(tmp==0) {KB_DefValue|=0xF0;CertenFlag=(CertenFlag+1)%2;} 
	bne L10
	.dbline 73
	.dbline 73
	lda *_KB_DefValue
	ora #-16
	sta *_KB_DefValue
	.dbline 73
	lda *_CertenFlag
	add #1
	ldx #2
	clrh
	div
	pshh
	pula
	tsx
	sta *_CertenFlag
	.dbline 73
L10:
	.dbline 75
;      //Key.4:上移按钮功能  
;      if((MoveBtn==1)&&(CertenFlag==0)){MoveBtn=0;UpBtn(&CurrentRow);} 
	lda *_MoveBtn
	cmp #1
	bne L12
	lda *_CertenFlag
	bne L12
	.dbline 75
	.dbline 75
	clr *_MoveBtn
	.dbline 75
	ldhx #_CurrentRow
	pshx
	pshh
	jsr _UpBtn
	ais #2
	tsx
	.dbline 75
L12:
	.dbline 77
;      //Key.5:下移按钮功能
;      if((MoveBtn==-1)&&(CertenFlag==0)){MoveBtn=0;DownBtn(&CurrentRow);} 
	lda *_MoveBtn
	cmp #-1
	bne L14
	lda *_CertenFlag
	bne L14
	.dbline 77
	.dbline 77
	clr *_MoveBtn
	.dbline 77
	ldhx #_CurrentRow
	pshx
	pshh
	jsr _DownBtn
	ais #2
	tsx
	.dbline 77
L14:
	.dbline 79
;      //Key.6:加1
;      if(MoveBtn==1&&CertenFlag==1){MoveBtn=0;AddBtn(CurrentRow);}  
	lda *_MoveBtn
	cmp #1
	bne L16
	lda *_CertenFlag
	cmp #1
	bne L16
	.dbline 79
	.dbline 79
	clr *_MoveBtn
	.dbline 79
	lda *_CurrentRow
	psha
	jsr _AddBtn
	ais #1
	tsx
	.dbline 79
L16:
	.dbline 81
;      //Key.7:减1  
;      if(MoveBtn==-1&&CertenFlag==1){MoveBtn=0;SubBtn(CurrentRow);}  
	lda *_MoveBtn
	cmp #-1
	bne L18
	lda *_CertenFlag
	cmp #1
	bne L18
	.dbline 81
	.dbline 81
	clr *_MoveBtn
	.dbline 81
	lda *_CurrentRow
	psha
	jsr _SubBtn
	ais #1
	tsx
	.dbline 81
L18:
	.dbline 84
L4:
	.dbline 62
	lda *_ReSendFlag
	beq X0
	jmp L3
X0:
	.dbline -2
L1:
	ais #41
	.dbline 0 ; func end
	rts
	.dbsym l channel 0 c
	.dbsym l cs 1 c
	.dbsym l j 2 I
	.dbsym l i 4 I
	.dbsym l k 6 c
	.dbsym l buf 7 A[6:6]c
	.dbsym l data 13 A[3:3]c
	.dbsym l SendBuff 16 A[22:22]c
	.dbsym l buff 38 A[2:2]c
	.dbsym l tmp 40 c
	.dbend
	.area bss
	.dbfile main.c
_BackWindH::
	.blkb 2
	.dbsym e BackWindH _BackWindH s
_BackWindST::
	.blkb 1
	.dbsym e BackWindST _BackWindST c
_BackWindT::
	.blkb 2
	.dbsym e BackWindT _BackWindT s
_WindState::
	.blkb 1
	.dbsym e WindState _WindState c
_MoveBtn::
	.blkb 1
	.dbsym e MoveBtn _MoveBtn C
_Hour::
	.blkb 5
	.dbsym e Hour _Hour A[5:5]c
_BasicH::
	.blkb 2
	.dbsym e BasicH _BasicH s
_CurrentT::
	.blkb 2
	.dbsym e CurrentT _CurrentT s
_SignCT::
	.blkb 1
	.dbsym e SignCT _SignCT c
_SignBT::
	.blkb 1
	.dbsym e SignBT _SignBT c
_BasicT::
	.blkb 2
	.dbsym e BasicT _BasicT s
_TimeFlag::
	.blkb 1
	.dbsym e TimeFlag _TimeFlag c
_DAvalue::
	.blkb 32
	.dbsym e DAvalue _DAvalue A[32:16]s
_ADValue::
	.blkb 44
	.dbsym e ADValue _ADValue A[44:22]s
_SendBuf::
	.blkb 1
	.dbsym e SendBuf _SendBuf A[1:1]c
_ReBuf::
	.blkb 1
	.dbsym e ReBuf _ReBuf A[1:1]c
	.area lit
L2:
	.byte 62,0

⌨️ 快捷键说明

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