diff options
| author | ruki <[email protected]> | 2022-05-10 15:08:59 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-05-10 15:08:59 +0800 |
| commit | 4ceb56296bccbefeab9568b4391cf8f01b114ff7 (patch) | |
| tree | 72977d2ee347ff4a73b39333cd72db73e853f046 /tests/projects | |
| parent | 8cbd906643c7034ff53f44660ef84ee0f3f449ff (diff) | |
| parent | 1f87afd7f19f754ae2206d0cfabdc739f81ff412 (diff) | |
Merge pull request #2349 from DawnMagnet/dev
add keil-c51 toolchain & rules & review
Diffstat (limited to 'tests/projects')
| -rw-r--r-- | tests/projects/embed/c51/hello/src/main.c | 50 | ||||
| -rw-r--r-- | tests/projects/embed/c51/hello/xmake.lua | 4 |
2 files changed, 54 insertions, 0 deletions
diff --git a/tests/projects/embed/c51/hello/src/main.c b/tests/projects/embed/c51/hello/src/main.c new file mode 100644 index 000000000..bdab759d9 --- /dev/null +++ b/tests/projects/embed/c51/hello/src/main.c @@ -0,0 +1,50 @@ +#include <reg52.h> + +#define REP(i, j) for(i = 0; i < j; ++i) +sbit control = P3 ^ 2; + +void delay_ms(unsigned int n) { + unsigned int i, j; + for (j = n; j > 0; j--) + for (i = 112; i > 0; i--); +} + + +int i; + +void set(unsigned int x) { + P1 = x; + delay_ms(100); +} + +void left_fill() { + REP(i, 8) set(0xFF >> i); +} + +void right_fill() { + REP(i, 8) set((0xFF >> (7 - i)) ^ 0xFF); +} + +void left_erase() { + REP(i, 8) set((0xFF >> (7 - i))); +} + +void right_erase() { + REP(i, 8) set((0xFF >> i) ^ 0xFF); +} + +int main() { + P1 = 0xFF; + P3 = 0xFF; + while (1) { + if (control == 0) { + left_fill(); + left_erase(); + right_fill(); + right_erase(); + } else { + set(0x55); + set(0xAA); + } + } +}
\ No newline at end of file diff --git a/tests/projects/embed/c51/hello/xmake.lua b/tests/projects/embed/c51/hello/xmake.lua new file mode 100644 index 000000000..be1e170df --- /dev/null +++ b/tests/projects/embed/c51/hello/xmake.lua @@ -0,0 +1,4 @@ +target("hello") + add_rules("c51.binary") + set_toolchains("c51") + add_files("src/main.c")
\ No newline at end of file |
