資源簡介
采用MAX7219并行顯示時間及設定的交通燈控制系統。包括兩種中斷源應用及串口通信。-The MAX7219 parallel display time and set of traffic light control system. Including two interrupt source application and serial interface communication.

代碼片段和文件信息
#include//頭文件
/***********************?定義MAX7219?內部寄存器?**********************/
#define?REG_DECODE????????0x09????????????//?譯碼方式寄存器
#define?REG_INTENSITY?????0x0a????????????//?亮度寄存器
#define?REG_SCAN_LIMIT????0x0b????????????//?掃描界限寄存器
#define?REG_SHUTDOWN??????0x0c????????????//?停機寄存器
#define?REG_DISPLAY_TEST??0x0f????????????//?顯示測試寄存器
#define?INTENSITY_MIN?????0x00????????????//?最小顯示亮度
#define?INTENSITY_MAX?????0x0f????????????//?最大顯示亮度
/***********************?定義各路交通燈信號?************************/
sbit???ALG??=??P1^2;//??A路左轉綠燈
sbit???ALR??=??P1^0;//??A路左轉紅燈
sbit???ALY??=??P1^1;//??A路左轉黃燈
sbit???ASG??=??P1^5;//??A路直行綠燈
sbit???ASR??=??P1^3;//??A路直行紅燈
sbit???ASY??=??P1^4;//??A路直行黃燈
sbit???BLG??=??P2^0;//??B路左轉綠燈
sbit???BLR??=??P1^6;//??B路左轉紅燈
sbit???BLY??=??P1^7;//??B路左轉黃燈
sbit???BSG??=??P2^3;//??B路直行綠燈
sbit???BSR??=??P2^1;//??B路直行紅燈
sbit???BSY??=??P2^2;//??B路直行黃燈
/***********************?定義MAX7219?端口信號?************************/
sbit???DATA?=??P2^5;
sbit???LOAD?=??P2^6;
sbit???CLK??=??P2^7;
/***********************?定義設定按鍵?端口信號?************************/
sbit?next_switch?=?P0^5;
sbit?add_switch?=??P0^6;
sbit?sub_switch?=??P0^7;
/***********************?時間及顯示全局變量?************************/
int?aashigeshi1ge1temp1;
int?p=0;
int?set1=10;
int?set2=5;
int?flag?=?0;
int?gt[4]?=?{14131211};
/*數碼管顯示0-9AL*/
unsigned?char?table[]={0x7e0x300x6d0x790x330x5b0x5f0x700x7f0x7b0x770x0e};
unsigned?char?table0[]={0x000x010x020x030x040x050x060x070x08};
/*子函數聲明*/
void??delay(int?z);//延遲
void??xtimer0();//定時中斷
void??xtimer1();
void??check();
void??step1();
void??step2();
void??step3();
void??step4();
void??step5();
void??step6();
void??step7();
void??step8();
void??step9();
void??xint0();
void??xint1();
void??A_S_G();
void??B_S_G();
int?judge_key();
void?set_led_time();
static?void?Write?(unsigned?char?reg_number?unsigned?char?dataout);//向指定的MAX7219內部寄存器寫入數據
static?void?SendByte?(unsigned?char?dataout);//向MAX7219發送一個字節串行數據
static?unsigned?char?LookupCode?(int?num);//查段碼表將顯示字符轉換為顯示段碼
static?unsigned?char?LookupNum?(int?num);
void?Init?(void);//對MAX7219進行初始化,調用任何其他函數之前必需先調用此函數
void?ShutdownStart?(void);//進入停機方式
void?ShutdownStop?(void);//結束停機方式
void?DisplayTestStart?(void);//啟動顯示測試
void?DisplayTestStop?(void);//結束顯示測試
void?SetBrightness?(char?brightness);//設置LED顯示亮度亮度值(brightness?=?0-15)
void?Clear?(void);//關閉全部顯示器
void?display?(int?num0?int?num);//在指定數位上顯示字符
?????
/*主函數*/
void??main()
{
EA=1;//開中斷
EX0=1;//允許外部中斷INT0中斷
IT0=0;//定義INT0觸發方式
PX0=1;//中斷優先級高
EX1=1;//允許外部中斷INT1中斷
IT1=0;//定義INT1觸發方式
PX1=1;//中斷優先級高
check();//開機自檢
step1();//第1個狀態
P0=0xff;
?? while(1)
?? {
?? step2();//第2個狀態
? step3();//第3個狀態
? step4();//第4個狀態
? step5();//第5個狀態
step6();//第6個狀態
step7();//第7個狀態
step8();//第8個狀態
step9();//第9個狀態
?? }
}
void??check()//開機自檢子程序
{
ASG=1;
ALG=1;
ASR=1;
ALR=1;
ASY=1;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????129372??2011-12-15?09:38??_gao\Last?Loaded?traffic.DBK
?????文件???????5115??2004-08-31?19:16??_gao\STARTUP.A51
?????文件??????11665??2011-12-15?11:13??_gao\STARTUP.lst
?????文件????????749??2011-12-15?11:13??_gao\STARTUP.OBJ
?????文件??????29011??2011-12-15?11:13??_gao\traffic
?????文件??????14505??2011-12-15?11:13??_gao\traffic.c
?????文件?????129372??2011-12-15?09:42??_gao\traffic.DSN
?????文件???????9205??2011-12-15?11:13??_gao\traffic.hex
?????文件??????35852??2011-12-15?11:13??_gao\traffic.LST
?????文件??????45162??2011-12-15?11:13??_gao\traffic.M51
?????文件??????35890??2011-12-15?11:13??_gao\traffic.OBJ
?????文件???????1395??2011-12-15?16:00??_gao\traffic.Opt
?????文件????????163??2011-12-15?16:00??_gao\traffic.plg
?????文件????????768??2011-12-15?16:00??_gao\traffic.PWI
?????文件???????2051??2011-12-14?12:39??_gao\traffic.Uv2
????.......??????1301??2011-12-15?11:12??_gao\traffic_Opt.Bak
????.......??????2076??2011-12-14?12:35??_gao\traffic_Uv2.Bak
?????文件????????326??2011-12-08?08:52??_gao\數碼管.txt
?????目錄??????????0??2011-12-15?16:00??_gao
-----------?---------??----------?-----??----
???????????????453978????????????????????19
評論
共有 條評論