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

標(biāo)題: 關(guān)于單片機(jī)16*64點(diǎn)陣屏驅(qū)動(dòng)程序調(diào)試 [打印本頁(yè)]

作者: 長(zhǎng)垣土著    時(shí)間: 2021-10-11 11:24
標(biāo)題: 關(guān)于單片機(jī)16*64點(diǎn)陣屏驅(qū)動(dòng)程序調(diào)試
這是一塊64*16的點(diǎn)陣LED屏,STC11系列驅(qū)動(dòng)74HC245
245的五個(gè)輸出控制2顆hc138d來(lái)驅(qū)動(dòng)上-》下2行8*8點(diǎn)陣模塊的行顯示,高電平點(diǎn)亮。
245的三個(gè)輸出控制8顆hc595d來(lái)驅(qū)動(dòng)左-》右8列模塊的列顯示。
我程序直接行顯示固定死的情況下,列顯示給值0x55,對(duì)應(yīng)屏幕模塊應(yīng)該顯示:亮滅亮滅 亮滅亮滅的,但是為什么是圖中的樣子,只有第一個(gè)亮滅實(shí)現(xiàn)了,后邊全是滅的。求指教-------------
制作出來(lái)的實(shí)物圖如下:

單片機(jī)源程序如下:
  1. #include<reg52.h> //EN=HC138D的E1,E2必須置于低電平。D=HC138D的E3置于低電平上八行工作,置于高電平下八行工作。
  2. #include<intrins.h>
  3. typedef unsigned char u8;
  4. sbit A=P2^4;
  5. sbit Bb=P2^5;
  6. sbit C=P2^6;
  7. sbit D=P2^7;
  8. sbit EN=P0^7;
  9. sbit ST=P0^6;
  10. sbit CK=P1^7;
  11. sbit DATA=P1^6;

  12. void sendlie(dat)         //發(fā)送列數(shù)據(jù)函數(shù)
  13. {
  14.         u8 a;

  15.         for(a=0;a<8;a++)                 //發(fā)送8位數(shù)
  16.         {
  17.                                                                                                                                                       
  18.                 DATA = dat >> 7;                 //從最高位開始發(fā)送
  19.                 dat <<= 1;
  20.                 CK = 0;
  21.                 _nop_();
  22.                 _nop_();
  23.                 CK = 1;                         //發(fā)送時(shí)序
  24.             _nop_();
  25.                 _nop_();
  26.                 CK = 0;        
  27.         }

  28.         
  29. }
  30. void lieout()
  31. {
  32. ST = 0;
  33. _nop_();
  34. _nop_();
  35. ST = 1;
  36.         _nop_();
  37.         _nop_();
  38.         ST = 0;
  39. }
  40. /*******************************************************************************
  41. * 函 數(shù) 名       : main
  42. * 函數(shù)功能                 : 主函數(shù)
  43. * 輸    入       : 無(wú)
  44. * 輸    出             : 無(wú)
  45. *******************************************************************************/
  46. void main()
  47. {

  48. EN = 0; //使HC138d的E1,E2置低位
  49. D = 0;        //HC138D的E3置高位下八行工作,置低位上八行工作。
  50. A = 0;         //ABC發(fā)送行數(shù)據(jù)
  51. Bb = 0;
  52. C = 1;        
  53.         while(1)
  54.         {
  55.          
  56.          
  57.            sendlie(0xff);
  58.            sendlie(0xff);
  59.            sendlie(0x55);
  60.            sendlie(0xff);
  61.            sendlie(0xff);
  62.            sendlie(0x55);
  63.            sendlie(0xff);
  64.            sendlie(0xff);

  65.            lieout();
  66.            
  67.          
  68.         }               
  69. }
復(fù)制代碼






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1