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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4075|回復: 0
收起左側

機頂盒ct1642數碼管顯示測試

[復制鏈接]
ID:258566 發表于 2020-1-21 17:11 | 顯示全部樓層 |閱讀模式
今天測試一個中六九的面板顯示板,IC是ct1642 51hei圖片20200121165747.jpg IMG20200121165659.jpg
代碼從網上stm8移植過來.
好像不能一次鎖存多位并顯示多位,就是鎖存新的,忘記舊的.
請指正.
  1. #include <STC89C5xRC.H>

  2. #include "intrins.h"
  3. sbit CT_CLK=P1^1;
  4. sbit CT_DATA=P1^0;

  5. code char Lcd_tab[17]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E};//共陰極

  6. static void ct1642_send_data(unsigned char ct_dis_data, unsigned char ct_com)

  7. {

  8. unsigned char ct_addr;                   //存儲數碼管位置

  9. unsigned char i;

  10. switch(ct_com)

  11. {

  12. case 0: {ct_addr=0xef; ;break;}

  13. //顯示C1位數據 數碼管為共陰極,將要點亮的COM置0以顯示該COM



  14. case 1: {ct_addr=0xdf; break;} //顯示C2位數據  



  15. case 2: {ct_addr=0xbf; break;} //顯示C3位數據  

  16. case 3: {ct_addr=0x7f; break;} //顯示C4位數據     

  17. case 4: {ct_addr=0xff; break;}  //掃描鍵盤,關閉COM1  

  18. default:{ct_addr=0xff; ct_dis_data=0x00;break;}   

  19. }



  20. for(i=0;i<8;i++)                   //發送8位地址

  21. {

  22. CT_CLK=0 ;

  23.         if( (ct_addr<<i)&0x80)


  24. {

  25. CT_DATA=1;

  26. }

  27. else

  28. {

  29. CT_DATA=0;

  30. }

  31. CT_CLK=1;//上升沿輸出一位

  32. }



  33. CT_DATA=0;      //發送兩個空位,補足要發送的18位

  34. CT_CLK=0 ;

  35. _nop_();//此處根據單片機的指令周期而定

  36. CT_CLK=1;



  37. CT_DATA=0;

  38. CT_CLK=0 ;

  39. _nop_();

  40. CT_CLK=1;

  41. for(i=0;i<8;i++)  //發送8位數據

  42. {

  43. CT_CLK=0 ;

  44. if( (ct_dis_data<<i)&0x80)

  45. {

  46. CT_DATA=1;

  47. }

  48. else

  49. {

  50. CT_DATA=0;

  51. }

  52. CT_CLK=1;

  53. }

  54. CT_CLK=1; //輸出數據



  55. CT_DATA=0;

  56. _nop_();

  57. CT_DATA=1;





  58. CT_CLK=0 ;

  59. CT_DATA=0;

  60. _nop_();

  61. CT_DATA=1;
  62. CT_CLK=0;
  63. return;

  64. }


  65. void delay(unsigned char tme)
  66. {  unsigned char i;
  67.     i=tme;
  68.     while(tme--)while(i--);
  69. }
  70. void main(void)
  71. {  
  72.    CT_DATA=1;
  73.     CT_CLK=0;
  74.    
  75.     do
  76.     {ct1642_send_data(Lcd_tab[6],0);
  77.         //delay(100);
  78.     ct1642_send_data(Lcd_tab[5],1);
  79.          //delay(100);
  80.     ct1642_send_data(Lcd_tab[4],2);
  81.          //delay(100);
  82.        // while(1);
  83.     }while(1);
  84.    
  85. }
復制代碼




評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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