回復  skybread

VFD 要推應該不難
FL_RST
FL_CE
FL_DATA
FL_CLK
Offer 發表於 2011-11-23 00:00


希望好快可以睇到你隻VFD再著既相

FL_RST
FL_CE
FL_DATA
FL_CLK
呢4個係係行緊類似SPI既野?

TOP

樓主用嘅嗰塊係乜野底板嚟gar?覺得好似係865底板,唔知有無朋友睇得出係乜野底板呢?

TOP

本帖最後由 Offer 於 2011-11-23 14:01 編輯
希望好快可以睇到你隻VFD再著既相

FL_RST
FL_CE
FL_DATA
FL_CLK
呢4個係係行緊類似SPI既野? ...
skybread 發表於 2011-11-23 00:43



It is using synchronous serial communication.
Only three wires are required to communicate with the clock (1) RST (Reset), (2) I/O (Data line),and (3) SCLK (Serial clock).

TOP

希望work la
  1. #include <reg52.h>

  2. sbit SCK=P3^6;               
  3. sbit SDA=P3^4;               
  4. sbit RST=P3^5;
  5. /*復位腳*/
  6. #define RST_CLR        RST=0/*電平置低*/
  7. #define RST_SET        RST=1/*電平置高*/

  8. /*雙向數據*/
  9. #define IO_CLR        SDA=0/*電平置低*/
  10. #define IO_SET        SDA=1/*電平置高*/
  11. #define IO_R        SDA/*電平讀取*/

  12. /*時鐘信號*/
  13. #define SCK_CLR        SCK=0/*時鐘信號*/
  14. #define SCK_SET        SCK=1/*電平置高*/

  15. void VFD_init(void) {
  16.        
  17.         RST_CLR;                        /*RST腳置低*/
  18.         SCK_CLR;                        /*SCK腳置低*/

  19. }


  20. /*向DEON VFD寫入一字節數據*/
  21. void VFD_write_byte(unsigned char addr, unsigned char d) {

  22.         unsigned char i;
  23.         RST_SET;                                        /*啟動VFD總線*/
  24.        
  25.         /*寫入目標地址:addr*/
  26.         addr = addr & 0xFE;/*最低位置零*/
  27.         for (i = 0; i < 8; i ++) {
  28.             
  29.                 if (addr & 0x01) {
  30.                         IO_SET;
  31.                         }
  32.                 else {
  33.                         IO_CLR;
  34.                         }
  35.                 SCK_SET;
  36.                 SCK_CLR;
  37.                 addr = addr >> 1;
  38.                 }
  39.        
  40.         /*寫入數據:d*/
  41.         for (i = 0; i < 8; i ++) {
  42.             
  43.                 if (d & 0x01) {
  44.                         IO_SET;
  45.                         }
  46.                 else {
  47.                         IO_CLR;
  48.                         }
  49.                 SCK_SET;
  50.                 SCK_CLR;
  51.                 d = d >> 1;
  52.                 }
  53.         RST_CLR;                                        /*停止VFD總線*/
  54. }

  55. main()
  56. {
  57.       VFD_init();
  58.       VFD_write_byte(0x01,0x41); //寫"A"入目標地址 1
  59.       while(1);
  60. }
複製代碼

TOP

希望work la
Offer 發表於 2011-11-23 13:51

用自己既8051推?

TOP

用自己既8051推?
skybread 發表於 2011-11-23 16:33



    係

TOP

樓主用嘅嗰塊係乜野底板嚟gar?覺得好似係865底板,唔知有無朋友睇得出係乜野底板呢? ...
bennyepc 發表於 2011-11-23 11:00



    行RAMBUS

TOP

行RAMBUS
Offer 發表於 2011-11-23 21:16


呢塊板係未行478針p4定係423針p4?

TOP

希望好快可以睇到你隻VFD再著既相

FL_RST
FL_CE
FL_DATA
FL_CLK
呢4個係係行緊類似SPI既野? ...
skybread 發表於 2011-11-23 00:43


Confirm, it is not SPI

TOP

回復 23# logoff

玩胆机易過玩 MCU
要佢出聲好易,要佢靚聲就好難

TOP