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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1712|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 区一区二区三在线观看 | 日韩精品一区二区三区中文字幕 | 天天拍夜夜爽 | 亚洲欧美一区二区在线观看 | 中国一级特黄真人毛片免费观看 | 99在线免费视频 | www国产成人免费观看视频,深夜成人网 | 日韩一区在线观看视频 | 国产精品久久久久久久久久久免费看 | 亚洲一区二区三区免费在线观看 | 热久久久| 欧美a级成人淫片免费看 | 精品国产精品国产偷麻豆 | heyzo在线| 久久精品国产久精国产 | 亚洲二区在线观看 | 日韩欧美在线一区 | 国产精品自拍视频 | 黄色精品 | 亚洲欧美一区二区三区1000 | 国产一区二区三区视频 | 久久成人18免费网站 | 久草院线 | 免费成人在线网站 | 欧洲精品一区 | 伊人中文字幕 | 欧美日韩国产精品一区 | 黄色片在线网站 | 亚洲1区| 国产精品视频导航 | 国产一在线 | 成人精品毛片 | 亚洲精品久久久久久宅男 | 操久久| 日韩久草 | 欧美一区二区三区大片 | 国产精品久久毛片av大全日韩 | 国产综合精品一区二区三区 | 久久国产高清 | www操操 | 国产精品中文在线 |