添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Reading files from FAT16
  • Reverse engineering of an Itron CH1200G VFD
  • Using ROM’s as combinational logic
  • Z80 Project
  • Hex to 7-Segment decoder PLD
  • M62 – M62-OS
  • M62 Bus system – A Modular Z80 Based System
  • M62 – 16-Bit IDE/CF interface card
  • M62 – Expansion Card 1
  • M62 – Multi-Card 1 – VGA, PS/2 Keyboard, and IDE Interface
  • M62 – Simple RAM/ROM expansion card
  • M62 – Software
  • M62 – Z80 SBC Card – Rev 1
  • M62 – Z80 SBC Card – Rev 2
  • M62 – Z80 SBC Card – Rev 3
  • Setting up Assembler and Hex editor in Programmer’s Notepad
  • Reading files from FAT16
  • Reverse engineering of an Itron CH1200G VFD
  • Using ROM’s as combinational logic
  • Z80 Project
  • Hex to 7-Segment decoder PLD
  • M62 – M62-OS
  • M62 Bus system – A Modular Z80 Based System
  • M62 – 16-Bit IDE/CF interface card
  • M62 – Expansion Card 1
  • M62 – Multi-Card 1 – VGA, PS/2 Keyboard, and IDE Interface
  • M62 – Simple RAM/ROM expansion card
  • M62 – Software
  • M62 – Z80 SBC Card – Rev 1
  • M62 – Z80 SBC Card – Rev 2
  • M62 – Z80 SBC Card – Rev 3
  • Setting up Assembler and Hex editor in Programmer’s Notepad
  • In the recent YouTube video I uploaded I went into detail to show how to write to the display, which has 3 PT6961 IC’s, from an Arduino

    Below is the chart that I put together to map the physical locations to the logical locations.

    note: the data bytes are actually used in reverse order on the IC’s so they will need to be flipped when copying data from the buffer to the actual display.

    The code is as follows:

    LED Display test By Peter Murray Writes to PT6961 IC's #define CMD1 0b00000011 // Display mode setting command #define CMD2 0b01000000 // Data setting command #define CMD3 0b11000000 // Address setting command #define CMD4 0b10001111 // Display control command #define CLK 2 #define DAT 3 #define S1 6 #define S2 5 #define S3 4 unsigned long dBuffer[7]; // Display buffer - last 3 bits are ignored. void writeByte(byte toWrite) int x; for (x=0;x<8;x++) digitalWrite(CLK,LOW); if (bitRead(toWrite,x)) digitalWrite(DAT,HIGH); digitalWrite(DAT,LOW); digitalWrite(CLK,HIGH); void writeByteReverse(byte toWrite) int x; for (x=0;x<8;x++) digitalWrite(CLK,LOW); if (bitRead(toWrite,7-x)) digitalWrite(DAT,HIGH); digitalWrite(DAT,LOW); digitalWrite(CLK,HIGH); void displayBuffer() int x; digitalWrite(S1,LOW); digitalWrite(S2,LOW); digitalWrite(S3,LOW); writeByte(CMD2); digitalWrite(S1,HIGH); digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); digitalWrite(S1,LOW); writeByte(CMD3); for (x=0;x<7;x++) writeByteReverse(dBuffer[x]>>24); writeByteReverse(dBuffer[x]>>16); digitalWrite(S1,HIGH); digitalWrite(S2,LOW); writeByte(CMD3); for (x=0;x<7;x++) writeByteReverse(dBuffer[x]>>13); writeByteReverse(dBuffer[x]>>5); digitalWrite(S2,HIGH); digitalWrite(S3,LOW); writeByte(CMD3); for (x=0;x<7;x++) writeByteReverse(dBuffer[x]>>2); writeByte(0x00); digitalWrite(S3,HIGH); void setup() pinMode(CLK, OUTPUT); pinMode(DAT, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); digitalWrite(S1,HIGH); digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); dBuffer[0] = 0b10000000000010000000000010000000; dBuffer[1] = 0b01000000000101000000000101000000; dBuffer[2] = 0b00100000001000100000001000100000; dBuffer[3] = 0b00010000010000010000010000010000; dBuffer[4] = 0b00001000100000001000100000001000; dBuffer[5] = 0b00000101000000000101000000000100; dBuffer[6] = 0b00000010000000000010000000000010; void scrollScreen() bool y; int x; for (x=0;x<7;x++) y = bitRead(dBuffer[x],31); dBuffer[x]<<=1; if (y) dBuffer[x]+=1; void loop() // put your main code here, to run repeatedly: displayBuffer(); delay(100); scrollScreen();
  • Reading files from FAT16
  • Reverse engineering of an Itron CH1200G VFD
  • Using ROM’s as combinational logic
  • Z80 Project
  • Hex to 7-Segment decoder PLD
  • M62 – M62-OS
  • M62 Bus system – A Modular Z80 Based System
  •