1、编程:写代码用的UltraEdit,也可以直接写。一般都用C写,汇编也很多。我建议都要学,因为对后面学更多的东西帮助很大。
2、软件仿真:基本上都是用KEIL调试的,(对51一般都没仿真,直接下到板子里就知道)仿真软件有proteus,两个软件教程特别特别的多。
一般对51明白点基本直接用KEIL调试就知道问题。
3、烧写:(1)烧录器(编程器),没必要,太贵了,直接烧51简直浪费。(2)自己做的下载器:用串口、并口都可以。网路上基本上都是串口下载(简单,方便)。我用的是STC89C51系列的51,因为他的下载软件简单好用,串口随便加个MX232连接下就OK了(我没实际做过,不过我买的板子上的和自己了解的资料看,很简单)
我也是刚学51没多久,好多也都不会,大家一起加油吧。另外,我建议你买个板子回来玩,对刚学的,又没有人带的话,买个板子很重要,可以入门很快。(实话,51对很多人来说其实不用板子就可以轻松学会)
不知道还有什么问题?有什么问题可以发邮件给我,大家一起进步吧。
请参考
2. 51单片机ADD指令问题,求大虾!!!!
执行的结果是A=40H 是解释不通
MOV A,30H ; A = (30H) 30H 未知数
ADD A,10H ; A = A+(10H) 10H 未知数
如果是这样就对了
MOV A,#30H ; A = 30H
ADD A,#10H ; A = A+10H=40H
3. 51单片机特殊功能寄存器SFR问题求大虾!!!!
SP,A,DPTR都各自是一个寄存器,是众多特殊寄存器中的一个,即SFR中的一个,他们在SFR中的地址不同.单片机内部的内存的结构:
由四个部分组成:
1 ROM或者Flash
2 内部RAM
3 SFR
4 外部RAM
注意,很多单片机初学者,分不清内部RAM和SFR,认为他们是一个东西,其实不是,他们是完全独立的两个物理空间.
内部RAM的地址是 低部分00H--7FH 高部分80H--FFH
SFR的地址是 80H--FFH
虽然SFR和高的内部RAM地址相等,但是寻址方式不一样,所以单片机能区分得开.
而你问的A,DPTR,SP是SFR中的三个个体,他们在SFR中的地址不一样.就像我们都住在地球上,但是每个人家的住址都有区别一个道理.
他们都是SFR,准确说,是SFR中的一个具体的个体,但是你不能说他们都叫SFR,只能说他们都是SFR,或者都属于SFR
4. 51单片机ADD指令问题,求大虾!!!!
a就是累加器acc
b是b寄存器。
这个执行完以后,b放结果高8位,a放结果低8位
你的数据,执行以后a=56h,b=1ch
ba=1c56h
5. 请教各位大虾! c51单片机中while(1)的用法。
可以运行,只是主函数也是不断的循环,那么你的中断服务就会受影响,
所以加一个while(1) 使得程序停止在此处,也可以说是等待中断。
中断服务函数是独立主函数存在的。
6. 请教各位大虾! c51单片机中while(1)的用法。
while(1)
{
}
的话,就是不断执行大括号里的程序;
while(1);的话就是程序到此停止,后面的不再执行了,除了中断,再也不动了,就一个分号的区别,分号干掉就好了。
7. 【请教各位大虾】51单片机如何在复位时保存数据
你好,这个很简单啊,和掉电保存是一个道理!只需要用到24c02 然后通过软件设定读取和写的时间就行了,一般设为几秒后单片机就向24C02写资料就行了,不懂再问我吧
8. c51单片机的数据存储空间是多大的,求大虾!!!!!!
不同型号的数据存储空间不同。基本型号一般有128或256字节,某些扩展型号片内具有512、768、1024乃至更多的SRAM。
另外通过片外扩展,51单片机可以实现64kB乃至理论上无穷大的外部数据访问空间。
9. 51单片机单周期和多周期指令的理解求大虾!!
MOV A #30H只是执行了一个命令,而MUL AB是这样执行的,读寄存器一个指令周期,算A*B,这要两个指令周期,然后结果四位存在A中,用一个指令周期。
不要只看表面,要知道为什么。
10. 51单片机LOOP指令问题,如下图所示求大虾!!!
那条ABC: DS 08H的意思就是从当前地址开始,保留8个字节的空间。也就是说下一条指令/数据就是从当前指令+8H处开始存放的,所以LOOP:MOV A,30H是从2008H开始存放