找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5568|回復: 2
打印 上一主題 下一主題
收起左側(cè)

為什么只能讓點陣一半消隱

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:43591 發(fā)表于 2012-8-3 01:38 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式

#include<reg52.h>
#define uint unsigned int 
#define uchar unsigned char
sbit cp=P2^4;     //74hc164芯片的脈沖端
sbit dsb=P2^5;    //74hc164芯片的數(shù)據(jù)輸入端
sbit wei=P2^7;
sbit du=P2^6;
uchar code table[]={0xef,0x01,0x6d,0x6d,0x01,0xef,0xef,0xef};    //列值,HC573
uchar code sheet[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};    //行值 HC164
/************************************************************************************************/
void delay_xms(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=125;y>0;y--);      //12MHz下時間為1002us=1.002ms  //y=115時,11.0592MHz
}                //時間為1.00044ms
/***********************************************************************************************/
void shift(uchar temp)
{
 uint i;
 for(i=8;i>0;i--)
  {
   dsb=temp&0x80;
   cp=0;
   cp=1;
   temp<<=1;    //74hc164同步移位首先移到D0位
  }
}
/************************************************************************************************/
/***********************************************************************************************/
void main()
{
 uint j;
 wei=1;
 P0=0xff;
 wei=0;
 while(1)
 {
  for(j=0;j<8;j++)
   {
     du=1;
     P0=table[j];        
     du=0;
     shift(sheet[j]);     
     delay_xms(1); 
     du=1;         P0=0xff;
     du=0; 
         shift(0x00);  //順序反了也不能消隱
        }
     }
}  
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

板凳
ID:43591 發(fā)表于 2012-8-3 20:36 | 只看該作者
你調(diào)試可以嗎?
回復

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2012-8-3 01:44 | 只看該作者
一半消隱?我先拿到板子上試試了再回帖
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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