📄 debug.lst
字号:
C51 COMPILER V7.06 DEBUG 10/10/2006 14:03:22 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DEBUG
OBJECT MODULE PLACED IN debug.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE debug.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <stdio.h>
2 #include <./Atmel/at89x52.h>
3 #include <absacc.h>
4 #include <string.h>
5 #include <ctype.h>
6 #include <stdlib.h>
7 #include "source.h"
8 extern void SD2000_read_hour(struct RTC_TIME *p);
9 unsigned char flash_wbuf[8]={0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa};
10 unsigned char flash_rbuf[8]={0,0,0,0,0,0,0,0};
11 #define MAX_DB_ARGC 5
12 #define DBCMD_LEN 20
13 #define PROMPT "\nLandMore>."
14 unsigned char dbcmd[MAX_DB_ARGC+2][DBCMD_LEN];
15 unsigned char dbcmd_len=0;
16 unsigned char argc=0;
17 unsigned int intnum;
18 unsigned char charnum;
19 unsigned char ch;
20 unsigned int eeprom_dbgadd;
21 union SFADD dwn_add_debug;
22 bit space_flag=1;
23 unsigned char error_flag=0;
24 bit debug(void){
25 1 unsigned char i;
26 1 if(dsr_tail!=dsr_head){
27 2 if(dsr_buf[dsr_tail]==0x0d){//cmd finish
28 3 if(dbcmd_len!=0){//if then end of command isn't space the 0x0d is the paramter's seperate.
29 4 dbcmd[argc][dbcmd_len]='\0';
30 4 if(argc<MAX_DB_ARGC){
31 5 argc++;
32 5 }
33 4 else{
34 5 printk("\n Too many paramter in this command.retry again.:).");
35 5 printk(PROMPT);
36 5 error_flag=1;
37 5 }
38 4 }
39 3 if(!error_flag){//no error occured.
40 4 if((argc==0)&&(dbcmd_len==0)){//empty command.
41 5 }
42 4 else if(!strcmp(dbcmd[0],"paprom")){//对APROM编程
43 5 }
44 4 else if(!strcmp(dbcmd[0],"pldrom")){//对LDROM编程
45 5 }
46 4 else if(!strcmp(dbcmd[0],"black")){
47 5 printk("\n Black all screen.");
48 5 black_all();
49 5 }
50 4 else if(!strcmp(dbcmd[0],"clrs")){
51 5 printk("\n Clera all screan.",NULL);
52 5 clear_all();
53 5 }
54 4 else if(!strcmp(dbcmd[0],"date")){
55 5 if(!strcmp(dbcmd[1],"show")){
C51 COMPILER V7.06 DEBUG 10/10/2006 14:03:22 PAGE 2
56 6 printk("\n Show time.",NULL);
57 6 show_date_on=1;
58 6 updtime=0xff;
59 6 rtc_read_timeout=1;
60 6 }
61 5 else if(!strcmp(dbcmd[1],"hide")){//off
62 6 printk("\n Hide time.",NULL);
63 6 show_date_on=0;
64 6 #ifdef HB320
clr_area(POS_TIMEX,POS_TIMEY,8,48);
#else
67 6 clr_area(POS_TIMEX,POS_TIMEY,16,99);
68 6 #endif
69 6 }
70 5 else if(!strcmp(dbcmd[1],"init")){//off
71 6 printk("\n Init rtc");
72 6 }
73 5 }
74 4 else if(!strcmp(dbcmd[0],"draw")){
75 5 if(!strcmp(dbcmd[1],"pic")){
76 6 printk("\n Draw picture.");
77 6 }
78 5 else if(!strcmp(dbcmd[1],"line")){
79 6 printk("\n Draw line");
80 6 hm_pointer.angel=rtc.hour*30;
81 6 hm_pointer.angel +=rtc.minute>>1;//hour pointer.
82 6 hm_pointer.len=20;
83 6 draw_line(&hm_pointer);
84 6 hm_pointer.angel=rtc.minute*6;//hour pointer.
85 6 hm_pointer.len=25;
86 6 draw_line(&hm_pointer);
87 6 }
88 5 }
89 4 else if(!strcmp(dbcmd[0],"address")){//show storey xx
90 5 if(argc==2){
91 6 intnum=atoi(dbcmd[1]);
92 6 if(intnum>31){
93 7 printk("\n Address must less than 31");
94 7 }
95 6 else{
96 7 myaddress=(unsigned char )intnum;
97 7 intnum=EEPROM_MACHINE_ADD;
98 7 AT24C64_wbytes((unsigned char *)&intnum,1,&myaddress);
99 7 }
100 6 }
101 5 printk("\n My address=%bx.",myaddress);
102 5 }
103 4 else if(!strcmp(dbcmd[0],"storey")){//show storey xx
104 5 if(argc==2){
105 6 intnum=atoi(dbcmd[1]);
106 6 draw_storey(POS_STOREY_ORGX,POS_STOREY_ORGY,(unsigned char )intnum);
107 6 printk("\n Show strory %c",(unsigned char )intnum);
108 6 }
109 5 }
110 4 else if(!strcmp(dbcmd[0],"fwrite")){
111 5 if(argc==2){
112 6 ch=xatouc(dbcmd[1]);
113 6 dwn_add_debug.l=0x2000;
114 6 for(i=0;i<8;i++){
115 7 printk(" w=%c ",ch);
116 7 write_flash(&dwn_add_debug,ch);
117 7 dwn_add_debug.l++;
C51 COMPILER V7.06 DEBUG 10/10/2006 14:03:22 PAGE 3
118 7 }
119 6 printk("\n Write flash 8 byte");
120 6 }
121 5 }
122 4 else if(!strcmp(dbcmd[0],"fread")){
123 5 read_flash(0x8,0,8,flash_rbuf);
124 5 printk("\n Flash data=",NULL);
125 5 for(i=0;i<8;i++){
126 6 printk("%bx ",*(flash_rbuf+i));
127 6 }
128 5 }
129 4 else if(!strcmp(dbcmd[0],"fesr")){
130 5 if(argc==2){
131 6 intnum=atoi(dbcmd[1]);
132 6 ch=(unsigned char )intnum;
133 6 if(ch<71){
134 7 printk("\n Erase total %c sectors.",ch);
135 7 for(i=0;i<ch;i++){//擦除数字和字母分区。
136 8 erase_flash(1,i);
137 8 }
138 7 }
139 6 }
140 5 }
141 4 else if(!strcmp(dbcmd[0],"fesa")){
142 5 if(argc==2){
143 6 intnum=atoi(dbcmd[1]);
144 6 ch=(unsigned char )intnum;
145 6 erase_flash(1,ch);
146 6 printk("\n Erase sectors=%c.",ch);
147 6 }
148 5 }
149 4 else if(!strcmp(dbcmd[0],"num")){
150 5 if(argc==2){
151 6 intnum=atoi(dbcmd[1]);
152 6 ch=(unsigned char )intnum;
153 6 draw_wordw24(0,0,48,number24x48[ch]);//centigrade
154 6 printk("\n ch=%c",ch);
155 6 }
156 5 }
157 4 else if(!strcmp(dbcmd[0],"fecp")){
158 5 printk("\n Erase chip.");
159 5 erase_flash(0,8);
160 5 }
161 4 else if(!strcmp(dbcmd[0],"fwtest")){
162 5 printk("\n Write flash test data.");
163 5 dwn_add_debug.l=0x2000;
164 5 for(i=0;i<8;i++){
165 6 printk(" %bx",*(flash_wbuf+i));
166 6 write_flash(&dwn_add_debug,*(flash_wbuf+i));
167 6 dwn_add_debug.l++;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -