单片机/MCUwilliam hill官网
直播中

刘超雄

11年用户 97经验值
擅长:电源/新能源
私信 关注
[问答]

用89C51单片机, 怎样控制两个并口同时工作

  用89C51单片机,   怎样控制两个并口同时工作,但不过两个并口输出的延时不一样。比如P0口每输出一次信号延时50(控制LED),P1口每输出一次延时100(控制LED) 。且同时工作。

回帖(3)

南天音乐

2014-5-27 16:28:16
建立两个计时变量分别给这两个口的状态控制进行计时就可以啦
举报

刘超雄

2014-5-27 16:56:46
引用: ntmusic 发表于 2014-5-27 16:28
建立两个计时变量分别给这两个口的状态控制进行计时就可以啦

源代码如下
#include
#define uchar unsigned char
#define uint unsigned int
uchar code Pattern_P0[]=  {
0x11,
0x22,
0x44,
0x88,
0x55,
0xAA,
0xFF, };

uchar code Pattern_P2[]=  
{  0xc0,0x60,0x30, 0x90,

};
//延时
void DelayMS(uint x)
{
        uchar i;
        while(x--)
        {
                for(i=0;i<20;i++);
        }
}
//主程序
void jiantou()
{
        uchar i;
        while(1)
        {        //从数组中读取数据送至P0和P2口显示
                for(i=0;i<7;i++)
                for(j=0;j<4;j++)
                {   P2=Pattern_P2[j];
                        DelayMS(500);
                        P0=Pattern_P0;
                        DelayMS(0);
                       
                }
       
        }
}
请问要怎么修改下,我又新弄个延时,但不过P2跟P0口调整一个口的速度另外一个速度也变快了,请问要怎么修改代码。麻烦

举报

刘超雄

2014-5-27 17:02:24
引用: ntmusic 发表于 2014-5-27 16:28
建立两个计时变量分别给这两个口的状态控制进行计时就可以啦

能方便留个QQ,我刚入门单片机太多疑惑了。
举报

更多回帖

×
20
完善资料,
赚取积分