久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

立即注冊 登錄
返回首頁

uid:79479的個人空間

日志

搞個畢業設計好頭痛

已有 599 次閱讀2015-5-10 00:30 |個人分類:編程

void mian() 
{
   init;  //LCD初始化
   clear_scree(0);//清屏
   show_hz()
   alam_bit=1;
   while(1)
   {
       show14X16(1,4,0,wen); //溫
       show14X16(1,4,15,du) ; //度
       show_float(2,2,12,Alarm[0]);
       show_float(2,2,12,Alarm[1]);
       show_float(2,2,12,Alarm[2]);
       show_float(2,2,12,Alarm[3]);
       my_alarm();
       my_plus()
       Temp_value[0]=readyreadtemp(0)
       my_delaynms(10)
       if((temp_value[0]>0)&&(temp_value[0]<128))
          show_digit(1,2,44,temp_value[0]); //測量值;
       my_delaynms(1);
       Temp_value[1]=readyreadtemp(1);
       my_delaynms(10);
       if((temp_value[0]>0)&&(temp_value[0]<128))
          show_digit(1,4,44,temp_value[1]); //測量值;
       my_delaynms(1);
       ADC_Value=A_D()
       ADC_float=((float)(ADC_Value*(Max-Min)))/225.0+Min
          show_float(1,6,38,a\ADC_float);
          EA
      }
 }


  #include<reg52.h>
  #define uint unsigned int
  sbit X15=P3^5
  sbit X16=P3^6
  sbit X17=P3^7
  unsigned char  A_D()
  {
     unsigned char i,dat;
     X15=1; //一個轉換周期開始
     X16=0 ;//為第一個脈沖作準備
     X15=0 ;//X15置0,片選有效
     X17=1 ;//X17置1,規定的起始信號
     X16=1 ;//第一個脈沖
     X16=0 ;//第一個脈沖的下降沿,此前X17必須是高電平
     X17=1 ;// X17置1,通道選擇信號
     X16=1 ;// 第二個脈沖,第二、三個脈沖下沉之前,DI必須跟別輸入兩位數據用于選擇通道,這里選通道CH0
     X16=0 ;//第二個脈沖下降沿
     X17=0 ;//DI置0,選擇通道0
     X16=1 ;//第三個脈沖
     X16=0 ;//第三個脈沖下降沿
     X17=1 ;//第三個脈沖下沉之后,輸入端X17失去作用,應置1
     X16=1 ;//第四個脈沖
     for(i=0;i<8;i++) //高位在前
      {
        X16=1; //第四個脈沖
        X16=0;
        dat<< =1; //將下面儲存的低位數據向右移
        dat|=(unsigned char)X17; //將輸出數據X17通過或運算儲存在dat最低位
      }
       X15=1, //片選無效
       return dat; //將讀出的數據返回
 }
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#include,<reg52h>
#ifndef_DS18B20_h
#define_DS18B20_h
Unsigned char readyreadtemp(bit flag)
Void delay_us(int n)
Bit init_DS18B20(bit flag)
Sbit X10=P3^0
Sbit X11=P3^1
Void delay_us(int n)
{
  Whle(t--)
}
Void init_DS18B20(bit flag)
 {
  Uchar n
  If(flag)
  {
       X10=1
       Delay(8)
       X10=0
       Delay(80)
       X10=1
       Delay(8)
       N=X10
       Delay(4)
    }
    Else
    {
       X11=1
       Delay(8)
       X11=0
       Delay(80)
       X11=1
       Delay(8)
       X11=0
       Delay(4)
    }
  }
  Void wrote_byte(bit flag,uchar dat)
  {
  Uchar i
  If(flag)
  {
  X10=1
  _nop_()
  Fol(i=0;i<8;i++)
    {
        X10=0
        X10=dat&0x01
        Delay(4)
        X10=1
        Dat>>=1
   }
 }
 Else
 {
      X11=1
      _ nop_()
      Fol(i=0;i<8;i++)
      {
        X11=0
        X11=dat&0x01
        Delay(4)
        X11=1
        Dat>>=1
     }
   }
   Delay(4)
}
Uchar read_byte(bit flag)
{
   Uchar i,value
  If(flag)
   {
      X10=1
    _nop_()
    Fol(i=0;i<8;i++)
    {
          X10=0
          Value>>=1
          X10=1
          _nop_()
          If(X10)
            Value|=0x80
          Delay(4)
        }
      }
      Else
      {
         X10=1
    _nop_()
    Fol(i=0;i<8;i++)
    {
          X11=0
          Value>>=1
          X11=1
          _nop_()
          If(X11)
            Value|=0x80
          Delay(4)
        }
      }
      Return value
}
uchar readyreadtemp(bit flag)
{
  Uchar a,b
  Uchar temp=0
  Init_DS18B20(flag)
  Write_byte(flag,0xcc)
  Write_byte(flag,0x44)
  Init_DS18B20(flag)
  Wrte_byte(flte,0xcc)
  Wrte_byte(flte,0xbe)
  A=read_byte(flag)
  B=read_byte(flag)
  B<<=4
  B+=(a&0xf0)>>4
  Temp=b
  Return temp
}  
#include<reg52.h>
#include<intrins.h>
#include <string.h >
#include <stdio.h>

