From e3c9129e83c9d0508f1075b2f9e7867f4cf13f40 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 20:03:51 +0800 Subject: [PATCH] use others finalterm --- .gitignore | 5 +- FinalTerm/.clang-format | 38 ------------ FinalTerm/.eide/eide.json | 82 ------------------------- FinalTerm/.eide/files.options.yml | 20 ------ FinalTerm/.gitignore | 15 ----- FinalTerm/.vscode/settings.json | 1 - FinalTerm/.vscode/tasks.json | 40 ------------ FinalTerm/FinalTerm.code-workspace | 44 ------------- FinalTerm/schematic.pdsprj | Bin 24314 -> 0 bytes FinalTerm/src/51pins/51pins.h | 70 --------------------- FinalTerm/src/hms/hms.c | 95 ----------------------------- FinalTerm/src/hms/hms.h | 29 --------- FinalTerm/src/main.c | 14 ----- FinalTerm/src/test/testPNP.c | 25 -------- homework7/homework7.pdsprj | Bin 20759 -> 20755 bytes 15 files changed, 4 insertions(+), 474 deletions(-) delete mode 100644 FinalTerm/.clang-format delete mode 100644 FinalTerm/.eide/eide.json delete mode 100644 FinalTerm/.eide/files.options.yml delete mode 100644 FinalTerm/.gitignore delete mode 100644 FinalTerm/.vscode/settings.json delete mode 100644 FinalTerm/.vscode/tasks.json delete mode 100644 FinalTerm/FinalTerm.code-workspace delete mode 100644 FinalTerm/schematic.pdsprj delete mode 100644 FinalTerm/src/51pins/51pins.h delete mode 100644 FinalTerm/src/hms/hms.c delete mode 100644 FinalTerm/src/hms/hms.h delete mode 100644 FinalTerm/src/main.c delete mode 100644 FinalTerm/src/test/testPNP.c diff --git a/.gitignore b/.gitignore index d612ce4..38b5723 100644 --- a/.gitignore +++ b/.gitignore @@ -53,4 +53,7 @@ dkms.conf # proteus workspace *.workspace -*/Project Backups/ \ No newline at end of file +*/Project Backups/ + +# others +89C51_Simple_Calculator/ \ No newline at end of file diff --git a/FinalTerm/.clang-format b/FinalTerm/.clang-format deleted file mode 100644 index ecc57c4..0000000 --- a/FinalTerm/.clang-format +++ /dev/null @@ -1,38 +0,0 @@ ---- -BasedOnStyle: Microsoft -Language: Cpp - -################################### -# indent conf -################################### - -UseTab: Never -IndentWidth: 4 -TabWidth: 4 -ColumnLimit: 0 -AccessModifierOffset: -4 -NamespaceIndentation: All -FixNamespaceComments: false -BreakBeforeBraces: Linux - -################################### -# other styles -################################### - -# -# for more conf, you can ref: https://clang.llvm.org/docs/ClangFormatStyleOptions.html -# - -AllowShortIfStatementsOnASingleLine: true - -AllowShortLoopsOnASingleLine: true - -AllowShortBlocksOnASingleLine: true - -IndentCaseLabels: true - -SortIncludes: false - -AlignConsecutiveMacros: AcrossEmptyLines - -AlignConsecutiveAssignments: Consecutive diff --git a/FinalTerm/.eide/eide.json b/FinalTerm/.eide/eide.json deleted file mode 100644 index 6fce81f..0000000 --- a/FinalTerm/.eide/eide.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "FinalTerm", - "type": "C51", - "dependenceList": [], - "srcDirs": [ - "src" - ], - "virtualFolder": { - "name": "", - "files": [], - "folders": [] - }, - "outDir": "build", - "deviceName": null, - "packDir": null, - "miscInfo": { - "uid": "f8e8e5ec8af6045a09b255d06d661dfe" - }, - "targets": { - "Debug": { - "excludeList": [ - "src/main.c" - ], - "toolchain": "Keil_C51", - "compileConfig": { - "options": "null" - }, - "uploader": "Custom", - "uploadConfig": { - "bin": "", - "commandLine": "", - "eraseChipCommand": "" - }, - "uploadConfigMap": {}, - "custom_dep": { - "name": "default", - "incList": [], - "libList": [], - "defineList": [] - }, - "builderOptions": { - "SDCC": { - "version": 3, - "beforeBuildTasks": [], - "afterBuildTasks": [], - "global": { - "device": "mcs51", - "optimize-type": "speed", - "use-non-free": false - }, - "c/cpp-compiler": { - "language-c": "c99" - }, - "asm-compiler": {}, - "linker": { - "$mainFileName": "main", - "output-format": "hex" - } - }, - "Keil_C51": { - "version": 2, - "beforeBuildTasks": [], - "afterBuildTasks": [], - "global": { - "ram-mode": "SMALL", - "rom-mode": "LARGE" - }, - "c/cpp-compiler": { - "optimization-type": "SPEED", - "optimization-level": "level-8" - }, - "asm-compiler": {}, - "linker": { - "remove-unused": true, - "output-format": "elf" - } - } - } - } - }, - "version": "3.5" -} \ No newline at end of file diff --git a/FinalTerm/.eide/files.options.yml b/FinalTerm/.eide/files.options.yml deleted file mode 100644 index c258721..0000000 --- a/FinalTerm/.eide/files.options.yml +++ /dev/null @@ -1,20 +0,0 @@ -########################################################################################## -# Append Compiler Options For Source Files -########################################################################################## - -# syntax: -# : -# For get pattern syntax, please refer to: https://www.npmjs.com/package/micromatch -# -# examples: -# 'main.cpp': --cpp11 -Og ... -# 'src/*.c': -gnu -O2 ... -# 'src/lib/**/*.cpp': --cpp11 -Os ... -# '!Application/*.c': -O0 -# '**/*.c': -O2 -gnu ... - -version: "2.0" -options: - Debug: - files: {} - virtualPathFiles: {} diff --git a/FinalTerm/.gitignore b/FinalTerm/.gitignore deleted file mode 100644 index c2f4ce9..0000000 --- a/FinalTerm/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -# dot files -/.vscode/launch.json -/.settings -/.eide/log -/.eide.usr.ctx.json - -# project out -/build -/bin -/obj -/out - -# eide template -*.ept -*.eide-template diff --git a/FinalTerm/.vscode/settings.json b/FinalTerm/.vscode/settings.json deleted file mode 100644 index 9e26dfe..0000000 --- a/FinalTerm/.vscode/settings.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/FinalTerm/.vscode/tasks.json b/FinalTerm/.vscode/tasks.json deleted file mode 100644 index 3e192b9..0000000 --- a/FinalTerm/.vscode/tasks.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "build", - "type": "shell", - "command": "${command:eide.project.build}", - "group": "build", - "problemMatcher": [] - }, - { - "label": "flash", - "type": "shell", - "command": "${command:eide.project.uploadToDevice}", - "group": "build", - "problemMatcher": [] - }, - { - "label": "build and flash", - "type": "shell", - "command": "${command:eide.project.buildAndFlash}", - "group": "build", - "problemMatcher": [] - }, - { - "label": "rebuild", - "type": "shell", - "command": "${command:eide.project.rebuild}", - "group": "build", - "problemMatcher": [] - }, - { - "label": "clean", - "type": "shell", - "command": "${command:eide.project.clean}", - "group": "build", - "problemMatcher": [] - } - ] -} \ No newline at end of file diff --git a/FinalTerm/FinalTerm.code-workspace b/FinalTerm/FinalTerm.code-workspace deleted file mode 100644 index 8c192af..0000000 --- a/FinalTerm/FinalTerm.code-workspace +++ /dev/null @@ -1,44 +0,0 @@ -{ - "folders": [ - { - "path": "." - } - ], - "settings": { - "files.autoGuessEncoding": true, - "C_Cpp.default.configurationProvider": "cl.eide", - "C_Cpp.errorSquiggles": "disabled", - "files.associations": { - ".eideignore": "ignore", - "*.a51": "a51", - "*.h": "c", - "*.c": "c", - "*.hxx": "cpp", - "*.hpp": "cpp", - "*.c++": "cpp", - "*.cpp": "cpp", - "*.cxx": "cpp", - "*.cc": "cpp" - }, - "[yaml]": { - "editor.insertSpaces": true, - "editor.tabSize": 4, - "editor.autoIndent": "advanced" - } - }, - "extensions": { - "recommendations": [ - "cl.eide", - "keroc.hex-fmt", - "xiaoyongdong.srecord", - "hars.cppsnippets", - "zixuanwang.linkerscript", - "redhat.vscode-yaml", - "IBM.output-colorizer", - "cschlosser.doxdocgen", - "ms-vscode.vscode-serial-monitor", - "alefragnani.project-manager", - "cl.stm8-debug" - ] - } -} \ No newline at end of file diff --git a/FinalTerm/schematic.pdsprj b/FinalTerm/schematic.pdsprj deleted file mode 100644 index e5561b67d8568dbc7e153daab893506074569a88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24314 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 diff --git a/FinalTerm/src/51pins/51pins.h b/FinalTerm/src/51pins/51pins.h deleted file mode 100644 index 1b34546..0000000 --- a/FinalTerm/src/51pins/51pins.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * @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/hms/hms.c b/FinalTerm/src/hms/hms.c deleted file mode 100644 index da00849..0000000 --- a/FinalTerm/src/hms/hms.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * @name: hms.c - * @author: msksbr - * @date: 2025-05-27 - * @description: implement functions for the hms.h header file. - * @usage: #include "hms.h" - * @example: HMS *hms = newHMS(); // create a new HMS object. - * @example: hms->setHMS(hms, 12, 34, 56); // set the time to 12:34:56. - */ - -#include "hms.h" // include the header file. -#include - -// setters -static void setHour(HMS *this, unsigned char hour) -{ - if (hour <= 99 && hour >= 0) { - this->hour = hour; - } else { - this->hour = 0; - } -} -static void setMinute(HMS *this, unsigned char minute) -{ - if (minute <= 59 && minute >= 0) { - this->minute = minute; - } else { - this->minute = 0; - } -} - -static void setSecond(HMS *this, unsigned char second) -{ - if (second <= 59 && second >= 0) { - this->second = second; - } else { - this->second = 0; - } -} - -// getters -static unsigned char getHour(HMS *this) -{ - return this->hour; -} -static unsigned char getMinute(HMS *this) -{ - return this->minute; -} -static unsigned char getSecond(HMS *this) -{ - return this->second; -} -// tikTok: aka. second + 1. and solve the overflow problem. -static void tikTok(HMS *this) -{ - this->second++; // second + 1. - if (this->second == 60) { // if second is 60, then minute + 1. - this->second = 0; // second = 0. - this->minute++; // minute + 1. - if (this->minute == 60) { // if minute is 60, then hour + 1. - this->minute = 0; // minute = 0. - this->hour++; // hour + 1. - if (this->hour == 100) { // if hour is 100, then hour = 0. - this->hour = 0; // hour = 0. - } - } - } -} - -// constructor with values. -HMS *newHMSWithValues(unsigned char hour, unsigned char minute, unsigned char second) -{ - HMS *obj = (HMS *)malloc(sizeof(HMS)); - if (obj) { - // bind methods to the object. - obj->setHour = setHour; - obj->setMinute = setMinute; - obj->setSecond = setSecond; - obj->getHour = getHour; - obj->getMinute = getMinute; - obj->getSecond = getSecond; - obj->tikTok = NULL; // not implemented yet. - // set the values. - obj->setHour(obj, hour); - obj->setMinute(obj, minute); - obj->setSecond(obj, second); - } - return obj; -} -// constructor -HMS *newHMS(void) -{ - return newHMSWithValues(0, 0, 0); -} \ No newline at end of file diff --git a/FinalTerm/src/hms/hms.h b/FinalTerm/src/hms/hms.h deleted file mode 100644 index 0269de2..0000000 --- a/FinalTerm/src/hms/hms.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * @name: hms.h - * @author: msksbr - * @date: 2025-05-27 - * @description: define Hours, Minutes and Seconds. - */ -#ifndef HMS_H_ -#define HMS_H_ - -typedef struct HMS HMS; - -struct HMS { - unsigned char hour; // 0-99 - unsigned char minute; // 0-59 - unsigned char second; // 0-59 - // getters and setters - void (*setHour)(HMS *, unsigned char); - void (*setMinute)(HMS *, unsigned char); - void (*setSecond)(HMS *, unsigned char); - unsigned char (*getHour)(HMS *); - unsigned char (*getMinute)(HMS *); - unsigned char (*getSecond)(HMS *); - void (*tikTok)(HMS *); // aka. second + 1 -}; - -// constructors -HMS *newHMS(void); -HMS *newHMSWithValues(unsigned char hour, unsigned char minute, unsigned char second); -#endif \ No newline at end of file diff --git a/FinalTerm/src/main.c b/FinalTerm/src/main.c deleted file mode 100644 index 109a2bc..0000000 --- a/FinalTerm/src/main.c +++ /dev/null @@ -1,14 +0,0 @@ -/* - * @name: main.c - * @author: msksbr - * @date: 2025-05-27 - * @description: This is the main file for the project. It contains the main function and the main loop. - * @project: A simple Timer project for 80C51 micro controller. - * @attention: This project implements the OOP in C !!! - */ - -#include - -void main() -{ -} \ No newline at end of file diff --git a/FinalTerm/src/test/testPNP.c b/FinalTerm/src/test/testPNP.c deleted file mode 100644 index 69627f7..0000000 --- a/FinalTerm/src/test/testPNP.c +++ /dev/null @@ -1,25 +0,0 @@ -/* - * @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 diff --git a/homework7/homework7.pdsprj b/homework7/homework7.pdsprj index d5bd04410d045678163df1f83eca925652ceb15a..1eb46f24ae9f49907efbad3f74e2c7fcdf84ead7 100644 GIT binary patch literal 20755 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 literal 20759 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