找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1880|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)74HC595點(diǎn)陣數(shù)據(jù)傳輸有錯(cuò)誤

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

代碼和仿真都發(fā)上了
顯示1是正常的,其他的就開始亂了

這個(gè)是顯示1、2、3
  1. #include<reg51.h>
  2. #include "intrins.h"
  3. #include "char.h"
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. sbit ser=P0^3;//ser 14
  7. sbit sck=P0^4;//sck 11
  8. sbit rck=P0^5;//rck 12
  9. sbit rst=P3^0;//復(fù)位信號
  10. //==============================================================
  11. void delay(uint ii){uint i;for(i=0;i<ii;i++);}
  12. //==============================================================
  13. void SendByte(uchar cc)         //發(fā)送
  14. {
  15.         uchar c=cc;
  16.         int i;
  17.   //=串行發(fā)送=
  18.   for(i=0;i<8;i++)
  19.   {            sck=0;
  20.                   ser=c>>7;
  21.                 c<<=1;
  22.                 sck=1;
  23.            }
  24.            //=并行發(fā)送=
  25.            rck=1;
  26.            _nop_();
  27.        _nop_();
  28.            rck=0;
  29.            //=復(fù)位=
  30.            rst=0;
  31.                 _nop_();
  32.        _nop_();
  33.            rst=1;
  34.            }

  35. //==============================================================
  36. void PutChar(char ci) //分解
  37. {
  38.         int i,j;
  39.   for(i=0;i<200;i++)
  40.   for(j=0;j<6;j++)
  41.   {
  42.           P1=j;         
  43.           SendByte(vc[ci-0x20][j]); //ASCII
  44.         _nop_();
  45.     _nop_();
  46.         SendByte(0);
  47.   }
  48. }
  49. //=============================================================
  50. void PutStr(char *str)
  51. {int i=0;
  52. while(str[i]!=0)
  53. {
  54.          PutChar(str[i]);
  55.          i++;
  56. }

  57. }
  58. //============================================================
  59. void main()
  60. {
  61.         rck=0;
  62.   while(1){
  63.           PutStr("123");
  64.         
  65.   }
  66. }

復(fù)制代碼



1.zip (55.83 KB, 下載次數(shù): 8)




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

使用道具 舉報(bào)

沙發(fā)
ID:390416 發(fā)表于 2021-1-11 16:08 | 只看該作者
89單片機(jī)+四個(gè)74HC595的LED16x16點(diǎn)陣 程序源碼原理圖 你可以用我們的代碼
http://www.torrancerestoration.com/bbs/dpj-200961-1.html
回復(fù)

使用道具 舉報(bào)

板凳
ID:332444 發(fā)表于 2021-1-11 16:28 | 只看該作者
  1. void PutChar(char ci) //分解
  2. {
  3.         int i,j;
  4.   for(i=0;i<200;i++)
  5.   for(j=0;j<=6;j++)
  6.   {
  7.           P1=j;         
  8.           SendByte(vc[ci-0x20][j]); //ASCII
  9.         _nop_();
  10.     _nop_();
  11.         SendByte(0);
  12.   }
  13. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

地板
ID:836542 發(fā)表于 2021-1-11 17:03 | 只看該作者
回復(fù)

使用道具 舉報(bào)

5#
ID:824490 發(fā)表于 2021-1-11 17:06 | 只看該作者
595數(shù)據(jù)輸出口在上電后是隨機(jī)的,所以,你在上電后要做清除動作,即,送出0x00,多少個(gè)595就送多少個(gè)0x00
回復(fù)

使用道具 舉報(bào)

6#
ID:824490 發(fā)表于 2021-1-11 17:18 | 只看該作者
595的MR腳要接阻容復(fù)位或直接電源,OE要受控。你這電路不強(qiáng)壯。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表