#include “DS18B20.h”
#include “font.h”
#define uchar unsigned char
#define uint unsigned int
#define max 15.0
#define min 0.0
#include<reg52.h>
#include<intrins.h>
#include<stdio.h>
#include<string.h>
#include”my_char.h”
#define uchar unsigned char
#define uint unsigned int
Extern void init()
Extern void show 16X16(uchar screen,uchar page,uchar columm,uchar p[])
Extern void show 14X16(uchar screen,uchar page,uchar columm,uchar p[])
Extern void show 6X16(uchar screen,uchar page,uchar columm,uchar my_dat)
Extern uchar show_digit(uchar screen,uchar page,uchar columm,float num)
Extern void clear_screen(uchar screen)
Extern void set_line(uchar line)

Extern uchar show_freq(uchar screen,uchar page,uchar columm,float num)
Extern void show_float(uchar screen,uchar page,uchar columm,float num)
Extern unsigned charA_D(void)

Sbit X21=P2^0
Sbit X22=P2^1
Sbit X23=P2^2
Sbit X24=P2^3
Sbit X25=P2^4
Const unsigned char code zhi[]
{
0x20,0x10,0xFC,0x03,0x04,0xF4,0x54,0x54,0x5F,0x54,0x54,0xF4,0x04,0x00,0x00,0x00,0x3F,0x00,0x20,0x3F,0x25,0x25,0x25,0x25,0x3F,0x20,0x00
}
Const unsigned char code ce[]=
{
0x10,0x11,0x84,0x00,0xFE,0x02,0xFA,0x02,0xFE,0x00,0xF8,0x00,0xFF,0x00,0x18,0x06,0x01,0x20,0x11,0x0C,0x03,0x04,0x19,0x00,0x23,0x20,0x3F,0x00
}
Const unsigned char code liang[]=
{
0x20,0x20,0xEF,0xA9,0xA9,0x,0xAB,0xED,0xA9,0xA9,0xA9,0xEF,0x20,0x20,0x00,0x20,0x28,0x2B,0x2A,0x2A,0x2A,0x3F,0x2A,0x2A,0x2A,0x2B,0x28,0x20,0x00
}
Const unsigned char code my_char[][16]
{
{0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00}
{0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00}
{0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00}
{0x08,0x04,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00}
{0x40,0xB0,0x88,0xFC,0x80,0x00,0x00,0x00,0x00,0x03,0x02,0x00}
{0x3C,0x24,0x24,0x24,0xC4,0x00,0x01,0x02,0x02,0x02,0x01,0x00}
{0xF8,0x24,0x24,0x2C,0xC0,0x00,0x01,0x02,0x02,0x02,0x01,0x00}
{0x0C,0x04,0xE4,0x1C,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00}
{0xD8,0x24,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00}
{0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x03,0x02,0x02,0x01,0x00}
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00}
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
}
Uchar temp_value[2]
Void my_delaynms(uint n)
{
   Uint i=0,j=0
   For(i=0;i<100;i++)
   For(j=0;j<n;j++)
}

