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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

pic12f675+74HC595驅動數碼管(求助)

[復制鏈接]
跳轉到指定樓層
樓主
ID:215984 發表于 2018-6-12 22:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
pic12f675與pic12f629兩種不同型號的單片機共用一個說明書,675比629多了數模轉換,功能要多一些,本人想利用675的數模轉換來設計制作一個顯示電壓、電流、電量的多功能表,首先在利用74HC595來驅動數碼管這一關就無法通過,但相同的程序用pic12f629則能夠順利通過,本人認為可能是對pic12f675的設置沒有對,特向高手們求助。以下是我編寫的程序:


#include<pic.h>  //pic12f629通過,但pic12f765沒有任何反應
__CONFIG(0x3F84);
//兩塊74HC595級聯,前一塊驅動段,后一塊驅動位,驅動的是共陰四位數碼管
//本程序依次驅動八位數碼管,顯示01234567,12345678,23456789,……,89AbCdEF,.....
#define SH_CP GPIO0  // 74HC595時鐘輸入
#define DS GPIO1  // 74HC595數據端口
#define ST_CP GPIO4  // 74HC595數據鎖存
#define uchar unsigned char
#define uint unsigned int
void delay(uint);
void xians(uchar);

const uchar LED[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7d,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//段選
const uchar WEI[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};  //位選

main()
{
uint x,y,z,m;
OPTION=0b10000000; //禁止弱上拉

WPU= 0x00; //關閉弱上拉

TRISIO=0; //IO 口做輸出

CMCON=0x3f; // 設置全部為普通數字IO口 關閉所有比較器

GPIO=0x00; //端口0 輸出低電平

while(1)
{
     for(x=0;x<17;x++)
   {  
     for(z=0;z<500;z++)
     {              
      for(y=0;y<8;y++)
      {  
      xians(WEI[y]);
      m=x+y;
      if(m<16);
       else m=m-16;
       xians(LED[m]);
      ST_CP=0;
       asm("NOP");
       asm("NOP");      
      ST_CP=1;
        asm("NOP");
        asm("NOP");
       ST_CP=0;
      }
     }
     delay(20);
  }   
}

}

void delay(uint x)  //短暫延時程序

{

uint a,b;

for(a=x;a>0;a--)

for(b=100;b>0;b--);

}
void xians(uchar udata)  //將數據寫入74HC164
{
  uchar i;
   for (i=0;i<8;i++)  
  {
    if(udata&0x80)
    {
      DS=1;
     SH_CP=0;
    asm("NOP");
    asm("NOP");
    SH_CP=1;
    udata = udata<<1;
    }
    else
    {
     DS=0;
    SH_CP=0;
    asm("NOP");
    asm("NOP");
    SH_CP=1;
    udata = udata<<1;
    }

  }
}

評分

參與人數 1黑幣 +5 收起 理由
源木求魚 + 5

查看全部評分

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

使用道具 舉報

沙發
ID:215984 發表于 2018-6-16 13:19 | 只看該作者
問題得到解決:在主程序main中設置
CMCON=0x07; // 關閉比較器,很重要,特別是低三位全部為1才能關閉比較器,使IO0和IO1為數字口。
ANSEL=0X0c;//將IO0(AN0)IO1(AN1)A兩個端口作為普通I/O口

也就是將兩個模數轉換復用端口中的模數功能關閉就OK了。
回復

使用道具 舉報

板凳
ID:352886 發表于 2018-6-16 15:57 | 只看該作者
同意
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜影院毛片 | 日本精品久久 | 91免费视频 | 二区国产 | 亚洲97| 激情视频网站 | 国产99免费视频 | 日韩一区二区三区在线看 | 亚洲va在线va天堂va狼色在线 | 亚洲视频免费在线观看 | 久久久国产精品一区 | 91精品国产91久久久久久最新 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 亚洲日韩中文字幕一区 | 国产成人免费 | 成人精品一区二区三区中文字幕 | 久久精品中文字幕 | 久久久久久久久久久久久久av | 不卡的av一区 | 国产精品久久av | 亚洲精品一区二区三区四区高清 | 日韩欧美视频免费在线观看 | 色播视频在线观看 | 蜜桃视频在线观看免费视频网站www | 日韩精品在线看 | 欧美日韩国产精品一区 | 久草综合在线视频 | 国产精品一区一区三区 | 国精产品一区二区三区 | 视频一区在线 | 精品美女视频在线观看免费软件 | 日韩一级电影免费观看 | 视频在线h | 久久国产婷婷国产香蕉 | 91在线精品视频 | 国产精品久久久久久吹潮日韩动画 | 一级aaaa毛片| 国产中文字幕av | 久久精品视频免费观看 | 国产成人在线观看免费 | 97人人超碰 |