程序如下:
- #include<reg51.h>
- char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//字模
- sbit D1=P3^0;
- void delay(unsigned int time) { //延時
- unsigned char j=250;
- for(;time>0;time--)
- for(;j>0;j--);
- }
- key0() interrupt 0{ //中斷函數
- unsigned char i;
- D1=!IE0; //IE0狀態輸出
- for (i=0;i<=9;i++){ //字符0~9循環一圈
- P2=led_mod[i];
- delay(35000);
- }P2=0X40; //結束符“-”
- }
- key1() interrupt 2 { //K1中斷函數
- unsigned char i;
- for (i=0;i<=9;i++){ //字符0~9循環一圈
- D1=!IE0; //IE0狀態輸出
- P1=led_mod[i];
- delay(35000);
- }P1=0x40; //結束符“-”
- }
- void mian(){
- unsigned char i;
- TCON=0x05; //脈沖觸發方式
- PX0=0;PX1=1; //INT1優先
- D1=1;P1=P2=0x40; //輸出初值
- IE=0x85; //開中斷
- while(1){
- for(i=0;i<=9;i++){ //字符0~9無線循環
- P0=led_mod[i];
- delay(35000);
- }}}
復制代碼
|