打印

pc与51单片机的并口通信问题

[复制链接]
4801|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
relaxgirl|  楼主 | 2007-8-15 18:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请大虾帮忙:在cmos下设置为EPP模式,pc与51单片机的并口通信,pc只能正常输出,不能正常读入,不知道什么原因?EPP模式是双向传输的啊,为什么不能进行数据读入?而且每次从数据寄存器读到的数据就是上次写入的数据或是存储在里面的数据而不是并行端口管脚输入pc的数据。这是什么原因?怎样做才能实现数据的双向传输?难道数据寄存器不能既做输出又做输入?怎么做才能实现?请大虾指教。谢谢!

相关帖子

沙发
stycx| | 2007-8-15 19:10 | 只看该作者

得设置数据方向

使用特权

评论回复
板凳
relaxgirl|  楼主 | 2007-8-16 08:09 | 只看该作者

pc与51单片机的并口通信问题

回楼上:怎么设置?我怎么没有看到有关这些设置的资料,不知道要怎么设置?急用,请楼上帮忙。

使用特权

评论回复
地板
古道热肠| | 2007-8-16 10:12 | 只看该作者

51单片机是不能直接与并口用EPP方式通讯的

  只有PIC的高级单片机拥有并行从动口,PC机才能通过EPP方式直接读写,PC机读数据时可用BUSY等待信号线来同步输入操作。

使用特权

评论回复
5
gyt| | 2007-8-16 11:59 | 只看该作者

古版说的是

你如果一定要用51和pc机的并行口通讯,首先要把pc方面的资料看熟,然后才能做得下去。

使用特权

评论回复
6
xujunchen| | 2007-8-16 12:29 | 只看该作者

用USB多好!

使用特权

评论回复
7
stycx| | 2007-8-16 15:08 | 只看该作者

pc端用什么软件?

使用特权

评论回复
8
relaxgirl|  楼主 | 2007-8-16 15:38 | 只看该作者

pc与51单片机的并口通信问题

我是在DOS环境上对数据进行读入写出的

使用特权

评论回复
9
gyt| | 2007-8-16 18:04 | 只看该作者

DOS?

那应该好做啊

使用特权

评论回复
10
stycx| | 2007-8-16 19:25 | 只看该作者

给个例子,tc的

#include"stdio.h" 
#include"dos.h" 
void main() 
{unsigned char data; 
outportb(0x37C,0x00); 
outportb(0x37A,0x00); 
delay(10); 
outportb(0x37A,0x04); 
delay(10); 
outportb(0x37A,0x00); 
delay(100); 
data=inportb(0x37C); 
printf("data:%x",data); 

//0x37A   并行口(也是打印机口)EPP模式下的控制寄存器地址(base+2), 
//0x37C   并行口(也是打印机口)EPP模式下的数据端口地址(base+4). 
http://www.it130.cn/Article/FAQ/bianchengyuyan/VB/2007-5-22/2007052208195210.html

使用特权

评论回复
11
relaxgirl|  楼主 | 2007-8-17 17:07 | 只看该作者

pc与51单片机的并口通信问题

多谢大虾,我已经有些眉目了,可以选择EPP模式通信,要对控制寄存器的bit5写1允许读入,现在通信已基本上没什么问题了,就是还有些小问题需要解决在请教大虾。谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

48

帖子

1

粉丝