首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

maxII 的一个奇怪问题,请大侠帮忙?

maxII 的一个奇怪问题,请大侠帮忙?

我用maxII 的EPM240T100C5,程序如下:


module demo(SysClk,oev,cph1);
//---------------------------------------
input   SysClk;
output  oev;
output  cph1;
reg  oev;
reg  cph1;  
 
reg  [2:0] counter;
reg  [7:0] countX;   


always @(negedge SysClk) begin  
   if(counter<5)
       counter<=counter+1;
   else
       counter<=0;
 
   if(counter==0) 
       cph1<=1;    
   else if(counter==3) 
       cph1<=0;
end


always  @(negedge cph1) begin 
    if(countX<200)
        countX<=countX+1;
    else      
        countX<=0;
    
    if(countX==0)
        oev<=1;
    else if(countX==50)


        oev<=0;  
 
end
endmodule


下载,用示波器观察,cph1波形正确,oev每隔2秒会周期性输出低电平(500毫秒),然后输出又正确,


百思不得解.

因为你的程序是
当有时钟来,cph1在一个周期内3/5时间为高
而oev在一个周期内有50/200为高
以你说的2秒为一个周期,
2s除以5再除以200得一个脉冲时间为2ms
那么oev在一个周期内的低电平时间为:
5*150*2ms=1500ms
所以高电平时间为500ms
╔☆→────────────────←☆╗
┊寻觅在电子中, , , 寻求适合自己的一席┊┊┊┊
┊也许生活本忙碌,  想享受安逸只能是心态了吧┊
╚☆→────────────────←☆╝      &
返回列表