wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

STC32G12K128屠龍刀+FT24C256A+MAX7219

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1091140 發(fā)表于 2025-11-11 21:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
最近開始折騰STC32G12K128
買了塊屠龍刀回來,手頭有IIC的存儲(chǔ)芯片F(xiàn)T24C256A

今天我們目的是使用STC的USB-CDC功能,在存儲(chǔ)芯片上寫入8個(gè)數(shù)值后讀取出來,在數(shù)碼管上顯示,同時(shí)

要打印到PC機(jī)的串口(不用普通串口,用STC-USB-CDC串口)

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

使用道具 舉報(bào)

12#
無效樓層,該帖已經(jīng)被刪除
11#
ID:1064915 發(fā)表于 2025-11-13 08:27 | 只看該作者
c251如何安裝?
回復(fù)

使用道具 舉報(bào)

10#
無效樓層,該帖已經(jīng)被刪除
9#
ID:1091140 發(fā)表于 2025-11-11 22:01 | 只看該作者
歡迎大家多交流
回復(fù)

使用道具 舉報(bào)

8#
ID:1091140 發(fā)表于 2025-11-11 22:00 | 只看該作者
最后我把程序打包,壓縮發(fā)上來:


STC32G IIC256 MAX7219.zip

426.48 KB, 下載次數(shù): 0, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

7#
ID:1091140 發(fā)表于 2025-11-11 21:56 | 只看該作者
器件很簡單:

STC32G12K128 屠龍刀1塊,MAX7219  8位數(shù)碼管1個(gè) AT24C256 IIC 存儲(chǔ)芯片一塊

編譯環(huán)境 :256

μVision V5.14.2

CKeil_v5\C251BIN C251.exe V5.60.0.0
A251.exe V4.69.13.0
L251.exe V4.66.93.0LIB251.exe OH251.exe S251.DLL DCORE51.DLL V4.30.1.0V1.47.0.0
V3.129.0.0
V2.81.6.0

回復(fù)

使用道具 舉報(bào)

6#
ID:1091140 發(fā)表于 2025-11-11 21:52 | 只看該作者
接著是MAX7219.h
  1. #ifndef __MAX7219_H__
  2. #define __MAX7219_H__

  3. #include <STC32G.h>

  4. sbit CLK = P6^4;                   //MAX7219串行時(shí)鐘CLK   
  5. sbit CS = P6^5;                          //MAX7219片選CS                 
  6. sbit DIN = P6^6;                   //MAX7219串行數(shù)據(jù)DIN     


  7. #define DECODE_MODE  0x09   //譯碼控制寄存器
  8. #define INTENSITY    0x0A   //亮度控制寄存器,有16級(jí)可選擇,用于設(shè)置LED的顯示亮度,從0xX0~0xXF
  9. #define SCAN_LIMIT   0x0B   //掃描界限寄存器
  10. #define SHUT_DOWN    0x0C   //關(guān)斷模式寄存器
  11. #define DISPLAY_TEST 0x0F   //測試控制寄存器     

  12. void Write7219(unsigned char address,unsigned char dat);
  13. void Initial(void);

  14. #endif
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

