📄 按两下启动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 + -