From b13f90b5b4999287a8a308415e7009343ec8cb76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=A1=E5=9D=82=E3=82=B9=E3=83=90=E3=83=AB?= Date: Thu, 29 May 2025 14:16:27 +0800 Subject: [PATCH] archieve: FinalTerm 51pins moudle --- FinalTerm/.eide/eide.json | 4 +- FinalTerm/schematic.pdsprj | Bin 0 -> 24314 bytes FinalTerm/src/51pins/51pins.h | 70 ++++++++++++++++++++++++++++++++++ FinalTerm/src/test/testPNP.c | 25 ++++++++++++ 4 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 FinalTerm/schematic.pdsprj create mode 100644 FinalTerm/src/51pins/51pins.h create mode 100644 FinalTerm/src/test/testPNP.c diff --git a/FinalTerm/.eide/eide.json b/FinalTerm/.eide/eide.json index 781ec5a..6fce81f 100644 --- a/FinalTerm/.eide/eide.json +++ b/FinalTerm/.eide/eide.json @@ -18,7 +18,9 @@ }, "targets": { "Debug": { - "excludeList": [], + "excludeList": [ + "src/main.c" + ], "toolchain": "Keil_C51", "compileConfig": { "options": "null" diff --git a/FinalTerm/schematic.pdsprj b/FinalTerm/schematic.pdsprj new file mode 100644 index 0000000000000000000000000000000000000000..e5561b67d8568dbc7e153daab893506074569a88 GIT binary patch literal 24314 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 literal 0 HcmV?d00001 diff --git a/FinalTerm/src/51pins/51pins.h b/FinalTerm/src/51pins/51pins.h new file mode 100644 index 0000000..1b34546 --- /dev/null +++ b/FinalTerm/src/51pins/51pins.h @@ -0,0 +1,70 @@ +/* + * @name: 51pins.h + * @author: msksbr + * @date: 2025-05-29 + * @description: defines the 7 segs chars and pins for LEDs, 74HC138 and buttons + * @usage: #include "REG52.H" + */ +#include + +// 74HC138 pins (P1) +// controller pins +sbit ADDR0 = P1 ^ 0; // to A(A0) +sbit ADDR1 = P1 ^ 1; // to B(A1) +sbit ADDR2 = P1 ^ 2; // to C(A2) +// enable pins +sbit ADDR3 = P1 ^ 3; // to E1 +sbit ENLED = P1 ^ 4; // to E2 & E3 + +// 7seg chars(P2) +unsigned char code seg7chars[] = { + 0xFC, // 0: a b c d e f + 0x60, // 1: b c + 0xDA, // 2: a b g e d + 0xF2, // 3: a b g c d + 0x66, // 4: f g b c + 0xB6, // 5: a f g c d + 0xBE, // 6: a f g c d e + 0xE0, // 7: a b c + 0xFE, // 8: all segments + 0xF6, // 9: a b c d f g + 0xEE, // A: a b c e f g + 0x3E, // B: c d e f g + 0x9C, // C: a d e f + 0x7A, // D: b c d e g + 0x9E, // E: a d e f g + 0x8E, // F: a e f g + 0x02, // dp: decimal point + 0x00, // all on + 0xFF // blank: all off +}; + +// switch 74HC138 +void switch138(unsigned char channel) +{ + // @subsection: turn DEC channel to 3 BIN bits + bit A0 = channel & 0x01; + bit A1 = (channel >> 1) & 0x01; + bit A2 = (channel >> 2) & 0x01; + // @subsection: enable 74HC138 + ADDR3 = 1; + ENLED = 0; + // @subsection: set 74HC138 pins + ADDR0 = A0; + ADDR1 = A1; + ADDR2 = A2; +} + +// timer by ms based on timer0 +void delay_ms(unsigned int ms) +{ + TMOD = 0x01; + for (; ms > 0; ms--) { + TH0 = 0xFC; + TL0 = 0x66; + TR0 = 1; + while (!TF0); + TR0 = 0; + TF0 = 0; + } +} \ No newline at end of file diff --git a/FinalTerm/src/test/testPNP.c b/FinalTerm/src/test/testPNP.c new file mode 100644 index 0000000..69627f7 --- /dev/null +++ b/FinalTerm/src/test/testPNP.c @@ -0,0 +1,25 @@ +/* + * @name: testPNP.c + * @author: msksbr + * @date: 2025-05-29 + * @description: test PNP power supply. + */ + +#include +#include "../51pins/51pins.h" + +unsigned char currentChannel = 0; + +void main() +{ + while (1) { + P2 = 0x00; + switch138(currentChannel); + if (currentChannel == 7) { + currentChannel = 0; + } else { + currentChannel++; + } + delay_ms(1); + } +} \ No newline at end of file