5#
ID:1091140 發(fā)表于 2025-11-11 21:51 | 只看該作者
再看MAX7219.c

  1. #include "MAX7219.h"
  2. #include "config.h"

  3. //地址、數(shù)據(jù)發(fā)送子程序
  4. void Write7219(unsigned char address,unsigned char dat)
  5. {  
  6.     unsigned char i;
  7.     CS=0;                       //拉低片選線,選中器件
  8.     //發(fā)送地址
  9.     for (i=0;i<8;i++)           //移位循環(huán)8次            
  10.     {   
  11.        CLK=0;                   //清零時(shí)鐘總線
  12.        DIN=(bit)(address&0x80); //每次取高字節(jié)     
  13.        address<<=1;             //左移一位
  14.        CLK=1;                   //時(shí)鐘上升沿,發(fā)送地址
  15.     }
  16.     //發(fā)送數(shù)據(jù)
  17.     for (i=0;i<8;i++)              
  18.     {  
  19.        CLK=0;
  20.        DIN=(bit)(dat&0x80);   
  21.        dat<<=1;
  22.        CLK=1;                  //時(shí)鐘上升沿,發(fā)送數(shù)據(jù)
  23.     }
  24.     CS=1;                      //發(fā)送結(jié)束,上升沿鎖存數(shù)據(jù)                     
  25. }
  26. //MAX7219初始化,設(shè)置MAX7219內(nèi)部的控制寄存器
  27. void Initial(void)               
  28. {
  29.     Write7219(SHUT_DOWN,0x01);         //開啟正常工作模式(0xX1)
  30.     Write7219(DISPLAY_TEST,0x00);      //選擇工作模式(0xX0)
  31.     Write7219(DECODE_MODE,0xff);       //選用全譯碼模式
  32.     Write7219(SCAN_LIMIT,0x07);        //8只LED全用
  33.     Write7219(INTENSITY,0x02);         //設(shè)置初始亮度,共有16級(jí)可選擇,用于設(shè)置SMG的顯示亮度,從0x00~0x0F
  34. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

地板
ID:1091140 發(fā)表于 2025-11-11 21:50 | 只看該作者
接著是IIC.h
  1. //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
  2. ////////////////////////////////////////
  3. // 在此添加用戶文件頭說明信息  
  4. // 文件名稱: i2c.h
  5. ////////////////////////////////////////
  6. //<<AICUBE_USER_HEADER_REMARK_END>>


  7. #ifndef __I2C_H__
  8. #define __I2C_H__


  9. //<<AICUBE_USER_DEFINE_BEGIN>>
  10. // 在此添加用戶宏定義
  11. #define SLAW    0xA0                                        // IIC地址+寫 1010 0000          0xA0   (A2=0,A1=0,A0=0)
  12. #define SLAR    0xA1                                        // IIC地址+讀 1010 0001             0xA1        (A2=0,A1=0,A0=0)
  13. //<<AICUBE_USER_DEFINE_END>>


  14. void I2C_Init(void);
  15. void I2C_MasterWait(void);
  16. void I2C_MasterStart(void);
  17. void I2C_MasterStop(void);
  18. BOOL I2C_MasterSendByte(uint8_t dat);
  19. uint8_t I2C_MasterReadByte(BOOL ack);



  20. //<<AICUBE_USER_EXTERNAL_DECLARE_BEGIN>>
  21. // 在此添加用戶外部函數(shù)和外部變量聲明
  22. extern  u8 dat;
  23. void IIC_Write1Gbyte(u8 addrH,u8 addrL, u8 dat);   //寫入一個(gè)字節(jié)
  24. void I2C_MasterRead1GByte(u8 addrH,u8 addrL);
  25. void IIC_Write_NByte(u8 addrH,u8 addrL, u8 *p, u8 number); /*  WordAddress,1st Data Address,2nd Data
  26. Address,Byte lenth 在芯片addrH+addrL開始的地址里寫入p的內(nèi)容,長度是number個(gè)字節(jié),F(xiàn)0=0,right, F0=1,error */
  27. void IIC_Read_NGByte(u8 addrH, u8 addrL, u8 *p, u8 number);  //WordAddress,1st Data Address,2nd Data Address,Byte lenth   

  28. //<<AICUBE_USER_EXTERNAL_DECLARE_END>>


  29. #endif
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

板凳
ID:1091140 發(fā)表于 2025-11-11 21:48 | 只看該作者
接著看IIC.C
  1. //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
  2. ////////////////////////////////////////
  3. // 在此添加用戶文件頭說明信息  
  4. // 文件名稱: i2c.c
  5. // 文件描述:
  6. // 文件版本: V1.0
  7. // 修改記錄:
  8. //   1. (2025-11-06) 創(chuàng)建文件
  9. ////////////////////////////////////////
  10. //<<AICUBE_USER_HEADER_REMARK_END>>


  11. #include "config.h"


  12. //<<AICUBE_USER_INCLUDE_BEGIN>>
  13. // 在此添加用戶頭文件包含
  14. #include "i2c.h"
  15. //<<AICUBE_USER_INCLUDE_END>>


  16. //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
  17. // 在此添加用戶全局變量定義、用戶宏定義以及函數(shù)聲明
  18. bit zjyd_ASK;   //zjyd_ASK=0 就是ASK zjyd_ASK=1 就是NASK
  19. u8 dat;
  20. //<<AICUBE_USER_GLOBAL_DEFINE_END>>



  21. ////////////////////////////////////////
  22. // I2C初始化函數(shù)
  23. // 入口參數(shù): 無
  24. // 函數(shù)返回: 無
  25. ////////////////////////////////////////
  26. void I2C_Init(void)
  27. {
  28.     I2C_SwitchP2425();                  //選擇I2C數(shù)據(jù)口: SCL(P2.5), SDA(P2.4)

  29.     I2C_MasterMode();                   //設(shè)置I2C為主機(jī)模式
  30.     I2C_SetClockDivider(60);            //設(shè)置I2C為主機(jī)模式時(shí)鐘

  31.     I2C_Enable();                       //使能I2C功能

  32.     //<<AICUBE_USER_I2C_INITIAL_BEGIN>>
  33.     // 在此添加用戶初始化代碼  
  34.     //<<AICUBE_USER_I2C_INITIAL_END>>
  35. }

  36. ////////////////////////////////////////
  37. // 主機(jī)模式等待命令完成
  38. // 入口參數(shù): 無
  39. // 函數(shù)返回: 無
  40. ////////////////////////////////////////
  41. void I2C_MasterWait(void)
  42. {
  43.     while (!I2C_CheckMasterFlag());     //等待完成標(biāo)志
  44.     I2C_ClearMasterFlag();              //清除完成標(biāo)志
  45.     I2C_Idle();                         //恢復(fù)IDLE狀態(tài)
  46. }

  47. ////////////////////////////////////////
  48. // 主機(jī)模式發(fā)送起始信號(hào)
  49. // 入口參數(shù): 無
  50. // 函數(shù)返回: 無
  51. ////////////////////////////////////////
  52. void I2C_MasterStart(void)
  53. {
  54.     I2C_Start();                        //觸發(fā)主機(jī)模式起始命令
  55.     I2C_MasterWait();                   //等待命令完成
  56. }

  57. ////////////////////////////////////////
  58. // 主機(jī)模式發(fā)送停止信號(hào)
  59. // 入口參數(shù): 無
  60. // 函數(shù)返回: 無
  61. ////////////////////////////////////////
  62. void I2C_MasterStop(void)
  63. {
  64.     I2C_Stop();                         //觸發(fā)主機(jī)模式停止命令
  65.     I2C_MasterWait();                   //等待命令完成
  66. }

  67. ////////////////////////////////////////
  68. // 主機(jī)模式發(fā)送1字節(jié)數(shù)據(jù)
  69. // 入口參數(shù): dat (待發(fā)送的字節(jié)數(shù)據(jù))
  70. // 函數(shù)返回: 0   (接收的應(yīng)答信號(hào)為ACK)
  71. //           1   (接收的應(yīng)答信號(hào)為NAK)
  72. ////////////////////////////////////////
  73. BOOL I2C_MasterSendByte(uint8_t dat)
  74. {
  75.     I2C_WriteData(dat);                 //將數(shù)據(jù)寫入I2C數(shù)據(jù)寄存器
  76.     I2C_SendData();                     //觸發(fā)主機(jī)模式寫數(shù)據(jù)命令
  77.     I2C_MasterWait();                   //等待命令完成
  78.     I2C_RecvACK();                      //觸發(fā)主機(jī)模式接收應(yīng)答命令
  79.     I2C_MasterWait();                   //等待命令完成

  80.     return I2C_MasterReadACK();         //讀取并返回應(yīng)答信號(hào)
  81. }

  82. ////////////////////////////////////////
  83. // 主機(jī)模式接收1字節(jié)數(shù)據(jù)
  84. // 入口參數(shù): ack (待發(fā)送的應(yīng)答信號(hào))
  85. // 函數(shù)返回:     (接收的字節(jié)數(shù)據(jù))
  86. ////////////////////////////////////////
  87. uint8_t I2C_MasterReadByte(BOOL ack)
  88. {
  89.     uint8_t dat;

  90.     I2C_RecvData();                     //觸發(fā)主機(jī)模式讀數(shù)據(jù)命令
  91.     I2C_MasterWait();                   //等待命令完成
  92.     dat = I2C_ReadData();               //讀取接收的數(shù)據(jù)
  93.     if (!ack)
  94.         I2C_MasterSetACK();             //將ACK數(shù)據(jù)寫入寄存器
  95.     else
  96.         I2C_MasterSetNAK();             //將NAK數(shù)據(jù)寫入寄存器
  97.     I2C_SendACK();                      //觸發(fā)主機(jī)模式發(fā)送應(yīng)答命令
  98.     I2C_MasterWait();                   //等待命令完成

  99.     return dat;                         //返回接收的數(shù)據(jù)
  100. }



  101. //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
  102. // 在此添加用戶函數(shù)實(shí)現(xiàn)代碼


  103. //存儲(chǔ)地址超過2K的,要用16位地址
  104. ////////////////////////////////////////
  105. // 主機(jī)模式向IIC_24c256寫入1字節(jié)數(shù)據(jù)
  106. // 入口參數(shù): addrH(地址高8位),addrL(地址低8位),dat (待發(fā)送的1字節(jié)數(shù)據(jù))
  107. // 函數(shù)返回:無
  108. //         
  109. ////////////////////////////////////////
  110. void IIC_Write1Gbyte(u8 addrH,u8 addrL, u8 dat)   //寫入一個(gè)字節(jié)
  111. {
  112.         I2C_MasterStart();                         // START
  113.         zjyd_ASK = I2C_MasterSendByte(SLAW);       //發(fā)送從設(shè)備地址+寫
  114.        
  115.         if(!zjyd_ASK)                              // 收到ASK就發(fā)送AT24C256地址高8位
  116.         {
  117.                 zjyd_ASK = I2C_MasterSendByte(addrH);  //寫存儲(chǔ)地址高8位

  118.                 if(!zjyd_ASK)                           // 收到ASK就發(fā)送AT24C256地址低8位
  119.                 {
  120.                 zjyd_ASK = I2C_MasterSendByte(addrL);   //寫存儲(chǔ)地址低8位       
  121.                         if(!zjyd_ASK)                              // 收到ASK就向AT24C256寫1字節(jié)數(shù)據(jù)
  122.                         {
  123.                         zjyd_ASK = I2C_MasterSendByte(dat);   //寫1字節(jié)數(shù)據(jù)       
  124.                         }
  125.                         if(zjyd_ASK)                        //應(yīng)答是NASK,就中止
  126.                         return;
  127.                         I2C_MasterStop();                                 //發(fā)送停止命令
  128.                 }
  129.         }
  130.        
  131. }

  132. ////////////////////////////////////////
  133. // 主機(jī)模式讀取1字節(jié)數(shù)據(jù)
  134. // 入口參數(shù): addrH(地址高8位),addrL(地址低8位),ack (待發(fā)送的應(yīng)答信號(hào))
  135. // 函數(shù)返回:     (接收的字節(jié)數(shù)據(jù))
  136. ////////////////////////////////////////
  137. void I2C_MasterRead1GByte(u8 addrH,u8 addrL)
  138. {

  139.        
  140.         I2C_MasterStart();                         // START
  141.         zjyd_ASK = I2C_MasterSendByte(SLAW);       //發(fā)送從設(shè)備地址+寫
  142.        
  143.         if(!zjyd_ASK)                              // 收到ASK就發(fā)送AT24C256地址高8位
  144.         {
  145.                 zjyd_ASK = I2C_MasterSendByte(addrH);  //寫存儲(chǔ)地址高8位

  146.                 if(!zjyd_ASK)                           // 收到ASK就發(fā)送AT24C256地址低8位
  147.                 {
  148.                 zjyd_ASK = I2C_MasterSendByte(addrL);   //寫存儲(chǔ)地址低8位       
  149.                                 if(zjyd_ASK)                        //應(yīng)答是NASK,就中止
  150.                                 return ;
  151.                                 else
  152.                                 {
  153.                                         I2C_MasterStart();                         // START
  154.                                         zjyd_ASK = I2C_MasterSendByte(SLAW);       //發(fā)送從設(shè)備地址+讀
  155.                                                 if(!zjyd_ASK)                          // 收到ASK就向AT24C256讀1字節(jié)數(shù)據(jù)
  156.                                                 {
  157.                                                 dat = I2C_MasterReadByte(zjyd_ASK);   //就讀1個(gè)字節(jié),入口參數(shù)是非應(yīng)答
  158.                                                 I2C_MasterStop();                                 //發(fā)送停止命令
  159.                                                 }
  160.                                                
  161.                                 }
  162.                
  163.                 }
  164.         }
  165.        


  166. }


  167. //--------------------------------功能函數(shù)--------------------------------
  168. // (器件24C256的應(yīng)答ASK或者NASK)
  169. //存儲(chǔ)地址超過2K的,要用16位地址,連續(xù)讀取iic幾個(gè)字節(jié)的函數(shù)
  170. void IIC_Write_NByte(u8 addrH,u8 addrL, u8 *p, u8 number) /*  WordAddress,1st Data Address,2nd Data
  171. Address,Byte lenth 在芯片addrH+addrL開始的地址里寫入p的內(nèi)容,長度是number個(gè)字節(jié),F(xiàn)0=0,right, F0=1,error */

  172. {                                               //
  173.         // 1. 發(fā)送起始信號(hào)+設(shè)備地址(寫模式)
  174.         I2C_MasterStart();                          // START
  175.         zjyd_ASK = I2C_MasterSendByte(SLAW);       //主機(jī)模式發(fā)送1字節(jié)數(shù)據(jù),函數(shù)返回: 接收的應(yīng)答信號(hào)0為ACK),1為NAK
  176.                                                                                        // 設(shè)備地址 + 寫命令(最后一位是0)
  177.         if(!zjyd_ASK)                              // 2. 收到ASK就發(fā)送AT24C02地址
  178.         {
  179.                 zjyd_ASK = I2C_MasterSendByte(addrH);  //寫存儲(chǔ)器地址高8位
  180.                 if(!zjyd_ASK)                           // 收到ASK就發(fā)送AT24C256地址低8位
  181.                 {
  182.                 zjyd_ASK = I2C_MasterSendByte(addrL);   //寫存儲(chǔ)地址低8位       
  183.                                 if(zjyd_ASK)                        //應(yīng)答是NASK,就中止
  184.                                 return;
  185.                                 else
  186.                                 {
  187.                                         do                                                   //開始連續(xù)寫number個(gè)字節(jié)
  188.                                         {
  189.                                                 zjyd_ASK = I2C_MasterSendByte(*p);    //寫入數(shù)組p的內(nèi)容去IIC
  190.                                                 p++;                                   //指針+1,主機(jī)模式寫1字節(jié)數(shù)據(jù),函數(shù)返回0為ACK, 1為NAK

  191.                                                 if(zjyd_ASK)  break;                   //出錯(cuò)了就終止
  192.                                                
  193.                                         }
  194.                                         while(--number);
  195.                                         I2C_MasterStop();                 //發(fā)送停止命令,結(jié)束IIC通信
  196.                                 }
  197.             }
  198.         }
  199.        
  200.    
  201.        
  202. }


  203. //連續(xù)讀取iic幾個(gè)字節(jié)的函數(shù)
  204. void IIC_Read_NGByte(u8 addrH, u8 addrL, u8 *p, u8 number)  //WordAddress,1st Data Address,2nd Data Address,Byte lenth   

  205. {
  206.         // 1. 發(fā)送起始信號(hào)+設(shè)備地址(寫模式)
  207.         I2C_MasterStart();                   // START
  208.         zjyd_ASK = I2C_MasterSendByte(SLAW); //主機(jī)模式發(fā)送1字節(jié),函數(shù)返回: 0(應(yīng)答信號(hào)為ACK), 1(接收的應(yīng)答信號(hào)為NAK)
  209.                                                                                  // 設(shè)備地址 + 寫命令(最后一位是0)
  210.        
  211.         if(!zjyd_ASK)  // 2. 收到ASK就發(fā)送AT24C256高位地址
  212.                 zjyd_ASK = I2C_MasterSendByte(addrH);  //發(fā)送存儲(chǔ)芯片AT24C256高位地址
  213.                        
  214.         if(!zjyd_ASK) // 3. 還能收到ASK就發(fā)送低位地址
  215.        
  216.                 zjyd_ASK = I2C_MasterSendByte(addrL);  //發(fā)送存儲(chǔ)芯片AT24C256低位地址
  217.        
  218.         if(!zjyd_ASK) // 3. 還能收到ASK就發(fā)送起始信號(hào)
  219.         {
  220.         I2C_MasterStart();                     // START
  221.         zjyd_ASK = I2C_MasterSendByte(SLAR);   //發(fā)送設(shè)備地址+讀命令
  222.         }
  223.         if(!zjyd_ASK) //4. 還能收到ASK連續(xù)讀取number字節(jié)(最后1字節(jié)發(fā)送NACK)
  224.         {
  225.                         do
  226.                         {
  227.                          *p = I2C_MasterReadByte(zjyd_ASK); //主機(jī)模式接收1字節(jié)數(shù)據(jù),入口參數(shù): ack (待發(fā)送的應(yīng)答信號(hào))函數(shù)返回: (接收的字節(jié)數(shù)據(jù))
  228.                                                                                                 //讀取1字節(jié)數(shù)據(jù)函數(shù)
  229.                          p++;                                                                //指針+1
  230.                                        
  231.                         if(number!= 1)
  232.                                                
  233.                         zjyd_ASK=0;                     //發(fā)送ASK函數(shù)
  234.                         else
  235.                         zjyd_ASK=1;                     //發(fā)送NASK函數(shù)
  236.                                                        
  237.                         }while(--number);
  238.                                                  
  239.                         I2C_MasterStop();
  240.                                        
  241.         }       
  242.                                        
  243. }




  244. //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>


復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1091140 發(fā)表于 2025-11-11 21:47 | 只看該作者
先看主程序:
  1. //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
  2. ////////////////////////////////////////
  3. // 在此添加用戶文件頭說明信息  
  4. // 文件名稱: main.c
  5. // 文件描述:
  6. // 文件版本: V1.0
  7. // 修改記錄:
  8. //   1. (2025-11-06) 創(chuàng)建文件
  9. ////////////////////////////////////////
  10. //<<AICUBE_USER_HEADER_REMARK_END>>


  11. #include "config.h"                     //默認(rèn)已包含stdio.h、intrins.h等頭文件


  12. //<<AICUBE_USER_INCLUDE_BEGIN>>
  13. // 在此添加用戶頭文件包含
  14. #include "i2c.h"
  15. #include "MAX7219.h"
  16. //        8位Max7219數(shù)碼管模塊顯示, CLK = P6^4;CS = P6^5; DIN = P6^6;
  17. //選擇I2C數(shù)據(jù)口: SCL(P2.5), SDA(P2.4),IIC分頻系數(shù)n=60
  18. //<<AICUBE_USER_INCLUDE_END>>


  19. //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
  20. // 在此添加用戶全局變量定義、用戶宏定義以及函數(shù)聲明
  21. void PlaySMG(u8  tmp_1[8]);

  22. char code LEDcode[]=
  23. {0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00     /*0,1,2,3,4,5,6,7,8,9,全滅*/
  24. ,0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x67,0x3e,0xff};    /*A,B,C,D,E,F,P,U,全亮*/


  25. char code table[]={
  26. 0x7e, //0
  27. 0x18, //1
  28. 0x37, //2
  29. 0x3d, //3
  30. 0x59, //4
  31. 0x6d, //5
  32. 0x6f, //6
  33. 0x38, //7
  34. 0x7f, //8
  35. 0x7d, //9
  36. 0x7b, //A
  37. 0x4F, //b
  38. 0x66, //C
  39. 0x1F, //d
  40. 0x67, //E
  41. 0x63,  //F
  42. };     //共陰
  43. //<<AICUBE_USER_GLOBAL_DEFINE_END>>



  44. ////////////////////////////////////////
  45. // 項(xiàng)目主函數(shù)
  46. // 入口參數(shù): 無
  47. // 函數(shù)返回: 無
  48. ////////////////////////////////////////
  49. void main(void)
  50. {
  51.     //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
  52.     // 在此添加用戶主函數(shù)初始化代碼
  53.                 u8 i=0;
  54.                 u8  tmp[8];
  55.     //<<AICUBE_USER_MAIN_INITIAL_END>>

  56.     SYS_Init();

  57.     //<<AICUBE_USER_MAIN_CODE_BEGIN>>
  58.     // 在此添加主函數(shù)中運(yùn)行一次的用戶代碼
  59.         Initial();               //MAX7219初始化
  60.                 P40 = 0;        //三極管引腳輸出低電平
  61.                 P60 = 0;        //輸出低電平   //這2顆燈亮了
  62.                 P61 = 0;        //輸出低電平   //說明這段程序是執(zhí)行了
  63.                 delay_ms(2000);//經(jīng)STC論壇版主erci***指導(dǎo)“print_usb并非阻
  64.         //塞函數(shù),所以在打開串口前可能已經(jīng)打印完成了。 所以延時(shí)應(yīng)放在打印前,或者在循環(huán)里
  65.         //每隔1s反復(fù)打印這樣每次打開串口都能看到。”
  66. //                printf_usb( " A 首先從24C02讀取8個(gè)數(shù)\xfd:            \r\n");  
  67. //                printf_usb( " B 把從24C02讀取8個(gè)數(shù)\xfd加1后寫入24C02:\r\n");
  68. //                printf_usb( " C 把從24C02讀取8個(gè)數(shù)\xfd減1后寫入24C02:\r\n");
  69. //                printf_usb( " D 把24C02地址0x0000的8個(gè)數(shù)\xfd清零:    \r\n");
  70.                 //printf_usb( " 發(fā)字符給printf_usb,引發(fā)bUsbInBusy檢測    \r\n");
  71.                 //可以先printf再while(bUsbInBusy == 1);,但是這樣依然看不到第一條printf的
  72.                 //while(bUsbInBusy==1) //cdc串口發(fā)數(shù)據(jù)之前可以判斷一下當(dāng)前的usb狀態(tài),等他空閑了再發(fā),
  73.                                                          //實(shí)測這樣一點(diǎn)問題沒有,但是我們這里不行啊
  74.                 //{
  75.                 printf_usb( " A 首先從24C256讀取8個(gè)數(shù):            \r\n");  
  76.                 printf_usb( " B 把從24C256讀取8個(gè)數(shù)加1后寫入24C256:\r\n");
  77.                 printf_usb( " C 把從24C256讀取8個(gè)數(shù)減1后寫入24C256:\r\n");
  78.                 printf_usb( " D 把24C256地址0x0000k開始的8個(gè)數(shù)清零:    \r\n");
  79.                 //};
  80.                 IIC_Read_NGByte(0x00,0x08,tmp,8);        // 從地址 0x0008 開始,讀取8個(gè)字節(jié),存入tmp[8]中
  81.                
  82.                 for( i=0;i<8;i++ )
  83.                 {
  84.                 printf_usb( "%u\t ",tmp[i] );
  85.                 }                                                        //為什么串口助手看不到以上打印結(jié)果?
  86.                                                                         //可能是USB查詢方式,只有在回答查詢的時(shí)候才輸出?
  87.                
  88.                
  89.                                                
  90.                 PlaySMG(tmp); //數(shù)碼管打印8個(gè)字節(jié)
  91.        
  92.     //<<AICUBE_USER_MAIN_CODE_END>>

  93.     while (1)
  94.     {
  95.        // USBLIB_OUT_Done();              //查詢方式處理USB接收的數(shù)據(jù)

  96.         //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
  97.         // 在此添加主函數(shù)中用戶主循環(huán)代碼
  98.                                         if( bUsbOutReady )                                                               
  99.                 {
  100.                         //USB_SendData(UsbOutBuffer,OutNumber);
  101.                
  102.                        
  103.                                
  104.                         switch( UsbOutBuffer[0] )
  105.                         {
  106.                                 case 'A':                        //
  107.                                             //printf("從24C02讀出8個(gè)數(shù)\xfd據(jù): \r\n");
  108.                                                 printf("從24C256讀出8個(gè)數(shù)據(jù): \r\n");

  109.                                                 //-----------------------讀取數(shù)據(jù)-----------------------
  110.                                                 IIC_Read_NGByte(0x00,0x08,tmp,8);        // 從地址 0x0008 開始,讀取8個(gè)字節(jié),存入tmp[8]中
  111.                                                
  112.                                                 for( i=0;i<8;i++ )
  113.                                                 {
  114.                                                 printf( "%u\t",tmp[i] );  
  115.                                                 /*  以十進(jìn)制打印
  116.                                                 "%u\t" 是格式化字符串,其中:%u 是一個(gè)格式控制符,用于指定輸出一個(gè)無符號(hào)整數(shù)。
  117.                                                 \t 是一個(gè)轉(zhuǎn)義字符,表示輸出一個(gè)水平制表符。dat[i] 是要輸出的數(shù)據(jù),它應(yīng)該是一個(gè)無符號(hào)整數(shù)類型的數(shù)組元素。
  118.                                                 %u格式控制符用于將數(shù)字轉(zhuǎn)換為無符號(hào)整數(shù)格式。無符號(hào)整數(shù)是指不帶符號(hào)的整數(shù),即只能表示零和正數(shù)的整數(shù)類型
  119.                                                 */

  120.                                                 }
  121.                                                 printf( "讀取結(jié)束\r\n");
  122.                                                
  123.                                                 PlaySMG(tmp); //數(shù)碼管打印8個(gè)字節(jié)
  124.                                                 delay_ms(200);
  125.                                        
  126.                                         break;
  127.                                 case 'B':
  128.                                                
  129.                                                 printf( " B 把從24C256讀取8個(gè)數(shù)加1后寫入24C02:\r\n");

  130.                                                 //-----------------------寫入修改后的數(shù)據(jù)-----------------------
  131.                                                 IIC_Read_NGByte(0x00,0x08,tmp,8);        // 從地址 0x0008 開始,讀取8個(gè)字節(jié),存入tmp[8]中
  132.                                                 for( i=0;i<8;i++ )
  133.                                                 {
  134.                                                         tmp[i] = (tmp[i] +1);
  135.                                                 }       
  136.                                                 IIC_Write_NByte(0x00,0x08,tmp,8); //從地址 0x0008 開始,讀取8個(gè)字節(jié),都加1后,原位置寫回去
  137.                                                
  138.                                                 delay_ms(200);
  139.                                                 printf("加1后存儲(chǔ)完成再從24C256讀出8個(gè)數(shù)據(jù): \r\n");
  140.                                                 IIC_Read_NGByte(0x00,0x08,tmp,8);        // 從地址 0x0008 開始,讀取8個(gè)字節(jié),存入tmp[8]中
  141.                                                
  142.                                                 for( i=0;i<8;i++ )
  143.                                                 {
  144.                                                 printf( "%u\t",tmp[i] );
  145.                                                 }
  146.                                                
  147.                                                 PlaySMG(tmp); //數(shù)碼管打印8個(gè)字節(jié)
  148.                                                 delay_ms(200);
  149.                                                
  150.                                                 printf("請(qǐng)比較差別,證實(shí)加1寫入成功\r\n");
  151.                                                 break;
  152.                                 case 'C':
  153.                                                
  154.                                                 printf( " C 把從24C256讀取8個(gè)數(shù)減1后寫入24C256:\r\n");
  155.                                                 IIC_Read_NGByte(0x00,0x08,tmp,8);        // 從地址 0x0008 開始,讀取8個(gè)字節(jié),存入tmp[8]中
  156.                                                 for( i=0;i<8;i++ )
  157.                                                 {
  158.                                                         tmp[i] = (tmp[i] -1);
  159.                                                 }       
  160.                                                 IIC_Write_NByte(0x00,0x08,tmp,8); //從地址 0x0008 開始,讀取8個(gè)字節(jié),都減1后,原位置寫回去
  161.                                                
  162.                                                 delay_ms(200);
  163.                                                
  164.                                                 printf("減1后存儲(chǔ)完成再從24C256讀出8個(gè)數(shù)據(jù): \r\n");
  165.                                                 IIC_Read_NGByte(0x00,0x08,tmp,8);        // 從地址 0x0008 開始,讀取8個(gè)字節(jié),存入tmp[8]中
  166.                                                
  167.                                                 for( i=0;i<8;i++ )
  168.                                                 {
  169.                                                 printf( "%u\t",tmp[i] );
  170.                                                 }
  171.                                                 delay_ms(200);
  172.                                                
  173.                                                 printf("請(qǐng)?jiān)俅伪容^差別,證實(shí)減1寫入成功\r\n");
  174.                                                 PlaySMG(tmp); //數(shù)碼管打印8個(gè)字節(jié)
  175.                                                 break;
  176.                                 case 'D':
  177.                                                 printf( " D 把24C256地址0x0000開始的8個(gè)數(shù)清零::\r\n");
  178.                                
  179.                                                 for( i=0;i<8;i++ )
  180.                                                 {
  181.                                                         tmp[i] = 0x00;
  182.                                                 }       
  183.                                                 IIC_Write_NByte(0x00,0x08,tmp,8); //從地址 0x0008 開始,數(shù)組成員都變0后,原位置寫回去
  184.                                                
  185.                                                 delay_ms(200);
  186.                                                
  187.                                                 printf( " D 24C256地址0x0000開始的8個(gè)數(shù)已經(jīng)變成::\r\n");
  188.                                                 IIC_Read_NGByte(0x00,0x08,tmp,8);        // 從地址 0x0008 開始,讀取8個(gè)字節(jié),存入tmp[8]中
  189.                                                
  190.                                                 for( i=0;i<8;i++ )
  191.                                                 {
  192.                                                 printf( "%u\t",tmp[i] );
  193.                                                 }
  194.                                                 delay_ms(200);
  195.                                                
  196.                                                 printf("請(qǐng)?jiān)俅伪容^差別,證實(shí)清零成功\r\n");
  197.                                                 PlaySMG(tmp); //數(shù)碼管打印8個(gè)字節(jié)
  198.                                                 break;
  199.                                
  200.                                 default:
  201.                                                                                                
  202.                                                 break;                               
  203.                         }
  204.                         usb_OUT_done();
  205.                
  206.                 }
  207.                
  208.         //<<AICUBE_USER_MAIN_LOOP_END>>
  209.     }
  210. }

  211. ////////////////////////////////////////
  212. // 系統(tǒng)初始化函數(shù)
  213. // 入口參數(shù): 無
  214. // 函數(shù)返回: 無
  215. ////////////////////////////////////////
  216. void SYS_Init(void)
  217. {
  218.     EnableAccessXFR();                  //使能訪問擴(kuò)展XFR
  219.     AccessCodeFastest();                //設(shè)置最快速度訪問程序代碼
  220.     AccessIXramFastest();               //設(shè)置最快速度訪問內(nèi)部XDATA
  221.     IAP_SetTimeBase();                  //設(shè)置IAP等待參數(shù),產(chǎn)生1us時(shí)基

  222.     //<<AICUBE_USER_PREINITIAL_CODE_BEGIN>>
  223.     // 在此添加用戶預(yù)初始化代碼  
  224.     //<<AICUBE_USER_PREINITIAL_CODE_END>>

  225.     P0M0 = 0x00; P0M1 = 0x00;           //初始化P0口為準(zhǔn)雙向口模式
  226.     P1M0 = 0x00; P1M1 = 0x00;           //初始化P1口為準(zhǔn)雙向口模式
  227.     P2M0 = 0x00; P2M1 = 0x00;           //初始化P2口為準(zhǔn)雙向口模式
  228.     P3M0 = 0x00; P3M1 = 0x00;           //初始化P3口為準(zhǔn)雙向口模式
  229.     P4M0 = 0x00; P4M1 = 0x00;           //初始化P4口為準(zhǔn)雙向口模式
  230.     P5M0 = 0x00; P5M1 = 0x00;           //初始化P5口為準(zhǔn)雙向口模式
  231.     P6M0 = 0x00; P6M1 = 0x00;           //初始化P6口為準(zhǔn)雙向口模式
  232.     P7M0 = 0x00; P7M1 = 0x00;           //初始化P7口為準(zhǔn)雙向口模式

  233.     I2C_Init();                         //I2C初始化
  234.     delay_ms(1);
  235.     USBLIB_Init();                      //USB庫初始化
  236.     delay_ms(1);

  237.     //<<AICUBE_USER_INITIAL_CODE_BEGIN>>
  238.     // 在此添加用戶初始化代碼  
  239.     //<<AICUBE_USER_INITIAL_CODE_END>>

  240.     EnableGlobalInt();                  //使能全局中斷
  241.     USBLIB_WaitConfiged();              //等待USB完成配置
  242. }

  243. ////////////////////////////////////////
  244. // 微秒延時(shí)函數(shù)
  245. // 入口參數(shù): us (設(shè)置延時(shí)的微秒值)
  246. // 函數(shù)返回: 無
  247. ////////////////////////////////////////
  248. void delay_us(uint16_t us)
  249. {
  250.     do
  251.     {
  252.         NOP(18);                        //(MAIN_Fosc + 500000) / 1000000 - 6
  253.     } while (--us);
  254. }


  255. ////////////////////////////////////////
  256. // 毫秒延時(shí)函數(shù)
  257. // 入口參數(shù): ms (設(shè)置延時(shí)的毫秒值)
  258. // 函數(shù)返回: 無
  259. ////////////////////////////////////////
  260. void delay_ms(uint16_t ms)
  261. {
  262.     uint16_t i;

  263.     do
  264.     {
  265.         i = MAIN_Fosc / 6000;
  266.         while (--i);
  267.     } while (--ms);
  268. }


  269. //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
  270. // 在此添加用戶函數(shù)實(shí)現(xiàn)代碼
  271. ////////////////////////////////////////
  272. // MAX7219顯示函數(shù)
  273. // 入口參數(shù): tmp_1[8]數(shù)組 (要顯示的8個(gè)數(shù)的數(shù)組)
  274. // 函數(shù)返回: 無
  275. ////////////////////////////////////////
  276. void PlaySMG(u8  tmp_1[8])
  277. {

  278.                 Write7219(8,tmp_1[0]);                //數(shù)碼管左邊第1位,如果給15就是熄滅
  279.                 Write7219(7,tmp_1[1]);                //數(shù)碼管左邊第2位
  280.                 Write7219(6,tmp_1[2]);                //數(shù)碼管左邊第3位
  281.                 Write7219(5,tmp_1[3]);                 //數(shù)碼管左邊第4位
  282.                 Write7219(4,tmp_1[4]);                //數(shù)碼管左邊第5位,如果給15就是熄滅
  283.                 Write7219(3,tmp_1[5]);                //數(shù)碼管左邊第6位
  284.                 Write7219(2,tmp_1[6]);                //數(shù)碼管左邊第7位
  285.                 Write7219(1,tmp_1[7]);                 //數(shù)碼管左邊第8位 99--3 100--4 101--5 102--6 103--7  104--8 105--9
  286.                 //Write7219(1,LEDcode[14]|0x80);                 //數(shù)碼管左邊第8位  106--"-" 107--E  108--H 109--L 91--E 92--H


  287. }

  288. //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>


復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
国产精品免费在线免费| 一区二区免费视频| 青青久久精品| 欧美福利网站| 国产99对白在线播放| 韩国三级在线看| 亚洲高清视频一区二区| 9.1国产丝袜在线观看| 欧美一区永久视频免费观看| 欧美国产精品中文字幕| 久久一区亚洲| 成人同人动漫免费观看| 美脚恋feet久草欧美| 青青青草原在线| 日日爱夜夜操| 少妇高潮久久久| 日韩乱码在线观看| 中文字幕乱码一区| 玩弄中年熟妇正在播放| 狠狠色噜噜狠狠色综合久| 午夜精品www| 亚洲精品wwwww| 欧美午夜电影在线| 国产欧美日韩三区| 国产一区二区三区黄视频| 欧美激情一级片一区二区| 国产劲爆久久| 亚洲天堂一区二区| 日韩精品毛片| 在线看片免费人成视久网| 日本视频免费| 久久久久久日本一区99| 国产人妻精品一区二区三| 欧美成人免费观看视频| 久久无码人妻精品一区二区三区| 情侣黄网站免费看| 日韩精品第1页| 九九99玖玖| 国产日韩欧美综合| 88xx成人精品| 九九九热精品免费视频观看网站| 亚洲第一福利在线观看| 欧美久久久一区| 日韩欧美成人免费视频| 亚洲欧美日韩国产另类专区| www.成人网.com| 久久99国产精品尤物| 亚洲欧美激情诱惑| 韩日精品在线| 欧美在线国产| 在线看国产视频| 最新av免费看| 星空影院最新电视剧免费观看| 少妇高潮一区二区三区99小说| 一区二区三区精彩视频| 圆产精品久久久久久久久久久| 久久av红桃一区二区禁漫| 日韩在线免费观看av| 波多野结衣一二三区| 中国老熟女重囗味hdxx| 久久久久久久久久一区| 色www免费视频| 看欧美ab黄色大片视频免费| 国产高清精品在线观看| 国产免费毛卡片| 国产黄页在线观看| www.国产在线视频| 久久av综合网| 日本a视频在线观看| 国产深夜男女无套内射| 久久久一本二本三本| 黄页免费在线观看视频| 久艹视频在线免费观看| 97国产在线播放| 久久综合久久色| 韩国视频一区二区三区| 91看片在线免费观看| 天天操天天干天天做| 一级黄色片在线免费观看| 手机看片国产精品| 国产精品300页| 日韩免费成人av| 免费黄色激情视频| 九九视频免费观看| 特级西西444www大精品视频免费看| av资源免费观看| 在线观看色网站| www.中文字幕| 青青草社区在线| 国产黄色免费看| 日日摸夜夜爽人人添| 91大神网址| 国产综合在线观看| 亚洲91av| 成人免费一区| 欧美成人精品一级| 中文字幕av一区二区三区人| 久久久久久久久国产一区| 亚洲第一伊人| 国产真实精品久久二三区| 97精品久久久午夜一区二区三区| 国产精品日韩精品欧美在线| 亚洲国产精品一区二区www在线 | 日韩一区不卡| 亚洲精品中字| 日日碰狠狠躁久久躁婷婷| 欧美激情国内自拍| 亚洲精品成人无码| 日韩手机在线观看| 国产综合在线播放| 丝袜脚交免费网站xx| 久久久久久五月天久久久久久久久| 高清av电影在线观看| caoprom在线| 国产精品白丝一区二区三区| 91视频综合| 麻豆91小视频| 亚洲乱码国产乱码精品精98午夜 | 国产精品免费人成网站| 精品二区三区线观看| 精品剧情在线观看| 欧美黑人狂野猛交老妇| 高清一区二区三区视频| 99久久免费观看| 老熟妇精品一区二区三区| 国产网友自拍视频| 9.1人成人免费视频网站| 18岁免费网站| 国产高清一区二区三区视频| 精品一区二区三区亚洲| 欧美精品福利| 久久亚洲二区三区| 在线观看视频91| 精品国产欧美一区二区五十路 | 黄色aaa视频| 中文字幕 亚洲视频| 国产一卡2卡3卡四卡网站| 狠狠干在线视频| 日韩欧美另类一区二区| 精品日韩一区| 国模大尺度一区二区三区| 一区二区三区国产| 亚洲欧美国产日韩中文字幕| 亚洲一区国产视频| 亚洲精品一区二三区不卡| 国产精品久久99久久| www.亚洲成人网| 国产一级淫片久久久片a级| www.好吊色| 高清中文字幕在线| 中国字幕a在线看韩国电影| 成人三级视频| 91理论电影在线观看| 日韩一区二区免费高清| 国产精品国产三级国产aⅴ9色 | 亚洲精品国偷拍自产在线观看蜜桃| 成年人深夜福利| 黄色美女视频在线观看| 婷婷综合社区| 国产精品色噜噜| 日韩美女av在线| 99视频国产精品免费观看| 精品亚洲一区二区三区四区| 国产精品国产三级国产专区52| 8x8x国产| av在线资源| 亚洲理论在线| 亚洲一区二区美女| 欧美精品videosex性欧美| 一区二区三区四区免费观看| 国产精品久久久免费看| 精品国产一区二区三区久久久狼牙 | 亚洲国产精品成人一区二区| 国产精品综合网站| 无码人妻精品一区二区三区66| 国产精品6666| 菠萝蜜视频网站入口| 澳门av一区二区三区| 青青草国产成人99久久| 欧美日韩精品一区二区在线播放| 国产91色在线|免| 999在线免费视频| 美女黄页在线观看| 性疯狂做受xxxx高清视频| 99精品中文字幕在线不卡 | 91丨九色丨蝌蚪丨对白| 在线观看成年人视频| 91综合久久爱com| av电影天堂一区二区在线观看| 久久国产精品99国产| 色综合天天综合狠狠| 国产精品激情av在线播放| 国产一级做a爰片久久| 国产伦精品一区二区三区视频痴汉| 夜鲁很鲁在线视频| 日韩精品网站| 午夜久久久久久久久久一区二区| 青青草成人在线| 色播五月激情五月| 色婷婷av一区二区三区之红樱桃| 里番在线观看网站| 激情综合电影网| 欧美午夜精品久久久久久超碰| 成人精品一区二区三区| 日本免费福利视频| 国产一卡二卡3卡4卡四卡在线| 日韩欧美看国产| 高清久久久久久| 亚洲欧美中文另类| 欧美一区二区视频在线播放| 无码人妻精品一区二| 亚洲精品视频在线免费| 婷婷精品进入| 在线观看成人小视频| 国产伦精品一区二区三区四区免费 | 久草精品在线观看| 亚洲国产精品久久久久| 中文字幕免费在线不卡| 精品人妻一区二区三区潮喷在线| 天堂av在线资源| 狠狠爱综合网| 在线综合亚洲欧美在线视频| 免费一区二区三区在在线视频| 超碰手机在线观看| 中文字幕av网| 欧美精品三级| 日韩亚洲国产中文字幕欧美| 日韩欧美亚洲在线| 69xxxx国产| 91社区在线观看| 麻豆91精品| 亚洲美女黄色片| 亚洲国产精品久久久久婷蜜芽| 国产高清精品软件丝瓜软件| xxx.xxx欧美| 成人深夜视频在线观看| 久久久久免费视频| 在线免费播放av| 成人黄网大全在线观看| 九九热视频在线观看| 欧美黄色大片网站| 欧美mv和日韩mv的网站| 欧美a级免费视频| 丰满肥臀噗嗤啊x99av| 日本综合视频| 亚洲欧美日韩久久| 成人久久18免费网站漫画| 精品在线视频观看| 欧美尤物美女在线| 国产成人av电影在线| 91高清视频免费| 99久久99久久精品免费看小说.| 免费av播放| 在线亚洲成人| www国产91| 在线xxxxx| 丁香资源影视免费观看| 一本久久知道综合久久| 亚洲偷熟乱区亚洲香蕉av| 国产无色aaa| 成人亚洲在线观看| 国产综合自拍| 亚洲欧美一区二区激情| 国产一级免费大片| 台湾十八成人网| 小嫩嫩精品导航| 久久999免费视频| 性欧美精品男男| 国产视频网站在线| av电影在线观看不卡| 亚洲va电影大全| 日本成人一级片| 人人玩人人添人人澡欧美| 欧美视频在线观看免费网址| 久久综合亚洲精品| 国产欧美在线观看视频| 91精品国产91久久久久久密臀| 精品无码久久久久久国产| 四虎国产精品免费| 日韩黄色网址| 成人综合在线观看| 51国产成人精品午夜福中文下载 | 狠狠躁夜夜躁久久躁别揉| avove在线观看| 欧美乱大交xxxxx在线观看| av在线不卡免费观看| 亚洲裸体xxxx| xxxx日本免费| 1024免费在线视频| 国产精品蜜臀av| 一区二区三区在线视频看| 中文乱码字幕av网站| 不卡一区综合视频| 中文字幕亚洲激情| 日本成人免费在线观看 | 完整版免费av片| 免费黄网站欧美| 国产狼人综合免费视频| 亚洲av无码不卡| 色先锋影音岛国av资源| 亚洲精选91| 5278欧美一区二区三区| 日本高清www免费视频| 91天天综合| 这里只有精品电影| 欧美午夜精品一区二区| 成人高清免费在线播放| 国产精品第一页第二页第三页| 在线国产99| www黄色在线观看视频| 麻豆freexxxx性91精品| 91精品久久久久久蜜桃| 亚洲 欧美 激情 另类| 91精品电影| 欧美在线性爱视频| 91超薄丝袜肉丝一区二区| 久久av免费| 欧美大尺度激情区在线播放| 欧美精品亚洲精品日韩精品| 日韩精品一级| 国产亚洲人成a一在线v站| 国产福利视频网站| 国产精品麻豆成人av电影艾秋| 日韩欧美你懂的| 中文字幕第24页| 日韩精品免费观看视频| 精品sm在线观看| 色欲一区二区三区精品a片| 福利精品在线| 日韩电影大片中文字幕| 三级影片在线看| 麻豆久久一区| 最近2019免费中文字幕视频三| 日本少妇性高潮| 九九热播视频在线精品6| 久久精品99久久香蕉国产色戒 | 国产小视频免费在线观看| 亚洲精品视频自拍| 亚洲黄色av网址| 亚洲成人影院麻豆| 日韩欧美在线免费观看| 亚洲黄色小说在线观看| 成人免费观看在线观看| 日韩色在线观看| 黄色一级大片在线免费观看| 国产一区二区久久久久| 中文字幕av一区中文字幕天堂 | 日韩精品专区在线| www.99re7| 天堂网av成人| 欧美在线观看日本一区| 亚洲人成电影院色| 青草av.久久免费一区| 日韩欧美激情一区二区| aaa大片免费观看| 亚洲青青青在线视频| 国产91精品在线播放| 国产av无码专区亚洲av| 日韩亚洲国产欧美| 精品久久久三级| 涩涩视频免费网站| 亚洲欧洲精品成人久久奇米网| 天天综合网日韩| 超碰在线网站| 日韩精品视频在线观看网址| 天天干天天干天天| 欧美天天在线| 久久久久一区二区| 久久精品无码一区二区日韩av| 一区2区3区在线看| wwwwww日本| 国产精品白浆| 国产精品久久77777| 99久久99久久免费精品小说| 国产日韩欧美综合一区| 亚洲综合123| 69堂免费精品视频在线播放| 久久视频中文字幕| 蜜桃视频在线观看www| 久草中文综合在线| 9久久9毛片又大又硬又粗| 青春草免费在线视频| 亚洲美女精品久久| www.久久伊人| 国产成人在线免费观看| 可以在线看的黄色网址| 91精品国产黑色瑜伽裤| 色诱女教师一区二区三区| 午夜视频免费看| www.欧美.com| 岛国大片在线免费观看| 国产不卡精品| 国产精品中文字幕久久久| 天天影视色香欲综合网天天录日日录| 亚洲一区在线看| 亚洲国产成人精品综合99| 女生裸体视频一区二区三区| 亚洲精品一区国产精品| 黄在线免费看| 日韩一区在线视频|