⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0809.c

📁 这是本人在学习51单片机时练习的C程序 lgl_5923@163.com
💻 C
字号:
#include <AT89X52.H> 

  

unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7, 

                                  0xef,0xdf,0xbf,0x7f}; 

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 

                               0x6d,0x7d,0x07,0x7f,0x6f,0x00}; 

unsigned char dispbuf[8]={10,10,10,10,0,0,0,0}; 

unsigned char dispcount; 

unsigned char getdata; 

unsigned int temp; 

unsigned char i; 

  

sbit ST=P3^0; 

sbit OE=P3^1; 

sbit EOC=P3^2; 

sbit CLK=P3^3; 

  

  

void main(void) 

{ 

  ST=0; 

  OE=0; 

  ET0=1; 

  ET1=1; 

  EA=1; 

  TMOD=0x12; 

  TH0=216; 

  TL0=216; 

  TH1=(65536-4000)/256; 

  TL1=(65536-4000)%256; 

  TR1=1; 

  TR0=1; 

  ST=1; 

  ST=0; 

  while(1) 

    { 

      if(EOC==1) 

        { 

          OE=1; 

          getdata=P0; 

          OE=0; 

          temp=getdata*235; 

          temp=temp/128; 

          i=5; 

          dispbuf[0]=10; 

          dispbuf[1]=10; 

          dispbuf[2]=10; 

          dispbuf[3]=10; 

          dispbuf[4]=10; 

          dispbuf[5]=0; 

          dispbuf[6]=0; 

          dispbuf[7]=0; 

          while(temp/10) 

            { 

              dispbuf[i]=temp%10; 

              temp=temp/10; 

              i++; 

            } 

          dispbuf[i]=temp;          

          ST=1; 

          ST=0; 

        } 

    } 

} 

  

void t0(void) interrupt 1 using 0 

{ 

  CLK=~CLK; 

} 

  

void t1(void) interrupt 3 using 0 

{ 

  TH1=(65536-4000)/256; 

  TL1=(65536-4000)%256; 

  P1=dispcode[dispbuf[dispcount]]; 

  P2=dispbitcode[dispcount]; 

  if(dispcount==7) 

    { 

      P1=P1 | 0x80; 

    } 

  dispcount++; 

  if(dispcount==8) 

    { 

      dispcount=0; 

    }  

} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -