標(biāo)題: 網(wǎng)上找的1637C H文件做的模塊化 TM1637 4LED模塊 0--f [打印本頁(yè)]

作者: zuiqf1978    時(shí)間: 2021-10-17 20:19
標(biāo)題: 網(wǎng)上找的1637C H文件做的模塊化 TM1637 4LED模塊 0--f
網(wǎng)上找的1637C  H文件做的模塊化  4LED模塊 0--f  STC15W408AS測(cè)試

單片機(jī)源程序如下:
  1. #include"1637.h"

  2. void delay_6us()
  3. {
  4.         _nop_();
  5. }                                                  

  6. //常規(guī)I2C時(shí)序
  7. void IIC_start(void)
  8. {
  9.          CLK = 1;
  10.          _nop_();
  11.          SDA = 1;
  12.          delay_6us();
  13.          SDA = 0;
  14.          _nop_();
  15.          CLK = 0;
  16. }

  17. void IIC_stop(void)
  18. {
  19.         CLK = 0;
  20.         _nop_();
  21.         SDA = 0;
  22.         _nop_();
  23.         CLK = 1;
  24.         delay_6us();
  25.         SDA = 1;

  26. }
  27. void IIC_ack(void)
  28. {

  29.         CLK = 0;
  30.         delay_6us();
  31.         while(SDA);
  32.         CLK = 1;
  33.         _nop_();
  34. }

  35. void IIC_Write_cmd(Byte cmd)  //寫一個(gè)字節(jié)
  36. {
  37.         Byte n;
  38.         IIC_start();
  39.         for(n=0;n<8;n++)
  40.         {
  41.                 CLK = 0;
  42.                 delay_6us();
  43.                 SDA = cmd&0x01;
  44.         /*        if(cmd&0x01)
  45.                 {
  46.                         SDA = 1;        
  47.                 }
  48.                 else
  49.                 {
  50.                         SDA = 0;
  51.                 }        */
  52.                 cmd>>=1;
  53.                 CLK = 1;
  54.                 delay_6us();               
  55.         }
  56. }

  57. Byte Keysacn()        //鍵盤掃描函數(shù)
  58. {
  59.         Byte n,key_value;
  60.         IIC_start();
  61.         IIC_Write_cmd(0x42);
  62.         IIC_ack();
  63.         SDA = 1;
  64.         for(n=0;n<8;n++)
  65.         {
  66.                 CLK = 0;
  67.                 delay_6us();
  68.                 key_value = key_value>>1;
  69.         //  key_value>>=1;
  70.                 CLK = 1;
  71.                 if(SDA)
  72.                 {
  73.                         key_value = key_value|0x80;
  74.                 }
  75.                 else
  76.                 {
  77.                         key_value = key_value|0x00;
  78.                 }
  79.                 delay_6us();
  80.                 delay_6us();
  81.                 delay_6us();
  82.                         
  83.         }
  84.         IIC_ack();
  85.         IIC_stop();         
  86.         return (key_value);
  87. }

  88. void Display(Byte dat)        //顯示函數(shù)
  89. {
  90.         Byte n;
  91.         IIC_start();
  92.         IIC_Write_cmd(0x40);
  93.         IIC_ack();
  94.         IIC_stop();
  95.         IIC_start();
  96.         IIC_Write_cmd(0xc1);
  97.         IIC_ack();
  98.         for(n=0;n<6;n++)
  99.         {
  100.                 IIC_Write_cmd(dat);
  101.                 IIC_ack();        
  102.         }
  103.         IIC_stop();
  104.         IIC_start();
  105.         IIC_Write_cmd(0x8f);
  106.         IIC_ack();
  107.         IIC_stop();        
  108. }

  109. void TM1637_Init()        //初始化函數(shù)
  110. {
  111.         IIC_start();
  112.         IIC_Write_cmd(0x8f);
  113.         IIC_ack();
  114.         //IIC_stop;
  115. }

復(fù)制代碼

代碼:
1637 0-f顯示 模塊化OK.rar (223.22 KB, 下載次數(shù): 18)







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