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

📄 ad.c

📁 89C516RD+的两个AD转换程序,89C51是22.1184MHZ,有64KB Flash 256B(DataRAM)+1024B(Ext.RAM)的性价比很高的MCU
💻 C
📖 第 1 页 / 共 3 页
字号:
		imul cx
		mov  ax,dx
		}
KK_16:
	 asm{                    //new15
		mov II16,ax
		mov I16[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst07:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst07;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk7       //new15
		cmp cx,1
		je KK_7
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_7:
	 asm{                    //new15
		mov II7,ax
		mov I7[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax
		in ax,dx
		mov ax,cx
		mov cx,kk17       //new15
		cmp cx,1
		je KK_17
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_17:
	 asm{                    //new15
		mov II17,ax
		mov I17[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst08:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst08;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk8       //new15
		cmp cx,1
		je KK_8
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_8:
	 asm{                    //new15
		mov II8,ax
		mov I8[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax
		in ax,dx
		mov ax,cx
		mov cx,kk18       //new15
		cmp cx,1
		je KK_18
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_18:
	 asm{                    //new15
		mov II18,ax
		mov I18[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst09:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst09;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk9       //new15
		cmp cx,1
		je KK_9
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_9:
	 asm{                    //new15
		mov II9,ax
		mov I9[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax
		in ax,dx
		mov ax,cx
		mov cx,kk19       //new15
		cmp cx,1
		je KK_19
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_19:
	 asm{                    //new15
		mov II19,ax
		mov I19[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}
 adst10:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst10;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk10       //new15
		cmp cx,1
		je KK_10
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_10:
	 asm{                    //new15
		mov II10,ax
		mov I10[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax
		in ax,dx
		mov ax,cx
		mov cx,kk20       //new15
		cmp cx,1
		je KK_20
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_20:
	 asm{                    //new15
		mov II20,ax
		mov I20[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

	 asm{
		mov ax,di;
		mov i_f,ax;
		mov If[bx],ax;
		mov ax,si;
		mov Id11[bx],ax
		cwd
		xor ax,dx;
		sub ax,dx;
		mov i_d,ax;
		mov Id[bx],ax;
		}
	 if(_AX=inpw(adstupt1),_AX=_AX&0x0606,_AX!=0)
	 {
		aderr=YES;
	 }

	 inp(tracept);
	 if(_AX=inpw(adstupt1),_AX=_AX&0x0606,_AX=_AX^0x0606,_AX!=0)
	 {
			aderr=YES;
	 }
	#endif   //20s
//////////////////////////////} MU20

	#ifdef MU22
	 asm{
	 mov al,sam_count;
	 mov bl,al
	 mov bh,0;
	 add bx,bx;
	 mov samm,al;  //xxx
	 inc al;
	 mov sam_count,al;
	 mov si,0
	 mov di,0
	 }
	adst01:
	 asm{
		mov dx,adstupt1;
		in  al,dx;
		test al,0x01;
		jnz adst01;}
	 asm{
		mov dx,addtpt1
		in  ax,dx;      //A/D transfer value of Ua
		mov Icd[bx],ax	//ccdd
		mov cx,kk1       //new15
		cmp cx,1
		je KK_1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_1:
	 asm{                    //new15
		mov II1,ax
		mov I1[bx],ax
	  }
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk12       //new15
		cmp cx,1
		je KK_12
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_12:
	 asm{                    //new15
		mov II12,ax
		mov I12[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}


 adst02:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst02;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk2       //new15
		cmp cx,1
		je KK_2
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_2:
	 asm{                    //new15
		mov II2,ax
		mov I2[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk13       //new15
		cmp cx,1
		je KK_13
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_13:
	 asm{                    //new15
		mov II13,ax
		mov I13[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst03:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst03;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk3       //new15
		cmp cx,1
		je KK_3
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_3:
	 asm{                    //new15
		mov II3,ax
		mov I3[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk14       //new15
		cmp cx,1
		je KK_14
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_14:
	 asm{                    //new15
		mov II14,ax
		mov I14[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst04:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst04;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk4       //new15
		cmp cx,1
		je KK_4
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_4:
	 asm{                    //new15
		mov II4,ax
		mov I4[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk15       //new15
		cmp cx,1
		je KK_15
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_15:
	 asm{                    //new15
		mov II15,ax
		mov I15[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst05:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst05;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk5       //new15
		cmp cx,1
		je KK_5
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_5:
	 asm{                    //new15
		mov II5,ax
		mov I5[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk16       //new15
		cmp cx,1
		je KK_16
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_16:
	 asm{                    //new15
		mov II16,ax
		mov I16[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst06:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst06;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk6       //new15
		cmp cx,1
		je KK_6
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_6:
	 asm{                    //new15
		mov II6,ax
		mov I6[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk17       //new15
		cmp cx,1
		je KK_17
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_17:
	 asm{                    //new15
		mov II17,ax
		mov I17[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst07:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst07;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk7       //new15
		cmp cx,1
		je KK_7
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_7:
	 asm{                    //new15
		mov II7,ax
		mov I7[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk18       //new15
		cmp cx,1
		je KK_18
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_18:
	 asm{                    //new15
		mov II18,ax
		mov I18[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst08:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst08;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk8       //new15
		cmp cx,1
		je KK_8
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_8:
	 asm{                    //new15
		mov II8,ax
		mov I8[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk19       //new15
		cmp cx,1
		je KK_19
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_19:
	 asm{                    //new15
		mov II19,ax
		mov I19[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst09:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst09;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk9       //new15
		cmp cx,1
		je KK_9
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_9:
	 asm{                    //new15
		mov II9,ax
		mov I9[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk20       //new15
		cmp cx,1
		je KK_20
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_20:
	 asm{                    //new15
		mov II20,ax
		mov I20[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}
 adst10:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst10;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk10       //new15
		cmp cx,1
		je KK_10
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_10:
	 asm{                    //new15
		mov II10,ax
		mov I10[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk21       //new15
		cmp cx,1
		je KK_21
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_21:
	 asm{                    //new15
		mov II21,ax
		mov I21[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

 adst11:
	 asm{
		mov dx,adstupt1;
		in al,dx;
		test al,0x01;
		jnz adst11;}
		asm{
		mov dx,addtpt1
		in ax,dx;
		mov cx,kk11       //new15
		cmp cx,1
		je KK_11
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_11:
	 asm{                    //new15
		mov II11,ax
		mov I11[bx],ax
		add si,ax;  //  instead mov
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;    // instead mov
		}
	 asm{
		mov dx,addtpt
		in ax,dx
		mov dx,adstart;
		mov cx,ax     //v40-4u    3 line
		in ax,dx
		mov ax,cx
		mov cx,kk22       //new15
		cmp cx,1
		je KK_22
		sal  ax,1
		sal  ax,1
		sal  ax,1
		sal  ax,1
		imul cx
		mov  ax,dx
		}
KK_22:
	 asm{                    //new15
		mov II22,ax
		mov I22[bx],ax
		add si,ax;
		cwd
		xor ax,dx;
		sub ax,dx;
		add di,ax;
		}

	 asm{
		mov ax,di;
		mov i_f,ax;
		mov If[bx],ax;
		mov ax,si;
		mov Id11[bx],ax
		cwd
		xor ax,dx;
		sub ax,dx;
		mov i_d,ax;
		mov Id[bx],ax;
		}
	 if(_AX=inpw(adstupt1),_AX=_AX&0x0606,_AX!=0)
	 {
		aderr=YES;
	 }

	 inp(tracept);
	 if(_AX=inpw(adstupt1),_AX=_AX&0x0606,_AX=_AX^0x0606,_AX!=0)
	 {
			aderr=YES;
	 }
	#endif   //22s



 }

⌨️ 快捷键说明

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