Void show_hz(void)
{
      Set_line(0)
      Show14X16(1,0,21,ce)
      Show14X16(1,0,35,liang)
      Show14X16(1,0,49,zhi)
      Show14X16(2,0,10,she)
      Show14X16(2,0,24,ding)
      Show14X16(2,0,38,zhi)
      Show14X16(1,2,0,wen)
      Show14X16(1,2,15,du)
      Show14X16(1,6,0,ya)
      Show14X16(1,6,15,li)
      Show6X16(1,2,31,`1`)
      Show6X16(1,4,31,`2`)
}
Int count=0,timecount=0,s_count
Bit time_flag=0
Uint ADC_value=0
Float ADC_float
Float alarm[4]={70.0,70.0,0.4,10.0}
Sbit lalrm_bit=P3^3
Sbit stop_bit=P3^4
Void my_alaem(void)
{
   If((temp_value[0]>alarm[0])||(ADC_Float>Alarm[3]))
   {
        Lalrm_bit=0
        Stop_bit=1
}
Else
   Alarm_bit=1
If(ADC_Float<Alarm[2])
    Stop_bit=0
}
Sbit key_up1=P1^0
Sbit key_down1=P1^1
Sbit key_up2=P1^2
Sbit key_down2=P1^2
Sbit key_up3=P1^4
Sbit key_down3=P1^5
Sbit key_up4=P1^6
Sbit key_down4=P1^7
Void my_plus(void)
{
   If(key_up1==0)
       Alarm[0]+=1.0
   If(key_dowm1==0)
       Alarm[0]-=1.0
   If(key_up2==0)
       Alarm[1]+=1.0
   If(key_dowm2==0)
       Alarm[1]-=1.0
   If(key_up3==0)
       Alarm[2]+=0.1
   If(key_dowm3==0)
       Alarm[2]-=0.1
   If(key_up4==0)
       Alarm[3]+=0.1
   If(key_dowm4==0)
       Alarm[3]-=0.1
}
Void busy()
{
  P0=0X00
  X23=0
  X24=0
  X25=1
  While(X23&0X00)
  X25=0
}
Void wcmd(uchar cmd)
{
   Busy()
   X25=0
   X24=0
   X39=cmd
   X25=1
   _nop_()
   _nop_()
   X25=0
}
Vpid wdata(uchar dat)
{
  Busy()
  X23=1
  X24=0
  X39=dat
  X25=1
   _nop_()
   _nop_()
   X25=0
   }
  
   Void sset_page(uchar page)
   {
      Page=0xb8|page
      Wcmd(page)
}

Void set_line(line)
Wcmd(line)
}

