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

QQ登錄

只需一步,快速開始

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

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
開發(fā)指南和中文資料

1、概述
        CH376 是文件管理控制芯片,用于單片機(jī)系統(tǒng)讀寫 U 盤或者 SD 卡中的文件。
    同時(shí)可以使用 CH376 操作 USB 鍵盤鼠標(biāo),以及打印機(jī)等各種 USB 設(shè)備。該文檔主要是介紹 客戶
端軟件如何與 CH376 的固件程序通訊,實(shí)現(xiàn)對(duì) U 盤以及SD卡的文件操作。
       CH376 支持三種通訊接口:8 位并口,SPI 接口或者異步串口;

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

  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( );  /* 設(shè)置并口方向?yàn)檩敵?*/
  8. CH376_A0 = 1;
  9. CH376_CS = 0;
  10. CH376_WR = 0;  /* 輸出有效寫控制信號(hào), 寫CH376 芯片的命令端口 */
  11. //CH376_CS = 0;  /* 該操作無意義,僅作延時(shí),CH376 要求讀寫脈沖寬度大于 40nS */   
  12. CH376_WR = 1;  /* 輸出無效的控制信號(hào), 完成操作 CH376 芯片 */
  13. CH376_CS = 1;
  14. CH376_A0 = 0;
  15. CH376_DATA_DIR_IN( );  /* 禁止數(shù)據(jù)輸出 */
  16. /*mDelay0_5uS( ); mDelay0_5uS( ); mDelay0_5uS( );*/  
  17. /* 延時(shí) 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 單片機(jī)外
  24. 部并行總線接口操作向 CH376 寫入數(shù)據(jù) */
  25. CH376_DATA_DAT_OUT( mData );  /* 向 CH376 的并口輸出數(shù)據(jù) */
  26. CH376_DATA_DIR_OUT( );        /* 設(shè)置并口方向?yàn)檩敵?*/   
  27. CH376_A0 = 0;
  28. CH376_CS = 0;

  29. CH376_WR = 0;  /* 輸出有效寫控制信號(hào), 寫CH376 芯片的數(shù)據(jù)端口 */
  30. //CH376_CS = 0;  /* 該操作無意義,僅作延時(shí),CH376 要求讀寫脈沖寬度大于 40nS */
  31. CH376_WR = 1;  /* 輸出無效的控制信號(hào), 完成操作 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 單片機(jī)外
  42. 部并行總線接口操作從 CH376 讀取數(shù)據(jù) */
  43. //mDelay0_5uS( );      /* 確保讀寫周期大于 0.6uS */
  44. CH376_DATA_DIR_IN( );  /* 設(shè)置并口方向?yàn)檩斎?*/
  45. CH376_A0 = 0;
  46. CH376_CS = 0;
  47. CH376_RD = 0;  /* 輸出有效讀控制信號(hào), 讀CH376 芯片的數(shù)據(jù)端口 */
  48. CH376_CS = 0;  /* 該操作無意義,僅作延時(shí),CH376 要求讀寫脈沖寬度大于 40nS*/
  49. mData = CH376_DATA_DAT_IN( );/* 從 CH376 的并口輸入數(shù)據(jù) */
  50. CH376_RD = 1;                /* 輸出無效的控制信號(hào), 完成操作 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 單片機(jī)外
  59. 部并行總線接口操作從 CH376 讀取狀態(tài) */
  60. CH376_DATA_DIR_IN( );  /* 設(shè)置并口方向?yàn)檩斎?*/
  61. CH376_A0 = 1;
  62. CH376_CS = 0;
復(fù)制代碼

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

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:239620 發(fā)表于 2019-10-29 17:19 | 只看該作者
不錯(cuò),下載下來看看
回復(fù)

使用道具 舉報(bào)

板凳
ID:1119567 發(fā)表于 2024-5-24 17:13 | 只看該作者
命令端口和數(shù)據(jù)端口怎么求
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表