欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1827|回復: 1
打印 上一主題 下一主題
收起左側

數字電壓表c51

[復制鏈接]
跳轉到指定樓層
樓主
ID:350563 發表于 2018-6-12 19:26 來自觸屏版 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
基于單片機的數字電壓表設計C51原程序


#include  
sbit ST=P3^6;
sbit OE=P3^7;
sbit EOC=P3^2;
sbit ZLG7289_pinCS=P1^0;
sbit ZLG7289_pinCLK=P1^1;
sbit ZLG7289_pinDIO=P1^2;
unsigned char ZLG7289_Delay_t=4;
/*
宏定義:ZLG7289_ShortDelay()
功能:短延時
說明:延時ZLG7289_ShortDelay_t*2+8)個機器周期
*/
void ZLG7289_ShortDelay()
{
   unsigned char t=ZLG7289_Delay_t;
   while(--t!=0);
}
/*
宏定義:ZLG7289_LongDelay()
功能:長延時
說明:延時ZLG7289_LongDelay_t*12+8)個機器周期
*/
void ZLG7289_LongDelay()
{
    unsigned char t=ZLG7289_Delay_t*6;
    while(--t!=0);
}



黑龍江職業學院畢業論文(設計)
/*
函數:ZLG7289_SPI_Write()
功能:向SPI總線寫入1字節的數據
參數:
dat:要寫入的數據
*/
void ZLG7289_SPI_Write(char dat)
{
    unsigned char t=8;
    do
   {
    ZLG7289_pinDIO=(bit)(dat&0x80);
    dat<<=1;
    ZLG7289_pinCLK=1;
    ZLG7289_ShortDelay();
    ZLG7289_pinCLK=0;
    ZLG7289_ShortDelay();
    }while(--t!=0);
}
/*函數:ZLG7289_cmd()
功能:執行ZLG7289純指令
參數:
cmd:命令字
*/
void ZLG7289_cmd(char cmd)
{
   char sav=IE;
   IE&=0xFA;
   ZLG7289_pinCS=0;
   ZLG7289_LongDelay();
   ZLG7289_SPI_Write(cmd);
   ZLG7289_pinCS=1;
   ZLG7289_LongDelay();
   IE=sav;
}
//復位(清除)指令
void ZLG7289_Reset()
{
  ZLG7289_cmd(0xA4);
}
/*
函數:ZLG7289_cmd_dat()
功能:執行ZLG7289帶數據指令
參數:
cmd:命令字
dat:數據
*/
void ZLG7289_cmd_dat(char cmd,char dat)
{
         char sav=IE;
         IE&=0xFA;
         ZLG7289_pinCS=0;
         ZLG7289_LongDelay();
         ZLG7289_SPI_Write(cmd);
         ZLG7289_LongDelay();
         ZLG7289_SPI_Write(dat);
         ZLG7289_pinCS=1;
         ZLG7289_LongDelay();
         IE=sav;
}
/*
函數:ZLG7289_Download()
功能:下載數據
參數:
  mod=0:下載數據且按方式0譯碼
  mod=1:下載數據且按方式1譯碼
  mod=2:下載數據且按方式2譯碼
  x:數碼管編號(橫坐標),取值0~7
  dp=0:小數點不亮
  dp=1:小數點亮
  dat:要顯示的數據
  說明:
  譯碼方式的具體含義查參考數據手冊
*/
void ZLG7289_Download(unsigned char mod,char x, bit dp,char dat)
{
          code char ModDat[3]={0x80,0xC8,0x90};
          char d1;
          char d2;
          if(mod>2)mod=2;
          d1=ModDat[mod];
          x&=0x07;
          d1|=x;
          d2=dat&0x7F;
          if(dp)d2|=0x80;
          ZLG7289_cmd_dat(d1,d2);
}
/*
函數:ZLG7289_Init()
功能:ZLG7289初始化
參數:SPI總線的延時值設置,取值1-40(超出范圍可能導致錯誤)
說明:
t的取值可以參考以下公式:t>=5*f1/f2,其中f1表示89C51的
晶振頻率,f2表示ZLG7289的晶振頻率
*/
void ZLG7289_Init(unsigned char t)
{
    unsigned char x;
    //I/O口初始化
    ZLG7289_pinCS=1;
    ZLG7289_pinCLK=0;
    ZLG7289_pinDIO=1;
    //延時初始化
    ZLG7289_Delay_t=t;
    //點亮所有數碼管
    for(x=0;x<4;x++)
   {
      ZLG7289_Download(1,x,1,8);
   }
}
/***************************************************
***************主函數*******************************
****************************************************/
void main()
{
/*********程序初始化***********/
      unsigned long int sum;
      unsigned char gatdata;
      char i,j,x,outdat;
                int result;
      ST=1;
      OE=1;
      ZLG7289_Reset();
      ZLG7289_Init(4);

/*******初始化結束***************/
     while(1)
    {
                     sum=0;
           gatdata=0;
           for(i=0;i<=5;i++)
             {
              ST=0;
              ZLG7289_ShortDelay();
              ST=1;
              while(1)
                 if(EOC==0)
                   {
                     OE=0;
                     gatdata=P0;
                     OE=1;
                     sum=sum+gatdata;
                                                                      break;
                   }
             }
           result=(sum*1000)/255;
           for(j=0;j<=3;j++)
           {
            outdat=result%10;
            result=result/10;
            if(j==3) x=1;
            else x=0;
            ZLG7289_Download(1,j,x,outdat);
           }
                }
}
0.092.jpg
0.081.jpg
0.062.jpg

f
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:350563 發表于 2018-6-12 19:27 來自觸屏版 | 只看該作者
好好補補
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表