Void set_column(uchar column)
{
   Column=column&0x3f
   Column=0x40|column
   Wcmd(column)
}
Void set_onoff(uchar onoff)
{
    Onoff|=0x3e
    Wcmd(omoff)
}
Void select_screen(uchar screen)
{
    Switch(screen)
    {
        Case0:X21=0;X22=0;break
       Case1:X21=0;X22=1;break
       Case2:X21=1;X22=0;break
       Default:break
   }
}
Void clear_screen(uchar screen)
{
   Uchar i,j
   Select_screen(screen)
   For(i=0;i<8;i++)
   {
       Set_page(i)
       Set_column(0)
       For(j=0;j<64;j++)
          Wdata(0x00)
    }
}
Void init
{
   Busy()
   Select_screen(0)
   Set_onoff(0)
   Select_screen(0)
   Set_onoff(1)
   Select_screen(1)
   Clear_onoff(0)
   Set_line(0)
   Wcmd(0x30)
   Wcmd(0x0c)
   Wcmd(0x06)
    Wcmd(0x01)
 Void show16X16(uchar screen,uchar page,uchar column,uchar p[])
 {
   Uchar i
   Select_screen(screen)
   Set_page(page)
   Set_column(column)
   For(i=0;i<16;i++)
       Wdata(p[i])
  
   Set_page(page+1)
   Set_column(column)
   For(i=0;i<16;i++)
           Wdata(p[i+16])
     }
     
     Void show14X16(uchar screen,uchar page,uchar column,uchar p[])
     {
        Uchar i
    Select_screen(screen)
    Set_page(page)
    Set_column(column)
    For(i=0;i<14;i++)
       Wdata(p[i])
  
   Set_page(page+1)
   Set_column(column)
   For(i=0;i<14;i++)
           Wdata(p[i+14])
     }
     Void show6X16(uchar screen,uchar page,uchar column,uchar my_dat)
{
    Uchar i,num=0
    If((my_day>=0x30)&(my_dat<=0x39))
        Num=(my_day-0x30)
    Else if(my_dat==’.’)
        Num=10
    Else
        Num=11
    Select_screen(screen)
    Set_page(page)
    Set_column(column)
    For(i=0;i<6;i++)
         Wdata(my_char[num][i])
    Set_page(page+1)
    Set_column(column)
    For(i=0;i<6;i++)
         Wdata(my_char[num][i+6])
}

Void show6X16_str(uchar screen,uchar page,uchar column,uchar *str)
{
   Uchat i=0
   For(i=0;str[i])!=’\0’;i++)
   {
        Show6X16(screen,page,(column+7*i),str[i])
    }
}
Uchar show_digit(uchar screen,uchar page,uchar column,float num)
{
   Uchar temp[10]
   Sprintf(temp,”%d\n”,(uint)num)
   Show6X16_str(screen,page,column,temp)
   Retun 1
}
Uchar show_freq(uchar screen,uchar page,uchar column,float num)
{
    Uchar temp[10]
    Sprintf(temp,”%d\n”,(uint)num)
    Show6X16_str(screen,page,column,temp)
    Retun 1
Uchar show_float(uchar screen,uchar page,uchar column,float num)
{
    Uchar temp[10]
    Sprintf(temp,”%d\n”,(uint)num)
    Show6X16_str(screen,page,column,temp_str)
  }



這個程序有什么問題可以幫我解決嗎


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 午夜男人免费视频 | 日本高清不卡视频 | www.久久久久久久久久久久 | 我想看一级黄色毛片 | 91精品国产高清一区二区三区 | 99九九久久 | 日本精品一区二区三区四区 | 龙珠z在线观看 | 国产激情一区二区三区 | 日韩在线免费视频 | 国产成人jvid在线播放 | 手机在线观看 | 91精品一区| 国产精品高清一区二区三区 | 国产视频福利一区 | 伦理一区二区 | 三级免费 | 波多野吉衣在线播放 | 水蜜桃久久夜色精品一区 | 国产精品不卡视频 | 亚洲高清在线 | 久久夜色精品国产 | 男女那个视频 | 日韩欧美成人一区二区三区 | 国产一区二区成人 | 91麻豆蜜桃一区二区三区 | 国产午夜精品久久久久免费视高清 | 国产精品视频不卡 | 成人国产精品久久 | 成人午夜免费福利视频 | 免费黄色的视频 | 亚洲国产成人一区二区 | 国产清纯白嫩初高生在线播放视频 | 亚洲视频欧美视频 | 伊人超碰 | av在线免费播放 | 欧美在线观看免费观看视频 | 成人三级视频 | 欧美性久久 | 国产精品一区二区av | 精品一区国产 |