找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4088|回復: 2
收起左側

CH376 USB接口芯片的編程指南與中文開發(fā)資料兩則下載

[復制鏈接]
ID:344350 發(fā)表于 2018-6-4 01:13 | 顯示全部樓層 |閱讀模式
開發(fā)指南和中文資料
0.png 0.png
1、概述
        CH376 是文件管理控制芯片,用于單片機系統(tǒng)讀寫 U 盤或者 SD 卡中的文件。
    同時可以使用 CH376 操作 USB 鍵盤鼠標,以及打印機等各種 USB 設備。該文檔主要是介紹 客戶
端軟件如何與 CH376 的固件程序通訊,實現(xiàn)對 U 盤以及SD卡的文件操作。
       CH376 支持三種通訊接口:8 位并口,SPI 接口或者異步串口;

2、硬件抽象層
2.1. 8 位并口        
并口信號線包括:位雙向數(shù)據(jù)總線 D7~D0、讀選通輸入引腳 RD#、寫選通輸入引腳 WR#、片選
輸入引腳 PCS#、中斷輸出引腳 INT#以及地址輸入引腳 A0 對于類似 Intel 并口時序的單片機,
CH376 芯片的 RD#引腳和 WR#引腳可以分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。對
于類似 Motorola 并口時序的單片機,CH376 芯片的 RD#引腳應該接低電平,并且 WR#引腳連接到單
片機的讀寫方向輸出引腳 R/-W。
并口讀寫時序如下:

  1. /* 往 CH376命令端口寫入命令 */
  2. void    xWriteCH376Cmd( UINT8 mCmd )  /* 向CH376 寫命令 */
  3. {   
  4. /*  (*(volatile unsigned char xdata *)0xBDF1) = mCmd ;  
  5. */ /* 通過51 單片外部并行總線接口操作向 CH376 寫入命令 */
  6. CH376_DATA_DAT_OUT( mCmd );  /* 向 CH376 的并口輸出數(shù)據(jù) */
  7. CH376_DATA_DIR_OUT( );  /* 設置并口方向為輸出 */
  8. CH376_A0 = 1;
  9. CH376_CS = 0;
  10. CH376_WR = 0;  /* 輸出有效寫控制信號, 寫CH376 芯片的命令端口 */
  11. //CH376_CS = 0;  /* 該操作無意義,僅作延時,CH376 要求讀寫脈沖寬度大于 40nS */   
  12. CH376_WR = 1;  /* 輸出無效的控制信號, 完成操作 CH376 芯片 */
  13. CH376_CS = 1;
  14. CH376_A0 = 0;
  15. CH376_DATA_DIR_IN( );  /* 禁止數(shù)據(jù)輸出 */
  16. /*mDelay0_5uS( ); mDelay0_5uS( ); mDelay0_5uS( );*/  
  17. /* 延時 1.5uS 確保讀寫周期大于 1.5uS,或者用狀態(tài)查詢代替 */
  18. }   
  19.          
  20. /* 往 CH376數(shù)據(jù)端口寫入數(shù)據(jù) */
  21. void    xWriteCH376Data( UINT8 mData )  /* 向 CH376 寫數(shù)據(jù) */
  22. {   
  23. /*  (*(volatile unsigned char xdata *)0xBCF0) = mData ; */ /* 通過 51 單片機外
  24. 部并行總線接口操作向 CH376 寫入數(shù)據(jù) */
  25. CH376_DATA_DAT_OUT( mData );  /* 向 CH376 的并口輸出數(shù)據(jù) */
  26. CH376_DATA_DIR_OUT( );        /* 設置并口方向為輸出 */   
  27. CH376_A0 = 0;
  28. CH376_CS = 0;

  29. CH376_WR = 0;  /* 輸出有效寫控制信號, 寫CH376 芯片的數(shù)據(jù)端口 */
  30. //CH376_CS = 0;  /* 該操作無意義,僅作延時,CH376 要求讀寫脈沖寬度大于 40nS */
  31. CH376_WR = 1;  /* 輸出無效的控制信號, 完成操作 CH376 芯片 */
  32. CH376_CS = 1;
  33. CH376_DATA_DIR_IN( );  /* 禁止數(shù)據(jù)輸出 */
  34. //mDelay0_5uS( );        /* 確保讀寫周期大于 0.6uS */
  35. }
  36.         
  37. /* 從 CH376數(shù)據(jù)端口讀取數(shù)據(jù) */
  38. UINT8  xReadCH376Data( void )  /* 從 CH376 讀數(shù)據(jù) */
  39. {
  40. UINT8    mData;
  41. /*  mData  = (*(volatile unsigned char xdata *)0xBCF0) ; */ /* 通過 51 單片機外
  42. 部并行總線接口操作從 CH376 讀取數(shù)據(jù) */
  43. //mDelay0_5uS( );      /* 確保讀寫周期大于 0.6uS */
  44. CH376_DATA_DIR_IN( );  /* 設置并口方向為輸入 */
  45. CH376_A0 = 0;
  46. CH376_CS = 0;
  47. CH376_RD = 0;  /* 輸出有效讀控制信號, 讀CH376 芯片的數(shù)據(jù)端口 */
  48. CH376_CS = 0;  /* 該操作無意義,僅作延時,CH376 要求讀寫脈沖寬度大于 40nS*/
  49. mData = CH376_DATA_DAT_IN( );/* 從 CH376 的并口輸入數(shù)據(jù) */
  50. CH376_RD = 1;                /* 輸出無效的控制信號, 完成操作 CH376 芯片 */
  51. CH376_CS = 1;
  52. return( mData );
  53. }

  54. /* 從 CH376命令端口讀取狀態(tài) */
  55. UINT8    xReadCH376Status( void )  /* 從 CH376 讀狀態(tài),僅用于并口方式 */
  56. {
  57. UINT8  mData;
  58. /*  mData  = (*(volatile unsigned char xdata *)0xBDF1) ; */ /* 通過 51 單片機外
  59. 部并行總線接口操作從 CH376 讀取狀態(tài) */
  60. CH376_DATA_DIR_IN( );  /* 設置并口方向為輸入 */
  61. CH376_A0 = 1;
  62. CH376_CS = 0;
復制代碼

全部資料51hei下載地址:
CH376中文資料.pdf (5.05 MB, 下載次數(shù): 51)
CH376編程指南.pdf (261.02 KB, 下載次數(shù): 56)

評分

參與人數(shù) 1黑幣 +10 收起 理由
多德 + 10 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:239620 發(fā)表于 2019-10-29 17:19 | 顯示全部樓層
不錯,下載下來看看
回復

使用道具 舉報

ID:1119567 發(fā)表于 2024-5-24 17:13 | 顯示全部樓層
命令端口和數(shù)據(jù)端口怎么求
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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