1、265;i+); void main(void) ANSELA=0; TRISA=0; while(1) PORTA=PORTA; DelayMS(100);02 从左到右的流水灯从左到右的流水灯接在RC口的8个LED从左到右循环依次点亮,产生走马灯效果 uchar j; ANSELC=0; TRISC=0; PORTC=0x01; for(j=8;j0;j-) DelayMS(1000); PORTC=PORTC 06 单只数码管循环显示09 /* 名称:单只数码管循环显示09主程序中的循环语句反复将09的段码送至P0口,使数字09循环显示const rom uchar DSY_CODE=0
2、xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff; for(j=0;ji; PORTC=DSY_CODEi; /发送数字段码 PORTD=wei; /发送位码 DelayMS(300); 08 8只数码管动态显示多个不同字符8只数码管动态显示多个不同字符数码管动态扫描显示07。 PORTD=0xff; DelayMS(2);09 8只数码管闪烁显示数字串电路如上图8只数码管闪烁显示数字串数码管闪烁显示由07构成的一串数字 本例用动态刷新法显示一串数字,在停止刷新时所有数字显示消失。/位码表const rom uchar DSY_IDX=
3、0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; uchar i,j;30; for(j=0; PORTD=0xff; PORTC=DSY_CODEj; /发送段码 PORTD=DSY_IDXj; /发送位码 DelayMS(2); PORTD=0xff; /关闭所有数码管并延时 DelayMS(1000);10 8只数码管滚动显示数字串8只数码管滚动显示数字串数码管向左滚动显示3个字符构成的数字串const rom uchar Num=10,10,10,10,10,10,10,10,2,9,8; uchar i,j,k,m;15; /发送段码,采用环形取法,从
4、第k个开始取第j个 PORTC=DSY_CODENum(k+j)%11; m=0x80j; PORTD=m; k=(k+1)%11; /环形队列首支针k递增,Num下标范围010,故对11取余11 K1-K4 控制LED移位K1-K4 控制LED移位按下K1时,RC口LED上移一位; 按下K2时,RC口LED下移一位; 按下K3时,RD口LED上移一位; 按下K4时,RD口LED下移一位;*/ void Move_LED(void) if (PORTB&0x10)=0) if(PORTC=0x80) PORTC=0x01; else PORTC=PORTC /K20x40)=0) if(POR
5、TD=0x80) PORTD=0x01; PORTD=PORTD /K1 /K4 uchar Recent_Key=0xff; /最近按键 ANSELB=0; PORTB=0; TRISB=0xff; INTCON2bits.RBPU=0; /*开启B口弱上拉*/ PORTD=0x01; if(Recent_Key!=PORTB) Recent_Key=PORTB; Move_LED(); DelayMS(10);12 K1-K4 按键状态显示K1-K4 按键状态显示K1、K2按下时LED点亮,松开时熄灭, K3、K4按下并释放时LED点亮,再次按下并释放时熄灭; 电路同上 PORTCbits
6、.RC0=PORTBbits.RB4; PORTCbits.RC1=PORTBbits.RB5; if(PORTBbits.RB6=0) while(PORTBbits.RB6=0); PORTCbits.RC2=PORTCbits.RC2; if(PORTBbits.RB7=0) while(PORTBbits.RB7=0); PORTCbits.RC3=PORTCbits.RC3;13 K1-K4 分组控制LEDK1-K4 分组控制LED每次按下K1时递增点亮一只LED,全亮时再次按下则再次循环开始, K2按下后点亮上面4只LED,K3按下后点亮下面4只LED,K4按下后关闭所有LED 电路同上 uchar Recent_Key=0xff,Key_State,k; Recent_Key=PORTB; if(Recent_Key!=0xff) if(Recent_Key!=PORTB) continue; /取得4位按键值,由模式XXXX1111(X中有一位为0,其他均为1) /变为模式0000XXXX(X中有一位为1,其他均为0) while(PORTB!=0xff); Key_State=Recent_Key4; k=0; /检查1所在位置,累加获取按键号k
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1