找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2920|回復(fù): 1
收起左側(cè)

利用51單片機和8255芯片做的交通燈程序

[復(fù)制鏈接]
ID:192035 發(fā)表于 2017-4-21 14:50 | 顯示全部樓層 |閱讀模式
#include <reg51.h> //定義51寄存器的頭文件
#include <absacc.h>   //定義存儲器形式的頭文件
#define PA XBYTE[0xfcff]   //定義PA地址  P2.1接A1,P2.0接A0
#define PD XBYTE[0xffff] //定義控制字地址
void Delay10ms(unsigned int c);
void main(void)
{
PD = 0x80;//D7標(biāo)志位為1,A口選擇工作方式0,基本輸入輸出  
while(1)
{
        PA = 0xde; //東西紅燈,南北綠燈;
  Delay10ms(500);
  PA = 0xdd; //東西紅燈,南北黃燈警告,閃爍第一次;
  Delay10ms(50);
  PA = 0xdf; //東西紅燈,南北熄滅;
  Delay10ms(50);
  PA = 0xdd; //東西紅燈,南北黃燈警告,閃爍第二次;
  Delay10ms(50);
  PA = 0xdf; //東西紅燈,南北熄滅;
  Delay10ms(50);
  PA = 0xdd; //東西紅燈,南北黃燈警告,閃爍第三次;
  Delay10ms(50);
  PA = 0xdf; //東西紅燈,南北熄滅;
  Delay10ms(50);
  
  PA = 0x7b; //東西綠燈,南北紅燈;
  Delay10ms(500);
  PA = 0xbb; //東西黃燈警告,閃爍第一次,南北紅燈;
  Delay10ms(50);
  PA = 0xfb; //東西熄滅,南北紅燈;
  Delay10ms(50);
  PA = 0xbb; //東西黃燈警告,閃爍第二次,南北紅燈;
  Delay10ms(50);
  PA = 0xfb; //東西熄滅,南北紅燈;
  Delay10ms(50);
  PA = 0xbb; //東西黃燈警告,閃爍第三次,南北紅燈;
  Delay10ms(50);
  PA = 0xfb; //東西熄滅,南北紅燈;
  Delay10ms(50);
}
}

void Delay10ms(unsigned int c)   
{
    unsigned char a, b;
    for (;c>0;c--)
{
  for (b=38;b>0;b--)
  {
   for (a=130;a>0;a--);
  }      
}      
}
   
/*D0~7接P0~7;南北向接A5~7(紅黃綠);東西向接A2~0( 紅黃綠);8255的RD WR與單片機RD WR相連;CS、REST接地*/
回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2017-4-21 22:30 | 顯示全部樓層
好資料,樓主能分享一下原理圖嗎?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表