我希望有一个能解决我学习单片机问题的师傅

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:37:46
我学了半年单片机,学了汇编语言现在在学C语言。在我的周围没什么单片机高手,有好多的问题我只能浪费大量的时间去找原因,我非常的希望在我学习的过程中有一个师傅能够回答我的问题。
#include<reg52.h>
char TAB[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6f,0x77,0x7C,0x39,0x5E,0x79,0x71};
sbit LED=P1^0
#define XS P0
#define THM1=(65636-50000)/256
#define TLM1=(65636-50000)%256
char count_T0=0;
char seconds=0;
char scan=0;
void delay_bm(void);
main()
{ IE=0x8a;
TMOD=0x01;
TH0=THM1;TL0=TLM1;
TR0=1;
LED=1;
while(1);
{ int i;
for(i=0;i<100;i++)
{ XS=TAB[seconds/10];
P2=0x01;
delay_bm();
XS=TAB[seconds%10];
P2=0x02;
delay_bm();
}
}
}
void T0_1s(void)interrupt 1
{ TH0=THM1;TL0=TLM1;
if(++count_T0==20)
{ count_T0=0;
seconds++;
if(seconds==60)
{ seconds=0;

http://blog.ednchina.com/ahai0306/
单片机学习博客,里面有一些不错的学习资料、程序和工具
博主QQ: 464976346 指导单片机初学者学习

你的程序我编译过了,有两个问题:
1、P1^0后面加分号。
2、#define THM1 (65636-50000)/256 去掉“=”号。
现在编译一下就OK了,以后写程序要仔细一些。
sbit LED=P1^0;
#define XS P0
#define THM1 (65636-50000)/256
#define TLM1 (65636-50000)%256

找到这种师傅的几率不大,建议你在百度上搜下单片机QQ群,在群里可以和人家交流,很多问题可以问别人。

1.将sbit LED=P1^0 挪到char count_T0=0; 上面,后面加上;号。
2.#define THM1=(65636-50000)/256
#define TLM1=(65636-50000)%256
改为
#define THM1 (65636-50000)/256
#define TLM1 (65636-50000)%256

sbit LED=P1^0 后面有个分号地
sbit LED=P1^0; 我帮你看过不过有4个warning