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

📄 dspiowt.tdf

📁 给出具体的几个汇编源代码.相信您看过之后对汇编语言编程会有所了解.
💻 TDF
字号:
FUNCTION DPWM12(en,clock,clr,s[11..0])
returns (pwm);
function phigen (rcclk,up,go)
returns (phi1,phi0);
function optdecp (sysclk,pa,pb)
returns (p);
function keypuls (clk,kb)
returns (ps);
SUBDESIGN dspiowt
( 
	a0,a1,a2,a3,/iostb,r/w,/csioa,i[7..0],KIN[3..0],clk,ssclk,ssud,sstp	: INPUT;
	sg[6..0],sgd[7..0],SDP[3..0],SKN[3..0],pwmop,OPT[6..0],ssint: OUTPUT;
    d[7..0]  :BIDIR;
)

VARIABLE
    dlt[2..0]:lcell;
    op1[6..0]:dff;
    op2[6..0]:dff;
    op3[7..0],OP4[3..0],OP5[3..0] ,op6[7..0],op7[5..0],opf[1..0],ckdv,sckdv: DFF;
    nn[7..0],cs1,cs2,cs:node;
    ssip[1..0]:node;
    pwmct  :dpwm12;
    sscgn:phigen;
    ssdec:optdecp;
    fqint:keypuls;
    
BEGIN
	dlt0=/iostb;
	dlt1=dlt0;
	dlt2=dlt1;    

    sscgn.up=(!ssud or opf0.q);
    sscgn.go=(sstp and !opf1.q);
	ckdv.d=!ckdv.q;
	ckdv.clk=ssclk;
	sckdv.d=!sckdv.q;
	sckdv.clk=clk;
    sscgn.rcclk=ckdv.q;
    ssdec.sysclk=clk;
    fqint.clk =sckdv.q;

    if i6 then ssint = ssdec.p;
    else ssint = !fqint.ps;
    end if;   
		    
    IF i7 THEN ssip[]= (sscgn.phi1,sscgn.phi0);fqint.kb=ssclk;                
	else ssip[]=(i1,i0);fqint.kb=i0;
    end if;
    
    ssdec.pa=ssip0;
	ssdec.pb=ssip1;
	
	cs1=(!/csioa &(!a0&!a1&!a2&!a3) & r/w & dlt0);
	cs2=(!/csioa &( a0&!a1&!a2&!a3) & r/w & dlt0);     
    cs  =(cs1 or  cs2 ); 
 
    nn[]= ((cs1 & (i[7..2],ssip[]))  or (cs2 & (0,0,0,0,KIN[]))); 
  
   for j in 0 to 7 generate
   d[j]=tri(nn[j],cs);
   end generate;   

    op1[].clk=(!/csioa & (!a0&!a1&!a2&!a3)& !r/w & dlt2);%OUTPUT 00%
    op2[].clk=(!/csioa & ( a0&!a1&!a2&!a3)& !r/w & dlt2); %OUTPUT 01%
    op3[].clk=(!/csioa & (a0& a1&!a2&!a3)& !r/w & dlt2); %OUTPUT 03%
    op4[].clk=(!/csioa & (!a0& a1&!a2&!a3)& !r/w & dlt2);%OUTPUT 02%
    op5[].clk=(!/csioa & (!a0&!a1&a2&!a3)& !r/w & dlt2); %OUTPUT 04%
    op6[].clk=(!/csioa & (!a0&!a1&!a2& a3)& !r/w & dlt2); %OUTPUT 08%
	op7[].clk=(!/csioa & ( a0& a1& a2&!a3)& !r/w & dlt2); %OUTPUT 07%

    opf[].clk=(!/csioa & ( a0& !a1& a2& !a3)& !r/w & dlt2); %OUTPUT 05%

    opf0.d=d6;%up/dn%
    opf1.d=d3;%stop%
    pwmct.clock=clk;
    pwmop=pwmct.pwm;

    op1[].d=d[6..0];
    op2[].d=d[6..0];
    op3[].d=d[];
    OP4[]=d[3..0];
	OP5[]=d[3..0];
    op6[].d=d[];
	op7[].d=d[5..0];

    pwmct.s[7..0]=op6[].q;
    pwmct.s[11..8]=op7[3..0].q;

	pwmct.en =op75.q;
    pwmct.clr =op74.q;
   
    opt[6..0]=op2[].q;%PORT(01)%
    sg[6..0]=op1[].q;%PORT(00)%

    sgd[]=op3[].q;%port(03)%
    SDP[]=OP4[].Q;%port(02)%
	SKN[]=OP5[].Q;%port(04)%
end;

⌨️ 快捷键说明

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