?? 按兩下啟動led(tj口).c
字號:
/***************************************************************************
功能:一個按鍵(PTIJ_PTIJ6)按兩下 啟動標準LED(PTT)調試
作者:唐小進
時間:08.2.5
現象:第一次按下,四個指示燈亮,第二次按下,運行標準LED
注意: 1.設置按鍵要有 DDRJ_DDRJ6=0;設為輸入
PERJ_PERJ6=1;上拉使能
PPSJ_PPSJ6=0;電阻上拉
2.按第一下和第二下之間一般延時1秒
***************************************************************************/
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void delay(int m){
int i,j;
for(i=0;i<500;i++)
for(j=0;j<m;j++){
}
}
int Tab3[8]={0x81,0xC3,0xE7,0xff,0xE7,0xC3,0x81,0x00};
int Tab4[8]={0x18,0x3c,0x7e,0xff,0x7e,0x3c,0x18,0x00};
void main(void)
{ int i,j,a,b,c;
DDRT=0xff; /* PTTas output */
/* RDRT=0XFF;*//*減小驅動,滿驅動為4.5V,減小后為3.5V*/
DDRJ_DDRJ6=0; /*設為輸出*/
PERJ_PERJ6=1; /*上拉使能*/
PPSJ_PPSJ6=0; /*上拉*/
asm nop ;/*空指令*/
asm nop ;
asm nop ;
asm nop ;
asm nop ;
asm nop ;
asm nop ;
asm nop ;
asm nop ;
asm nop ;
asm nop ;
asm nop ;
while(1){
if(PTIJ_PTIJ6==0){
PTT=0X66;
DDRJ_DDRJ6=0; /*設為輸出*/
PERJ_PERJ6=1; /*上拉使能*/
PPSJ_PPSJ6=0; /*上拉*/
delay(1600);
while(1){
if(PTIJ_PTIJ6==0){
PTT=0X00;
while(1){
for(i=0;i<=2;i++) /*middle run two sides*/
for(j=0;j<=7;j++){
PTT=Tab4[j];
delay(600);
}
for(a=0;a<=2;a++){
PTT=0XFF;
delay(600);
PTT=0X00;
delay(600);
}
for(b=0;b<=3;b++)
for(c=0;c<=7;c++){ /*two sides run middle*/
PTT=Tab3[c];
delay(600);
}
}
}
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -