• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 思想汇报
  • 发言讲话稿
  • 演讲稿
  • 申请书
  • 读后感
  • 报告材料
  • 策划方案
  • 当前位置: 写作资料库 > 其他范文 > 正文

    2021电气自动化(单片机方面)毕业论文

    时间:2021-03-07 11:14:58 来源:写作资料库 本文已影响 写作资料库手机站

     {

     ucharj;

     for(j=0;j<8;j++)

     {

     PORTB=1<<j;

     if(Flag)PORTD=fuhao1[j];

     elsePORTD=fuhao0[j];

     DelayMS(1);

     PORTB=0x00;

     PORTD=0xff;

     }

     TCNT0=0x00;// 重新开始

     }

     voidDis_Init(void)

     {

     uchari;

     DDRC=0xff;

     DDRA=0xff;

     DDRD=0xff;

     PORTC=0xf0;

     for(i=0;i<10;i++)

     {

     PORTA=DISCODE[9-i];

     DelayMS(100);

     }

     TIMSK=0x01;

     TCNT0=0x00;

     SREG=0x80;

     TCCR0=0x04;//512 分频

     }

     voidDis_Data(uchardisdata)

     {

     chardisbuf[4],i,j;

     SREG=0x00;

     disbuf[0]=disdata/100;

     disbuf[1]=(disdata/10)%10;

     disbuf[2]=disdata%10;

     disbuf[3]=Point;

     for(i=0;i<4;i++)

     {

     PORTC=order[i];

     PORTA=DISCODE[disbuf[i]];

     if(i==2)PORTA|=0x80;// 显示小数点

     DelayMS(2);

     PORTA=0x00;

     DelayMS(1);

     }

     SREG=0x80;

     }

     voidgettemp(void)

     {

     chartemph=0,templ=0,TempL=0;

     while(Check18B20());// 验证初始化成功

     Write18B20(0xcc);

     Write18B20(0x44); // 启动转换

     //DelayMS(500); //750MS

     while(Check18B20());// 成功

     Write18B20(0xcc);

     Write18B20(0xbe); //

     读取温度值

     templ=Read18B20();

     temph=Read18B20();

     while(Check18B20());

     Temp=(templ>>4)|(temph<<4);

     TempL=templ&0x0c;// 小数位

     Point=(TempL>>3)*5+((TempL>>2)&0x01)*2;

     Flag=!(Temp&0x80);

     }

     voidmain(void)

     {

     Dis_Init();

     while(1)

     {

     gettemp();

     Dis_Data(Temp);

     }