热搜关键词: 机器人电路基础模拟电子技术matlablinux内核

rar

epp(不错的并口资料)

  • 1星
  • 2013-07-01
  • 36.9KB
  • 需要2积分
  • 0次下载
标签: epp

epp

不错的并口资料

epp

下面是我的epp代码,很简单,通过pc机程序控制led亮和灭。附件有份并口资料和我自己的一点总结及本代码的状态机

`timescale  1ns  /  1ps

////////////////////////////////////////////////////////////////////////////////

//  Company: 

//  Engineer:

//

//  Create  Date:  16:57:05  10/24/05

//  Design  Name: 

//  Module  Name:  EPP_and_LED

//  Project  Name: 

//  Target  Device: 

//  Tool  versions: 

//  Description:

//

//  Dependencies:

// 

//  Revision:

//  Revision  0.01  -  File  Created

//  Additional  Comments:

// 

////////////////////////////////////////////////////////////////////////////////

module  EPP_and_LED(Write,  Data,Interrupt,  Wait,  DataStrobe,  Reset,  AddressStrobe,rst,led,clk/*,t1,t2,t3,t4*/);

input  Write;

inout  [7:0]  Data;

output  Interrupt;

output  Wait;

input  DataStrobe;

input  Reset;

input  AddressStrobe;

wire  [7:0]  Data;

/*  output  t1,t2,t3,t4;  //测试信号,用于map到测试用的跳线

wire  t1,t2,t3,t4;  */

input  clk;//input  clock  24M

reg  Wait,Interrupt;

input  rst;//reset  switch  ,reference  PCB,active  low

output  led;//led  control,1  to  switch  led  on

reg  led;

parameter  Idle=3'b000,  Wait_End_AddrWrite=3'b001,  Wait_End_AddrRead=3'b010,

Wait_End_DataWrite=3'b011,  Wait_End_DataRead=3'b100;

//EPP  state  machine,reference  EPP  specification

//internal  reg

reg  [2:0]  state;

reg  [7:0]  addr;  //用于存储EPP地址写

reg  [7:0]  datain;//用于存储EPP数据写

reg  [7:0]  dataout;  //用于向EPP  Data  输出,可以是数据或者地址

always  @  (posedge  clk)

if((!rst)||  (!Reset))  //on  PCB  rst  or  Rest  from  EPP

begin

state<=Idle;

addr<=0;

datain<=0;

dataout<=0;

led<=1;

Wait<=0;

Interrupt<=0;

end

else  //state  machine

begin

led<=datain[0];

case(state)

Idle:  begin

Wait<=0;

state<=Idle;

if(AddressStrobe==0)

begin

if(Write==1) 

begin 

//put  address  in  Data  bus  here

dataout<=8'b1011_1111;

Wait<=1;

state<=Wait_End_AddrRead;

end

else  if(Write==0) 

begin 

addr<=Data;

Wait<=1;

state<=Wait_End_AddrWrite;

end

end

else  if(DataStrobe==0)

begin

if(Write==1) 

begin 

//put  data  in  Data  bus  here

dataout<=8'b1111_1011;

Wait<=1; 

state<=Wait_End_DataRead;

end

else  if(Write==0) 

begin 

datain<=Data;

Wait<=1; 

state<=Wait_End_DataWrite;

end

end 

end

Wait_End_AddrRead:begin

if(AddressStrobe==1)

begin

Wait<=0;

state<=Idle;

end 

end

Wait_End_AddrWrite:begin

if(AddressStrobe==1)

begin

Wait<=0;

state<=Idle;

end 

end

Wait_End_DataRead:begin

if(DataStrobe==1)

begin

Wait<=0;

state<=Idle;

end

end

Wait_End_DataWrite:begin

if(DataStrobe==1)

begin

Wait<=0;

state<=Idle;

end

end

default:  state<=Idle;

endcase

end

assign  Data[7:0]=((state==Wait_End_DataRead)||(state==Wait_End_AddrRead))?  dataout[7:0]:8'bz;

/*assign  t1=Write;

assign  t2=DataStrobe;

assign  t3=Wait;

assign  t4=dataout[0];  */

endmodule 

展开预览

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

开源项目推荐 更多

热门活动

热门器件

随便看看

  • 单片机CCFL控制器改善大屏幕LCD TV的图像质量
    虽然LCD背光有多种方式,例如LED、EL、CCFL等,但对于大尺寸LCD屏来说,由于CCFL发光效率高而成为主流背光光源。传统的LCD屏主要用于笔记本电脑或台式电脑,背光组件在有一定亮度的前提下,还要尺寸小和重量轻等,大多采用侧面背光方式(CCFL灯管安装在屏的二边或四周,通过导光板将光漫射到整个屏幕后面);而LCD TV特别是大尺寸LCD TV,由于对显示亮度(450cd/m2)、视角广角(1
  • 刘凯的stm32的视频
    群里看到的,有需要的吗[img]file:///[/img]http://yunpan.cn/cQbfLF3UajSe6访问密码 39ad
  • STM32 上新的 neopixel 用法
    以前 STM32 上不能直接驱动 ws2812,现在增加 machine.bitstream 功能后,就可以像 ESP32 那样驱动 ws2812 了。以 pyb v10为例,首先需要下载新的每日构建版固件并更新(其它开发板可能需要自己编译)。更新源码,将文件 drivers/neopixel/neopixel.py(或到github上下载),复制到开发板的pybflash磁盘中,重新连接使得ne
  • wince4.2 SD卡问题
    大家有没有遇到过这种情况,在CE的存储管理器中可以看到SD的插拔情况,也可以看到SD卡的容量,可以进行格式化,格式化后也可以新建,可无法装入,在文件系统中也看不到SD卡的文件夹,无法读写数据。我原来的板子读取都正常,后改板更换了大页的Flash和128MSDRAM后出现现在的问题,后我又做实验将SDRAM恢复到64M结果读取SD卡就正常了!大家看看是什么原因!怎么才能使SD卡那个文件夹出现?我的平
  • 心电传感器可以在水里工作吗?
    各位大神,小妹新来的,想问下心电传感器能不能在水里工作,比如给游泳的人身上弄两个电极测量心跳,可行吗?如果不行用什么传感器合适呢?sunnto的心率带是可以在水下工作的,谁知道它是用了什么传感器?谢谢啦~
  • 半桥(含全桥/推挽)的励磁复位
  • 请教关于芯片输入阻抗的问题
  • 射频模拟电路
  • 【helper 2416】第六弹 helper2416 +linux驱动移植之DM9000A以太网
  • 看图讨论,请问这楼多少层

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×