单片机/MCUwilliam hill官网
登录
直播中
crgcrg
11年用户
19经验值
擅长:可编程逻辑
私信
关注
[问答]
单片机如何并行通信
开启该帖子的消息推送
单片机
如何并行
通信
回帖
(10)
阿信509
2014-7-10 13:18:48
为啥要并行通信呀?
串口多方便呢
为啥要并行通信呀?
串口多方便呢
举报
crgcrg
2014-7-10 13:29:45
并行速度快一点
并行速度快一点
举报
阿信509
2014-7-10 13:50:52
速度只快一点也没啥意思
还增加了硬件和软件的好多工作
速度只快一点也没啥意思
还增加了硬件和软件的好多工作
举报
crgcrg
2014-7-10 14:12:26
呵呵,有的芯片只有并行
呵呵,有的芯片只有并行
举报
阿信509
2014-7-10 14:28:30
你的芯片型号提出来
让大家帮帮你吧
你的芯片型号提出来
让大家帮帮你吧
举报
crgcrg
2014-7-10 14:30:21
好的 是FM1702nl
好的 是FM1702nl
举报
crgcrg
2014-7-10 14:31:11
单片机可以是stc89c54
单片机可以是stc89c54
举报
阿信509
2014-7-10 15:53:12
http://blog.tianya.cn/blogger/post_show.asp?BlogID=2509475&PostID=20718920
看看这个你用的着不
http://blog.tianya.cn/blogger/post_show.asp?BlogID=2509475&PostID=20718920
看看这个你用的着不
举报
crgcrg
2014-7-10 17:19:31
可以研究一下,谢谢啊
可以研究一下,谢谢啊
举报
牛步青
2014-8-19 19:08:15
引用:
阿信509 发表于 2014-7-10 13:18
为啥要并行通信呀?
串口多方便呢
串口方便吗 我咋一点都没感觉呢 我刚改过一个程序 并行可以通过,但串行就是通不过 哎
要不帮我抽空 看看
#include
//#include
#include
***it R=P2^3;
***it lcdrs=P2^0;
***it lcdrw=P2^1;
***it lcden=P2^2;
void init();
void delay(unsigned int z);
void write_com(unsigned char com);
void write_data(unsigned char dat);
void display();
unsigned int num,a,b,c,s;
unsigned int sum,miao,fen,shi,second,min,hour;
unsigned char code table[]={"0123456789:'c"};
unsigned char code table1[]={"SunMonTueWedThuFriSat"};
void main()
{
s=second=min=hour=0;
init();
SCON=0x00;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
TMOD=0X10;
EA=1;
ET1=1;
TR1=1;
R=0; _nop_(); _nop_(); R=1; // 这条 是我改过的, 原来并行通信时,这条 是没有的
while(1)
display();
}
void init()
{
lcden=0;
lcdrw=0;
write_com(0x01);
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=70;y>0;y--);
}
void write_com(unsigned char com)
{
lcdrs=0;
SBUF=com; // 原来并行通信时, 这条 是 P1=com;
// P1=com;
while(TI==0);TI=0; // 这条 是我改过的, 原来并行通信时,这条 是没有的
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(unsigned char dat)
{
lcdrs=1;
SBUF=dat; // 原来并行通信时, 这条 是 P1=com;
while(TI==0);TI=0; // 这条 是我改过的, 原来并行通信时,这条 是没有的
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void show1(void) interrupt 3
{
unsigned int q;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
q++ ;
if(q==200)
{
q=0;
second++;
if(second==60)
{
second=0;
min++;
if(min==60)
{
min=0;
hour++;
if(hour==24)
{
hour=0;
s++;
if(s==7) s=0;
}
}
}
}
}
void display(void)
{
unsigned int a1,a2,b1,b2,c1,c2;
write_com(0x80);
a1=hour/10;write_data(table[a1]);
a2=hour%10;write_data(table[a2]);
write_data(table[10]);
b1=min/10; write_data(table[b1]);
b2=min%10; write_data(table[b2]);
write_data(table[10]);
c1=second/10; write_data(table[c1]);
c2=second%10; write_data(table[c2]);
write_com(0xc5); write_data(table1[3*s]);
write_data(table1[3*s+1]);write_data(table1[3*s+2]);
}
引用:
阿信509 发表于 2014-7-10 13:18
为啥要并行通信呀?
串口多方便呢
串口方便吗 我咋一点都没感觉呢 我刚改过一个程序 并行可以通过,但串行就是通不过 哎
要不帮我抽空 看看
#include
//#include
#include
***it R=P2^3;
***it lcdrs=P2^0;
***it lcdrw=P2^1;
***it lcden=P2^2;
void init();
void delay(unsigned int z);
void write_com(unsigned char com);
void write_data(unsigned char dat);
void display();
unsigned int num,a,b,c,s;
unsigned int sum,miao,fen,shi,second,min,hour;
unsigned char code table[]={"0123456789:'c"};
unsigned char code table1[]={"SunMonTueWedThuFriSat"};
void main()
{
s=second=min=hour=0;
init();
SCON=0x00;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
TMOD=0X10;
EA=1;
ET1=1;
TR1=1;
R=0; _nop_(); _nop_(); R=1; // 这条 是我改过的, 原来并行通信时,这条 是没有的
while(1)
display();
}
void init()
{
lcden=0;
lcdrw=0;
write_com(0x01);
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=70;y>0;y--);
}
void write_com(unsigned char com)
{
lcdrs=0;
SBUF=com; // 原来并行通信时, 这条 是 P1=com;
// P1=com;
while(TI==0);TI=0; // 这条 是我改过的, 原来并行通信时,这条 是没有的
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(unsigned char dat)
{
lcdrs=1;
SBUF=dat; // 原来并行通信时, 这条 是 P1=com;
while(TI==0);TI=0; // 这条 是我改过的, 原来并行通信时,这条 是没有的
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void show1(void) interrupt 3
{
unsigned int q;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
q++ ;
if(q==200)
{
q=0;
second++;
if(second==60)
{
second=0;
min++;
if(min==60)
{
min=0;
hour++;
if(hour==24)
{
hour=0;
s++;
if(s==7) s=0;
}
}
}
}
}
void display(void)
{
unsigned int a1,a2,b1,b2,c1,c2;
write_com(0x80);
a1=hour/10;write_data(table[a1]);
a2=hour%10;write_data(table[a2]);
write_data(table[10]);
b1=min/10; write_data(table[b1]);
b2=min%10; write_data(table[b2]);
write_data(table[10]);
c1=second/10; write_data(table[c1]);
c2=second%10; write_data(table[c2]);
write_com(0xc5); write_data(table1[3*s]);
write_data(table1[3*s+1]);write_data(table1[3*s+2]);
}
举报
更多回帖
rotate(-90deg);
回复
相关问答
如何实现
单片机
与PCI总线接口的
并行
通信
?
2021-04-29
1107
怎样去实现MCS51
单片机
与PC104 ISA总线的
并行
通信
?
2021-04-30
1342
求助:FPGA与
单片机
通信
问题
2015-03-26
4335
如何利用
单片机
高效地
并行
处理多个外设
通信
?
2019-10-14
1729
单片机
串行
通信
UART是如何工作的?
2021-03-11
1740
单片机
的
并行
口问题
2013-01-22
2842
如何设计出以51
单片机
为核心的
并行
口数据采集系统?
2021-05-31
1022
单片机
如何这样
通信
?
2019-06-28
1609
linux系统
单片机
与电脑串行
通信
2020-12-28
1421
单片机
通信
问题
2014-08-13
1842
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分