Advertisement
MaskerQwQ

嵌入式试验三

Apr 29th, 2024
1,014
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include<reg51.h>
  2.  
  3.  
  4. unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
  5.  
  6. unsigned char num;
  7.  
  8. void display(void);
  9.  
  10. void delay(void){
  11.     unsigned char i;
  12.     for(i=0;i<250;i++){
  13.        
  14.     }
  15.  
  16. }
  17.  
  18.  
  19. main(){
  20.  
  21.     EA=1;
  22.     EX0=1;
  23.     EX1=1;
  24.     IT0=1;     //采用边沿触发,下降沿触发
  25.     IT1=1;
  26.  
  27.     while(1){  
  28.         display();
  29.     }
  30. }
  31.  
  32. void display(void){
  33.  
  34.     char label_4,label_3,label_2,label_1;
  35.     unsigned char i;
  36.     for(i=0;i<0xFF;i++){
  37.  
  38.         label_4=num/1000;
  39.         label_3=(num-label_4*1000)/100;
  40.         label_2=(num-label_4*1000-label_3*100)/10;
  41.         label_1=num%10;
  42.            
  43.         P2 = 0xFF;
  44.         P0 = LED7Code[label_4];    
  45.         P20 = 0;
  46.         delay();
  47.  
  48.         P2 = 0xFF;
  49.         P0 = LED7Code[label_3];
  50.         P21 = 0;
  51.         delay();
  52.  
  53.         P2 = 0xFF;
  54.         P0 = LED7Code[label_2];
  55.         P22 = 0;
  56.         delay();
  57.  
  58.         P2 = 0xFF;
  59.         P0 = LED7Code[label_1];
  60.         P23 = 0;
  61.         delay();
  62.     }
  63. }
  64.  
  65. void int_0(void) interrupt 0 using 0{
  66.     num++;
  67. }
  68.  
  69. void int_1(void) interrupt 2 using 1{
  70.     num--;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement