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

立即注冊 登錄
返回首頁

uid:71568的個人空間

日志

一個程序

已有 394 次閱讀2015-1-3 18:47 |個人分類:程序| 程序

//晶振:11.0592M T1-250微秒溢出一次

/*變量的定義:

show_val_sn,show_val_ew: 顯示的值0-59

state_val_sn,state_val_ew: 狀態值 南北方向0-綠燈亮;1-黃燈亮;2-紅燈亮

T1_cnt: 定時器計數溢出數

cnt_sn,cnt_ew: 倒計時的數值

init_sn[3],init_ew[3] 倒計時

led_seg_code:數碼管7 段碼

*/

#include "reg51.h"

sbit SN_green=P3^2 ;//南北方向綠燈

sbit SN_yellow=P3^1 ;//南北方向黃燈

sbit SN_red=P3^0 ;//南北方向紅燈

sbit EW_green=P3^5 ;//東西方向綠燈

sbit EW_yellow=P3^4 ;//東西方向黃燈

sbit EW_red=P3^3 ;//東西方向紅燈

unsigned char data cnt_sn,cnt_ew;

unsigned int data T1_cnt;

unsigned char data state_val_sn,state_val_ew;

char code led_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

char code init_sn[3]={24,4,29};

char code init_ew[3]={29,24,4};

//------------------------

void delay(unsigned int i)//延時

{ while(--i); }

//------------------------

void led_show(unsigned int u,unsigned int v)

{ unsigned char i;

i=u%10; //暫存個位

P0=led_seg_code[i];

P2=0xbf;

delay(100); //延時

i=u%100/10; //暫存十位

P0=led_seg_code[i];

P2=0x7f;

delay(100); //延時

i=v%10; //暫存個位

P0=led_seg_code[i];

P2=0xfe;

delay(100); //延時

i=v%100/10; //暫存十位

P0=led_seg_code[i];

P2=0xfd;

delay(100); //延時

}

//-------------------------

void timer1() interrupt 3 //T1中斷

{ T1_cnt++;

if(T1_cnt>3999) //如果計數>3999, 計時1s

{ T1_cnt=0;

if (cnt_sn!=0) //南北方向計時

{ cnt_sn--; }

else

{ state_val_sn++;

if (state_val_sn>2) state_val_sn=0;

cnt_sn=init_sn[state_val_sn];

switch (state_val_sn) //根據狀態值,刷新各信號燈的狀態

{ case 0: SN_green=0 ;//南北方向綠燈

SN_yellow=1 ;//南北方向黃燈

SN_red=1 ;//南北方向紅燈

break;

case 1: SN_green=1 ;//南北方向綠燈

SN_yellow=0 ;//南北方向黃燈

SN_red=1 ;//南北方向紅燈

break;

case 2:SN_green=1 ;//南北方向綠燈

SN_yellow=1 ;//南北方向黃燈

SN_red=0 ;//南北方向紅燈

break;

}

}

if (cnt_ew!=0) //東西方向計時

{ cnt_ew--; }

else

{ state_val_ew++;

if (state_val_ew>2) state_val_ew=0;

cnt_ew=init_ew[state_val_ew];

switch (state_val_ew) //根據狀態值,刷新各信號燈的狀態

{ case 0: EW_green=1 ;//東西方向綠燈

EW_yellow=1;//東西方向黃燈

EW_red=0 ;//東西方向紅燈

break;

case 1: EW_green=0 ;//東西方向綠燈

EW_yellow=1 ;//東西方向黃燈

EW_red=1 ;//東西方向紅燈

break;

case 2: EW_green=1 ;//東西方向綠燈

EW_yellow=0 ;//東西方向黃燈

EW_red=1 ;//東西方向紅燈

break;

}

}

}

}

//-------------------------

main()

{//初始化各變量

cnt_sn=init_sn[0];

cnt_ew=init_ew[0];

T1_cnt=0;

state_val_sn=0; //啟動后,默認工作在序號為1 的狀態

state_val_ew=0;

//初始化各燈的狀態

SN_green=0 ;//南北方向綠燈亮

SN_yellow=1 ;//南北方向黃燈滅

SN_red=1 ;//南北方向紅燈滅

EW_green=1 ;//東西方向綠燈滅

EW_yellow=1;//東西方向黃燈滅

EW_red=0 ;//東西方向紅燈亮

//初始化51的寄存器

TMOD=0x20;//T1計時 8位自動裝載定時模式

TH1=0x19;//0x4b; //500微秒溢出一次; 250=(256-x)*12/11.0592 -> x= 230.4

TL1=0x19;

EA=1; //開中斷

ET1=1;

TR1=1; //開定時器T1

while(1)

{ led_show(cnt_sn,cnt_ew);}}

//主程序結束

 


路過

雞蛋

鮮花

握手

雷人

全部作者的其他最新日志

評論 (0 個評論)

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

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 九色在线视频 | 国产1区在线 | 中文字幕视频网 | 新91视频网 | jizz18国产 | 视频一区二区三区四区五区 | 密色视频 | 欧美黄页 | 91久久| 久久99精品视频 | 97精品视频在线观看 | 91麻豆精品国产91久久久资源速度 | 亚洲 成人 在线 | 色综合久久久久 | 欧美亚洲日本 | 亚洲播放 | 亚洲国产精品va在线看黑人 | 二区久久| 日日摸夜夜添夜夜添特色大片 | 成人免费一区二区三区视频网站 | 久久久久久久一区二区三区 | 欧美中文字幕在线观看 | 黑人中文字幕一区二区三区 | 视频在线h | 久久网国产 | 亚洲人成人一区二区在线观看 | 希岛爱理在线 | 国产精品区一区二区三区 | 亚洲国产一区二区三区在线观看 | 九九色综合 | 国产日韩久久 | 91视视频在线观看入口直接观看 | 国产91在线播放 | 4hu最新网址| 亚洲男女视频在线观看 | 色呦呦在线 | 国产精品国产成人国产三级 | 久久精品91久久久久久再现 | 一级毛片免费 | 成人欧美一区二区三区在线播放 | 中文字幕国产视频 |