微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 用89C51单片机, 怎样控制两个并口同时工作

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

时间:10-02 整理:3721RD 点击:
  用89C51单片机,   怎样控制两个并口同时工作,但不过两个并口输出的延时不一样。比如P0口每输出一次信号延时50(控制LED),P1口每输出一次延时100(控制LED) 。且同时工作。

建立两个计时变量分别给这两个口的状态控制进行计时就可以啦

源代码如下
#include<reg51.h>
#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口调整一个口的速度另外一个速度也变快了,请问要怎么修改代码。麻烦

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top