久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2104|回復: 1
打印 上一主題 下一主題
收起左側

利用51單片機制作十字路交通燈

[復制鏈接]
跳轉到指定樓層
樓主
南北交通燈
#include<reg51.h>

#define  unint unsigned int

#define  unchar unsigned char
sbit NS_G=P1^0;
sbit NS_Y=P1^1;
sbit NS_R=P1^2;
sbit EW_G=P0^0;
sbit EW_Y=P0^1;
sbit EW_R=P0^2;

//管腳定義

sbit DIN=P3^0;

//MAX7219 串行數據 1 腳

sbit LOAD=P3^1;

//MAX7219 片選 12

sbit CLK=P3^2;

//MAX7219 串行時鐘 13 腳

sbit P10=P1^0;

sbit P11=P1^1;

sbit P12=P1^2;

sbit P15=P1^5;

sbit P16=P1^6;

sbit P17=P1^7;

//寄存器宏定義

#define DECODE_MODE  0x09

//譯碼控制寄存器

#define INTENSITY      0x0A   
//亮度控制寄存器
#define SCAN_LIMIT    0x0B

//掃描界限寄存器

#define SHUT_DOWN  0x0C

//關斷模式寄存器

#define DISPLAY_TEST 0x0F

//測試控制寄存器

//定義全局變量

unchar t,dte,dts;

//t為1ms脈沖產生標志,dte、dts分別為東西方向、南北方向數字變化標志

unchar Easw,Soun;            

//東西、南北方數碼管數字變量

//函數聲明

void Write7219(unchar address,unchar dat);

//MAX7219控制處理函數聲明

void Display();                       

//數碼管數字顯示處理函數聲明

void Initial(void);

//MAX7219初始化函數聲明

void Init(void);                     

//定時器初始化函數聲明

/*主函數:交通等控制器,東西通行時間為80s,南北通行時間為60s,緩沖時間為3s。*/

void main(void)

{

Initial();   

//MAX7219 初始化

Init();                             

//變量初始化

while(1)

{

Display();                      //調用顯示函數

}

}

/*MAX7219初始化函數:MAX7219 初始化,設置MAX7219 內部的控制寄存器*/

void Initial(void)

{

Write7219(SHUT_DOWN,0x01);

//開啟正常工作模式(0xX1)

Write7219(DISPLAY_TEST,0x00);

//選擇工作模式(0xX0)

Write7219(DECODE_MODE,0xff);

//選用全譯碼模式

Write7219(SCAN_LIMIT,0x03);

//選用前4只LED

Write7219(INTENSITY,0x04);

//設置初始亮度

}

/*初始化函數:設置定時/計數器0工作方式1,設置50ms定時時間,并進行初始化。開總中斷、定時/計數器0,初始化所需全局變量 */

void init()                       

{

TMOD = 0X01;

//設置定時器0工作方式1

TH0 = 0X4C;

//定時器0高八位初始化

TL0 = 0X00;

//定時器0低八位初始化

ET0 = 1;

//定時器0中斷允許

TR0 = 1;

//開定時器0

EA = 1;

//開總中斷

t = 0;

dte = 0;

dts = 0;

Easw = 79;

//東西方向數碼管初值79

Soun = 82;

//南北方向數碼管初值82



//P0 = 0x21;
//初始化東西方向亮綠燈
EW_G=0;EW_Y=1,EW_R=1;
//P1 = 0X24;
//初始化南北方向亮紅燈
NS_G=1;NS_Y=1;NS_R=0;
}

/*數碼管數字顯示處理函數:通過定時器精確定時,動態地顯示交通燈時間的變化 */

void Display()

{

unchar i;

unchar Ewsn[4]={0};

//定義一個只含四個元素的一位數組

void Digit_deal();

//數字變化處理函數聲明

if(t >= 20)

//t=20時,定時1秒,Easw、Soun做自減

{

t= 0;

Easw--;

Soun--;

}

Digit_deal();

//數字變化處理函數

Ewsn[0] = Easw/10;

//東西顯示數字十位

Ewsn[1] = Easw%10;

//東西顯示數字個位

Ewsn[2] = Soun/10;

//南北顯示數字十位

Ewsn[3] = Soun%10;

//南北顯示數字個位

for(i=1;i<5;i++)

{

Write7219(i,Ewsn[i-1]);

//4位共陰數碼管顯示

}

}

剩余部分附件查看

圖片1.png (502 KB, 下載次數: 26)

圖片1.png

0.png (14.08 KB, 下載次數: 31)

0.png

紅綠燈3.zip

91.59 KB, 下載次數: 13, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:628922 發表于 2019-11-7 15:38 | 只看該作者
誰能幫我解決怎么做按鍵控制雙機通信
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年网站在线观看 | 欧美一区二区三区视频 | 成人精品在线观看 | 天堂中文在线观看 | 欧美在线日韩 | 成人性视频免费网站 | 久久婷婷国产麻豆91 | 中文字幕在线观看 | 欧美一区二区三区在线看 | 久久噜| 992tv人人草 久久精品超碰 | 老司机久久 | 美女一级毛片 | 91精品国产乱码久久久久久久久 | 欧美电影网| 久久久国产一区 | a在线观看 | 精品国产乱码久久久久久蜜退臀 | 蜜臀久久99精品久久久久久宅男 | 日韩久久网 | 一级黄色毛片 | 中文字幕免费中文 | 精品视频在线一区 | 欧美综合一区二区 | 久草在线影 | 天天操操 | 久久精品国产v日韩v亚洲 | 亚洲欧美精品 | av手机在线播放 | 色资源在线 | 午夜爽爽爽男女免费观看 | 日日夜夜精品视频 | 亚洲黄色片免费观看 | 精品国产乱码久久久久久果冻传媒 | 亚洲国产精品视频一区 | 一区二区三区国产 | 91精品国产92 | 日韩精品| 成人影音| 一区二区三区在线免费观看 | 日韩小视频在线 |