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

📄 h08sci_1.lst

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 LST
📖 第 1 页 / 共 2 页
字号:
    80A2 20 F5        bra	0x8099
    80A4 81           rts	
_SCISendN:
  i                    --> X+0
  ch                   --> X+5
  n                    --> X+4
    80A5 A7 FE        aiS	#-2
    80A7 95           tSX	
(0024)       }
(0025) }
(0026) /*SCISendN:串行发送N个字节-------------------------------------------------*
(0027) *功  能:发送数组中的N个字节数据                                            *
(0028) *参  数:待发送的数据字节数及其要存放的数组首地址                           *          
(0029) *返  回:无                                                                 *
(0030) *-------------------------------------------------------------------------*/
(0031) void SCISendN(unsigned char n,unsigned char ch[])
(0032) {
    80A8 6F 01        clr	1,X
    80AA 7F           clr	0,X
    80AB 20 1F        bra	0x80CC
(0033)   int i;
(0034)   for(i=0;i<n;i++)          
(0035)   	SCISend1(ch[i]);
    80AD E6 01        ldA	1,X
    80AF EB 06        add	6,X
    80B1 B7 41        stA	*__r1
    80B3 F6           ldA	0,X
    80B4 E9 05        adc	5,X
    80B6 B7 40        stA	*__r0
    80B8 55 40        ldHX	*__r0
    80BA F6           ldA	0,X
    80BB 87           pshA	
    80BC CD 8096      jsr	_SCISend1
    80BF A7 01        aiS	#1
    80C1 95           tSX	
    80C2 E6 01        ldA	1,X
    80C4 AB 01        add	#1
    80C6 E7 01        stA	1,X
    80C8 F6           ldA	0,X
    80C9 A9 00        adc	#0
    80CB F7           stA	0,X
    80CC 3F 40        clr	*__r0
    80CE E6 04        ldA	4,X
    80D0 B7 41        stA	*__r1
    80D2 E6 01        ldA	1,X
    80D4 B7 43        stA	*__r3
    80D6 F6           ldA	0,X
    80D7 B7 42        stA	*__r2
    80D9 55 42        ldHX	*__r2
    80DB 75 40        cpHX	*__r0
    80DD 95           tSX	
    80DE 91 CD        blt	0x80AD
    80E0 A7 02        aiS	#2
    80E2 81           rts	
_SCIRe1:
  i                    --> X+0
  k                    --> X+1
  p                    --> X+5
    80E3 A7 FD        aiS	#-3
    80E5 95           tSX	
(0036) }
(0037) /*SCIRe1:串行收一个字节数据------------------------------------------------*
(0038) *功  能:从串行口接收1个字节的数据                                          *
(0039) *参  数:标志指针p                                                          *
(0040) *返  回:接收到的数据(若接收失败,返回0xff)                               * 
(0041) *说  明:参数*p带回接收标志=0 收到数据,=1 未收到数据                        *
(0042) *-------------------------------------------------------------------------*/
(0043) unsigned char SCIRe1(unsigned char *p)
(0044) {  
    80E6 6F 02        clr	2,X
    80E8 6F 01        clr	1,X
    80EA 20 21        bra	0x810D
(0045)    unsigned int k;
(0046)    unsigned char i;
(0047)    //ReStatusR第ReTestBit位为1表示可接收数据
(0048)    for(k=0;k<0xfbbb;k++)
(0049) 	  if ((ReSendStatusR & (1<<ReTestBit)) != 0)
    80EC 0B 1612      BRclr	5,0x16,0x8101
(0050) 	  {
    80EF B6 18        ldA	0x18
    80F1 F7           stA	0,X
(0051) 	      i=ReSendDataR;
(0052) 	      *p=0x00; 
    80F2 E6 06        ldA	6,X
    80F4 B7 41        stA	*__r1
    80F6 E6 05        ldA	5,X
    80F8 B7 40        stA	*__r0
    80FA 4F           clrA	
    80FB 55 40        ldHX	*__r0
    80FD F7           stA	0,X
    80FE 95           tSX	
(0053) 	      break;
    80FF 20 1C        bra	0x811D
    8101 E6 02        ldA	2,X
    8103 AB 01        add	#1
    8105 E7 02        stA	2,X
    8107 E6 01        ldA	1,X
    8109 A9 00        adc	#0
    810B E7 01        stA	1,X
    810D E6 02        ldA	2,X
    810F B7 41        stA	*__r1
    8111 E6 01        ldA	1,X
    8113 B7 40        stA	*__r0
    8115 55 40        ldHX	*__r0
    8117 65 FBBB      cpHX	#0xFBBB
    811A 95           tSX	
    811B 25 CF        bcs	0x80EC
(0054) 	  } 
(0055)    //接受失败
(0056)    if(k>=0xfbbb) 
    811D E6 02        ldA	2,X
    811F B7 41        stA	*__r1
    8121 E6 01        ldA	1,X
    8123 B7 40        stA	*__r0
    8125 55 40        ldHX	*__r0
    8127 65 FBBB      cpHX	#0xFBBB
    812A 95           tSX	
    812B 25 11        bcs	0x813E
(0057)    {
    812D A6 FF        ldA	#-1
    812F F7           stA	0,X
(0058) 	  i=0xff;
(0059) 	  *p=0x01;
    8130 E6 06        ldA	6,X
    8132 B7 41        stA	*__r1
    8134 E6 05        ldA	5,X
    8136 B7 40        stA	*__r0
    8138 A6 01        ldA	#1
    813A 55 40        ldHX	*__r0
    813C F7           stA	0,X
    813D 95           tSX	
(0060)    }
    813E F6           ldA	0,X
    813F A7 03        aiS	#3
    8141 81           rts	
_SCIReN:
  fp                   --> X+0
  m                    --> X+1
  ch                   --> X+6
  n                    --> X+5
    8142 A7 FD        aiS	#-3
    8144 95           tSX	
(0061)    return i;
(0062) }
(0063) /*SCIReN:HC08串行接收N个字节-----------------------------------------------*
(0064) *功  能:接收N个字节数据,并存放在ch数组中                                   *
(0065) *参  数:待接收的数据字节数及其存放的数组首地址                             *
(0066) *返  回:接收标志=0 收到数据,=1 未收到数据                                  *
(0067) *-------------------------------------------------------------------------*/
(0068) unsigned char SCIReN(unsigned char n,unsigned char ch[])
(0069) {
    8145 6F 02        clr	2,X
    8147 6F 01        clr	1,X
    8149 20 31        bra	0x817C
(0070)    int m;                  
(0071)    unsigned char fp;
(0072)    m=0;
(0073)    while (m<n)
(0074)    { 	          
    814B 89           pshX	
    814C 8B           pshH	
    814D CD 80E3      jsr	_SCIRe1
    8150 A7 02        aiS	#2
    8152 95           tSX	
    8153 B7 41        stA	*__r1
    8155 E6 02        ldA	2,X
    8157 EB 07        add	7,X
    8159 B7 43        stA	*__r3
    815B E6 01        ldA	1,X
    815D E9 06        adc	6,X
    815F B7 42        stA	*__r2
    8161 B6 41        ldA	*__r1
    8163 55 42        ldHX	*__r2
    8165 F7           stA	0,X
    8166 95           tSX	
(0075) 	  ch[m]=SCIRe1(&fp); 
(0076) 	  if (fp==1) return 1;
    8167 F6           ldA	0,X
    8168 A1 01        cmp	#1
    816A 26 04        bne	0x8170
    816C A6 01        ldA	#1
    816E 20 22        bra	0x8192
(0077) 	  m++;
    8170 E6 02        ldA	2,X
    8172 AB 01        add	#1
    8174 E7 02        stA	2,X
    8176 E6 01        ldA	1,X
    8178 A9 00        adc	#0
    817A E7 01        stA	1,X
(0078)    } 
    817C 3F 40        clr	*__r0
    817E E6 05        ldA	5,X
    8180 B7 41        stA	*__r1
    8182 E6 02        ldA	2,X
    8184 B7 43        stA	*__r3
    8186 E6 01        ldA	1,X
    8188 B7 42        stA	*__r2
    818A 55 42        ldHX	*__r2
    818C 75 40        cpHX	*__r0
    818E 95           tSX	
    818F 91 BA        blt	0x814B
(0079)    return 0;	 
FILE: <library>
    8191 4F           clrA	
    8192 A7 03        aiS	#3
    8194 81           rts	

⌨️ 快捷键说明

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