2019年12月1日 星期日

數到9 led切換

#include "reg51.h"
sbit led=P2^0;
int i=20;           
int j=0;           
char count=0;       
char bcd[2]={0,0};     
char code P0table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
char code P1table[]={0xfe,0xfd}; //0xfe才會從個位數開始數
void main() 
{
    IE=0x8a;       
    TMOD=0x11;       
    TH0=(65536-5000)/256;
    TL0=(65536-5000)%256;
    TH1=(65536-50000)/256;
    TL1=(65536-50000)%256;
    TR0=1;       
    TR1=1;         
    while(1);     
}
void T0_int(void) interrupt 1
{
    TH0=(65536-5000)/256;
    TL0=(65536-5000)%256;
    P0=P0table[ bcd[j] ]; 
    P1=P1table[j];   
  j++;
    if(j==2)       
      j=0;         
}
void T1_int(void) interrupt  3
{
    TH1=(65536-50000)/256;
    TL1=(65536-50000)%256;
   i--
    if(i==0)       
    {
        i=20;
        count++;
        if(count==10)
{
          count=0;     
 led=~led;
}
        bcd[1]=count/10; 
        bcd[0]=count%10;   
    }
}

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...