zenghua520
发表于 2014-11-19 13:25
itelectron 发表于 2014-3-5 22:49 static/image/common/back.gif
MOVA,31H
XRLA,41H ...
感觉可以有多种方法;
第一种;
uint a31, a31hContents;
uint a41hContents,a40hContents;
uint a30 ,a30hContents;
a31=a31hContents;
a31^=a41hContents;
if(--a31==1)//这个jnz指令是否为1才跳转?不是(--a31>0)
{
if(--a31==0)
p1_0=1;
else
{
40h=a30hContents;
41hContents=a31hContents;
p1_0=1;
}
}
else
{
a30=a30hContents;
a30^=a40hContents;
if(--a30==0)
p1_0=1;
else
{
40h=a30hContents;
41hContents=a31hContents;
p1_0=1;
}
}
第二种;
//uint a31hContents,a41hContents,a40hContents,a;
void cal(uint b)
{
if(b--)
{
a40hContents=30hContents;
a41hContents=31hContents;
}
p_0=1;
}
a=a31hContents;
a^=a41hContents;
if(--a==1);///或(--a>0)
cal(a);
else
{
a=30hContents;
a^=a41hContents;
cal(a);
}
tcc8073
发表于 2014-11-19 15:27
我觉得楼主发的东西是有实际用处的,关键要看读的人怎么去理解,我做单片机,LINUX,上位机十多年了,我觉得有些地方说的对我来说都有很多领悟,每个人都有每个人的观点,做技术的没有必要去讨论技术之外的东西,对自己有用的就吸收,觉得没有作用也不需要说那么多,什么技术对人特定的人群都是有作用的,多看,多想,总会有感悟的,做技术,如果真的想做,我觉得那就是做大老学到老,武功再高,也怕菜刀,武功再好,板砖撂刀,再厉害的人都有缺点,多听多看,也能学到不少东西.
jianhong_wu
发表于 2014-11-20 11:31
a15851404012 发表于 2014-11-18 20:18 static/image/common/back.gif
谢谢吴老师,刚开学习单片机,以前也没学过C能不能推荐下好的C教程,还有您的每一章节我都打印认真的反 ...
C语言的教程很多,都大同小异的,到书店随便买一本入门就可以了。谭浩强的是大家入门用的最多的。
jianhong_wu
发表于 2014-11-20 11:35
armxu 发表于 2014-11-18 21:11 static/image/common/back.gif
赶快出书吧!!!发打印出来好厚,只打印了一部分,二百多页。希望出书时程序也能打印,要分多本出,好出差 ...
书稿计划要到明年下半年才开始整理。
jianhong_wu
发表于 2014-11-20 11:36
261854681 发表于 2014-11-19 08:06 static/image/common/back.gif
其实,吴工出书必定会火,大多数初学者会感受到吴工的**与真诚,至少,坛子里没发现第二人 ...
感谢夸奖和支持。
jianhong_wu
发表于 2014-11-20 11:36
tcc8073 发表于 2014-11-19 15:27 static/image/common/back.gif
我觉得楼主发的东西是有实际用处的,关键要看读的人怎么去理解,我做单片机,LINUX,上位机十多年了,我觉得有些 ...
感谢前辈的鼓励与支持。
guyuexibei
发表于 2014-11-25 20:19
jianhong_wu 发表于 2014-3-5 21:58 static/image/common/back.gif
第四节:累计定时中断次数使LED灯闪烁。
开场白:
TH0=0xf8; //重装初始值(65535-2000)=63535=0xf82f
TL0=0x2f;
初值装载应该是65536……
吧?
jianhong_wu
发表于 2014-11-25 21:43
guyuexibei 发表于 2014-11-25 20:19 static/image/common/back.gif
TH0=0xf8; //重装初始值(65535-2000)=63535=0xf82f
TL0=0x2f;
初值装载应该是65536……
对。应该是65536。我搞错了。
jie_wu
发表于 2014-11-28 10:37
jianhong_wu 发表于 2014-3-7 12:35 static/image/common/back.gif
第二十三节:独立按键控制跑马灯的速度。
开场白:
鴻哥:能否直接將代碼粘貼出來呢?
公司電腦看不了簡體字,下載打開全是亂碼。。。。
前面寫得太棒了,我一口氣看到這,突然看不了了~~~
謝謝了!!
armxu
发表于 2014-11-28 21:23
jie_wu 发表于 2014-11-28 10:37
鴻哥:能否直接將代碼粘貼出來呢?
公司電腦看不了簡體字,下載打開全是亂碼。。。。
前面寫得太棒了,我 ...
你太厉害了!
jianhong_wu
发表于 2014-11-29 10:13
jie_wu 发表于 2014-11-28 10:37 static/image/common/back.gif
鴻哥:能否直接將代碼粘貼出來呢?
公司電腦看不了簡體字,下載打開全是亂碼。。。。
前面寫得太棒了,我 ...
其实我也想直接把代码贴出来。但是论坛系统有个限制的,代码太多的时候必须打包成附件才能上传,望谅解。
fang316
发表于 2014-11-29 12:31
有需求的话我可以来整理一下
fang316
发表于 2014-11-29 12:31
本帖最后由 fang316 于 2014-11-29 12:50 编辑
我已经整理了一些了
angus118
发表于 2014-11-30 15:15
tokuhou
发表于 2014-11-30 15:44
好东东啊 相当不错的
jie_wu
发表于 2014-12-3 10:20
if(ucRcregBuf==0xeb&&ucRcregBuf==0x00&&ucRcregBuf==0x55)//数据头eb 00 55的判断
73. {
74. if(ucRcregBuf==0x01&&ucRcregBuf==0x02)//有效数据01 02的判断
鸿哥:这一段不太明白.能提供一些参考资料吗?
谢谢
jstiger
发表于 2014-12-3 17:20
果然是好东东
jianhong_wu
发表于 2014-12-3 18:30
fang316 发表于 2014-11-29 12:31 static/image/common/back.gif
我已经整理了一些了
感谢你的整理和分享。
jianhong_wu
发表于 2014-12-3 18:32
jie_wu 发表于 2014-12-3 10:20 static/image/common/back.gif
if(ucRcregBuf==0xeb&&ucRcregBuf==0x00&&ucRcregBuf==0x55)//数据头eb 00 55的判断
73. ...
这个也没有什么参考资料。我的代码已经尽我最大努力加了注释,剩下的要靠个人去领悟它。
lsc201100
发表于 2014-12-5 09:50
P32PM,P33PM,P17PM,P16PM,P31PM;
delay_10us(5);
io_32=1;io_33=1;io_16=1;io_17=1;io_31=0;io_14=1;io_13=1;io_21=1;io_37=1;
nop;nop;nop;nop;nop;nop;
if(key_pcs<255) key_pcs++; //检测次数
nop;nop;nop;
P32IM,P33IM,P17IM,P16IM;
nop;nop;nop;nop;nop;nop;
if(io_32==0)
{
if(key_pcs==6)key_val=1; //ckey_power;
}
else if(io_33==0)
{
if(key_pcs==5)key_val=2; //TIMER 时间=5*4MS,判为一次按键
else{
if(fbsettime) //是连按吗?
{
if(key_pcs==200) //69-5=64,大约0.25S连键加一
{
key_val=2; key_pcs=6;
}
}
else if(key_pcs==250) //到了一秒,判为连按键有效
{
fbsettime=1; //置连键标志位
key_val=2; //时间加一标志
key_pcs=6; //检测次数从6开始
}
}
}
else if(io_17==0)
{
if(key_pcs==5)key_val=3; //SETTEMP
else{
if(fbsettemp)
{
if(key_pcs==200)
{
key_val=3; key_pcs=6;
}
}
else if(key_pcs==250)
{
fbsettemp=1;key_val=3;key_pcs=6;
}
}
}
else if(io_16==0)
{
if(key_pcs==5)key_val=4; //SETMODE
}
else
{ key_pcs=0; //清检测次数变量
fbsettime=0; //清连键标志位
fbsettemp=0; //清连键标志位
}
P32PM,P33PM,P17PM,P16PM,P31PM; //P2CFG0=0x05;
return(key_val);