IRC时钟 45.1584, 波特率 115200
#include <stdio.h>
#include <string.h>
#include "STC8H.H"
#define MAIN_Fosc 45158400L // 定义主时钟
#define Baudrate1 115200L // 115200波特率
typedef unsigned char uint8;
typedef char int8;
typedef unsigned int uint16;
typedef int int16;
typedef unsigned long uint32;
typedef long int32;
// 串口1使用定时器2作为波特率
void initTimer2() {
SCON |= 0x50; // set1 Serial port Mode 8位数据,波特率可变, 允许接收串口数据
AUXR |= (1 << 2); // 1T模式
TH2 = (uint8)((65536UL - (MAIN_Fosc / 4) / Baudrate1) / 256); // 0xFF
TL2 = (uint8)((65536UL - (MAIN_Fosc / 4) / Baudrate1) % 256); // 0x9E
AUXR |= (1 << 4); // 定时器2开始计时
ES = 1; // 允许串口1中断
EA = 1;
}
void print_rom_content(uint16 start_addr, uint16 end_addr) {
uint16 i = start_addr;
uint16 j;
uint8 code_byte;
uint8 ascii;
printf("DumpHex: \r\nADDR : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ASCII ");
do {
if (i % 16 == 0) {
printf("\r\n%04XH: ", i);
}
code_byte = *(uint8 code *)i;
printf("%02bX ", code_byte);
if ((i!=0) && ((i+1)%16 == 0)) {
printf(" | ");
// 常规可打印字符
j = 15;
do {
ascii = *(uint8 code *)(i-j);
if (ascii >= 32 && ascii <= 126) {
putchar(ascii);
} else {
putchar('.');
}
j--;
if (j == 0) break;
} while (1);
}
if (i == end_addr) break;
i++;
} while (1);
puts("\r\n");
}
void main(void) {
// 初始化定时器2作为串口1的波特率发生器
initTimer2();
TI = 1;
print_rom_content(0x0000, 0x588); // 打印前0x588H字节ROM代码区
while (1);
}
输出如下
DumpHex:
ADDR : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ASCII
0000H: 02 05 7D E5 37 24 2B F8 E6 05 37 22 78 28 30 07 | ..}.7$+...7"x(0
0010H: 02 78 2B E4 75 F0 01 12 04 63 02 04 0B 20 00 EB | .x+.u....c... .
0020H: 7F 2E D2 00 80 18 EF 54 0F 24 90 D4 34 40 D4 FF | .......T.$..4@.
0030H: 30 04 0B EF 24 BF B4 1A 00 50 03 24 61 FF E5 38 | 0...$....P.$a..
0040H: 60 02 15 38 05 3B E5 3B 70 02 05 3A 30 07 0D 78 | `..8.;.;p..:0..
0050H: 28 E4 75 F0 01 12 04 63 EF 02 04 51 02 05 31 74 | (.u....c...Q..1
0060H: 03 D2 07 80 03 E4 C2 07 F5 37 8B 28 8A 29 89 2A | .........7.(.).
0070H: E4 F5 38 F5 3A F5 3B E5 38 60 07 7F 20 12 00 3E | ..8.:.;.8`.. ..
0080H: 80 F5 75 39 FF C2 01 C2 00 C2 02 C2 03 C2 05 C2 | ..u9...........
0090H: 06 C2 08 12 00 0C FF 70 0D 30 07 05 7F 00 12 00 | .......p.0.....
00A0H: 4F AF 3B AE 3A 22 B4 25 5F C2 D5 C2 04 12 00 0C | O.;.:".%_......
00B0H: FF 24 D0 B4 0A 00 50 1A 75 F0 0A 78 38 30 D5 05 | .$....P.u..x80.
00C0H: 08 B6 FF 01 06 C6 A4 26 F6 20 D5 04 70 02 D2 03 | .......&. ..p..
00D0H: 80 D9 24 CF B4 1A 00 EF 50 04 C2 E5 D2 04 02 02 | ..$.....P......
00E0H: 4F D2 01 80 C6 D2 00 80 C0 D2 02 80 BC D2 D5 80 | O..............
00F0H: BA D2 05 80 B4 7F 20 12 00 3E 20 02 07 74 01 B5 | ...... ..> ..t.
0100H: 38 00 40 F1 12 00 03 FF 12 00 3E 02 00 77 D2 08 | 8.@.......>..w.
0110H: D2 06 80 95 12 00 03 FB 12 00 03 FA 12 00 03 F9 | ...............
0120H: 4A 4B 70 06 79 20 7A 03 7B FF 20 02 2E E5 38 60 | JKp.y z.{. ...8
0130H: 2A 7E 00 8E 82 75 83 00 12 04 24 60 06 0E EE 65 | *~...u....$`...
0140H: 39 70 F0 C2 D5 EB C0 E0 EA C0 E0 E9 C0 E0 EE 12 | 9p.............
0150H: 02 96 D0 E0 F9 D0 E0 FA D0 E0 FB 12 04 0B FF 60 | ...............
0160H: AA EB C0 E0 EA C0 E0 E9 C0 E0 12 00 3E D0 E0 24 | ............>..
0170H: 01 F9 D0 E0 34 00 FA D0 E0 FB E5 39 04 60 DC D5 | ....4......9.`.
0180H: 39 D9 80 87 7B FF 7A 02 79 92 D2 02 80 9C 79 10 | 9...{.z.y.....y
0190H: 80 02 79 08 C2 06 C2 08 80 08 D2 D5 79 0A 80 04 | ..y.........y..
01A0H: 79 0A C2 D5 E5 39 04 70 02 F5 39 E4 FA FD FE FF | y....9.p..9....
01B0H: 12 00 03 FC 7B 08 20 01 13 12 00 03 FD 7B 10 30 | ....{. ......{.
01C0H: 00 0A 12 00 03 FE 12 00 03 FF 7B 20 EC 33 82 D5 | ..........{ .3.
01D0H: 92 D5 50 13 C3 E4 30 00 06 9F FF E4 9E FE E4 20 | ..P...0........
01E0H: 01 03 9D FD E4 9C FC E4 CB F8 C2 01 EC 70 0C CF | .............p.
01F0H: CE CD CC E8 24 F8 F8 70 F3 80 17 C3 EF 33 FF EE | ....$..p.....3.
0200H: 33 FE ED 33 FD EC 33 FC EB 33 FB 99 40 02 FB 0F | 3..3..3..3..@..
0210H: D8 E9 EB 30 01 05 F8 D0 E0 C4 48 B2 01 C0 E0 0A | ...0......H....
0220H: EC 4D 4E 4F 78 20 7B 00 70 C2 EA B5 39 00 40 BC | .MNOx {.p...9.@
0230H: C0 E0 12 02 98 D0 F0 D0 E0 20 01 04 C4 C0 E0 C4 | ......... .....
0240H: B2 01 C0 F0 12 00 27 D0 F0 D5 F0 EB 02 00 77 12 | ......'.......w
0250H: 04 73 01 14 53 01 8E 58 00 E5 4C 00 E1 42 01 92 | .s..S..X..L..B.
0260H: 4F 01 9A 44 01 9A 49 00 FA 43 01 A0 55 01 84 46 | O..D..I..C..U..
0270H: 01 84 45 01 84 47 03 40 50 00 E9 2D 00 ED 2E 01 | ..E..G.@P..-...
0280H: 10 2B 00 F1 23 01 0E 20 03 29 2A 00 A9 48 00 00 | .+..#.. .)*..H.
0290H: 01 08 3F 3F 3F 00 79 0A A2 D5 20 03 14 30 05 09 | ..???.y... ..0.
02A0H: B9 10 02 04 04 B9 08 01 04 A2 D5 20 06 02 50 01 | ........... ..P
02B0H: 04 20 02 68 92 02 B5 38 00 50 34 C0 E0 7F 20 30 | . .h...8.P4...
02C0H: 03 19 7F 30 A2 02 72 06 72 05 50 0F 12 02 EF C2 | ...0..r.r.P....
02D0H: 02 C2 06 C2 05 C2 08 7F 30 80 0F 30 05 03 E9 C0 | ........0..0...
02E0H: E0 12 00 3E 30 05 03 D0 E0 F9 D0 E0 B5 38 CC 30 | ...>0........8.
02F0H: 05 17 7F 30 B9 10 0C 12 00 3E 7F 58 30 04 07 7F | ...0.....>.X0..
0300H: 78 80 03 B9 08 03 12 00 3E 30 02 05 7F 2D 02 00 | x.......>0...-.
0310H: 3E 7F 20 20 08 F8 7F 2B 20 06 F3 22 92 02 80 CF | >. ...+ .."...
0320H: 28 6E 75 6C 6C 29 00 D2 01 12 00 03 30 01 F8 C2 | (null)......0..
0330H: 01 78 38 30 D5 01 08 F6 02 00 A9 2D 50 43 49 58 | .x80.......-PCI
0340H: 12 00 03 24 03 B4 05 00 40 01 E4 90 03 3B 93 12 | ...$....@....;.
0350H: 00 2F 74 3A 12 00 2F D2 03 75 38 04 02 01 8E 8C | ./t:../..u8....
0360H: 22 8D 23 8E 24 8F 25 7B FF 7A 04 79 99 12 00 65 | ".#.$.%{.z.y...
0370H: E5 25 54 0F 70 0F 7B FF 7A 04 79 EF 85 24 2B 85 | .%T.p.{.z.y..$+
0380H: 25 2C 12 00 65 85 25 82 85 24 83 E4 93 7B FF 7A | %,..e.%..$...{.
0390H: 04 79 F9 F5 2B 12 00 65 E5 25 45 24 60 4D E5 25 | .y..+..e.%E$`M.
03A0H: 24 01 FF E4 35 24 EF 54 0F 70 40 7B FF 7A 05 79 | $...5$.T.p@{.z.
03B0H: 00 12 00 65 75 26 00 75 27 0F C3 E5 25 95 27 FF | ...eu&.u'...%.'
03C0H: E5 24 95 26 8F 82 F5 83 E4 93 FF C3 94 20 40 08 | .$.&......... @
03D0H: EF D3 94 7E 50 02 80 02 7F 2E 12 05 31 E5 27 15 | ...~P.......1.'
03E0H: 27 70 02 15 26 E5 27 45 26 70 CF E5 25 65 23 70 | 'p..&.'E&p..%e#
03F0H: 04 E5 24 65 22 60 0B 05 25 E5 25 70 02 05 24 02 | ..$e"`..%.%p..$
0400H: 03 70 7B FF 7A 05 79 04 02 05 07 BB 01 06 89 82 | .p{.z.y........
0410H: 8A 83 E0 22 50 02 E7 22 BB FE 02 E3 22 89 82 8A | ..."P.."...."..
0420H: 83 E4 93 22 BB 01 0C E5 82 29 F5 82 E5 83 3A F5 | ...".....)....:
0430H: 83 E0 22 50 06 E9 25 82 F8 E6 22 BB FE 06 E9 25 | .."P..%..."....
0440H: 82 F8 E2 22 E5 82 29 F5 82 E5 83 3A F5 83 E4 93 | ..."..)....:...
0450H: 22 BB 01 06 89 82 8A 83 F0 22 50 02 F7 22 BB FE | "........"P..".
0460H: 01 F3 22 FA E6 FB 08 08 E6 F9 25 F0 F6 18 E6 CA | ..".......%....
0470H: 3A F6 22 D0 83 D0 82 F8 E4 93 70 12 74 01 93 70 | :.".......p.t..
0480H: 0D A3 A3 93 F8 74 01 93 F5 82 88 83 E4 73 74 02 | .....t.......st
0490H: 93 68 60 EF A3 A3 A3 80 DF 44 75 6D 70 48 65 78 | .h`......DumpHe
04A0H: 3A 20 0D 0A 41 44 44 52 20 3A 20 30 30 20 30 31 | : ..ADDR : 00 0
04B0H: 20 30 32 20 30 33 20 30 34 20 30 35 20 30 36 20 | 02 03 04 05 06
04C0H: 30 37 20 30 38 20 30 39 20 30 41 20 30 42 20 30 | 07 08 09 0A 0B
04D0H: 43 20 30 44 20 30 45 20 30 46 20 20 7C 20 20 20 | C 0D 0E 0F |
04E0H: 20 20 20 20 41 53 43 49 49 20 20 20 20 20 00 0D | ASCII .
04F0H: 0A 25 30 34 58 48 3A 20 00 25 30 32 62 58 20 00 | .%04XH: .%02bX
0500H: 20 7C 20 00 0D 0A 00 12 04 0B 60 1C FF 09 E9 70 | | .......`....
0510H: 01 0A C0 E0 EA C0 E0 EB C0 E0 12 05 31 D0 E0 FB | ............1..
0520H: D0 E0 FA D0 E0 F9 80 DF 7F 0A 12 05 31 E4 FE FF | ............1..
0530H: 22 EF B4 0A 07 74 0D 12 05 3C 74 0A 30 98 11 A8 | "....t...<t.0..
0540H: 99 B8 13 0C C2 98 30 98 FD A8 99 C2 98 B8 11 F6 | ......0........
0550H: 30 99 FD C2 99 F5 99 22 43 98 50 43 8E 04 75 D6 | 0......"C.PC..u
0560H: FF 75 D7 9E 43 8E 10 D2 AC D2 AF 22 12 05 58 D2 | .u..C......"..X
0570H: 99 7D 88 7C 05 E4 FF FE 12 03 5F 80 FE 78 7F E4 | .}.|......_..x.
0580H: F6 D8 FD 75 81 3B 02 05 6C

被折叠的 条评论
为什么被折叠?



