c51单片机
***第一个 谁能介绍下c51应该怎么学习啊,之前对数字电路,还有模拟电路没有很好的学习过,里面的图看不懂,也找不到很好的学习方法。(想问下学习模拟电路还有数字电路,都学要什么的知识啊才能学好啊,关键是里面的图,还有电流,电压怎么算的不是很明白。)
****第二个 关于c51单片机里面的一些个指令,很难明白,例如add A,#21H,我知道这个代码,转成二进制代码,但是怎么就能识别要执行add指令啊,就是编程二进制了,单片机怎么就能识别各种操作呢,(是不是cpu里所能实现的功能就能执行这样的功能,)
*****第三个 还有就是程序是怎么执行的,第一步怎么执行的,书上说的不是很明白,希望能用通俗的点的语言,弱弱的问下(是一上电,pc就先执行吗,还是怎么样谢谢)
[解决办法]
LZ这个层次的话,这些问题可以先放一下
去找个板子和实验做做,有点认识后再究这些问题
[解决办法]
简单啦,我之前也是不会单片机的,后来买了本书,照着里面的实例用PROTEUS和KEIL软件做实验,基本上明白是怎么回事,再后来拿板子加仿真器做个项目,基本上搞懂了。另最好是用C做,入门、移植方便。
[解决办法]
下载一个 Keil 8 用C语言进行开发,这样要容易很多,编译后直接烧写到单片机就可以了
下载一个 51单片机的PDF来看,先知道针脚是怎么定义的
再下在一个 DXP 或 AD9 之类的电路图设计软件,开始做点简单的实验
而最简单的方法就是去陶宝买一块开发板,不用太贵的,100-200左右的就可以了
通常都会附送很多代码、教程、软件工具,通常包括如何使用Keil开发程序,如何编译、
如何烧写、如何测试、还有很多范例程序、视频教程等。
开始用STC的单片机简单点,如STC89S52 或 STC12C5A32S2等都可以,还可以直接用
串口烧写程序,不用另外弄SPI烧写器,使用方便且简单
[解决办法]
CPU其实很简单就是不同的输入对应不同的输出
不停的给它指令就是不同的输入
然后CPU就会产生不同的动作(输出或者运算)
就像开关(电路)一样,假设开为1,关为0
一个的话,开能输出高电平,关输出低,所以给它一个指令1,就高,给0就低
两个的话,可以有不同的组合(参见数字电路)(不同的MCU不同的指令),可能只有两个都开才输出高(也可以是多个输出),所以指令11就输出高,00,01,10指令都输出低
三个的话,000,001,010,011,100,101,110,111对应不同的输出
四个的话.......
..............
然后实际用的单片机CPU之类的是有N个开关在里面组合
这里理解就简单一点了
[解决办法]
我也是初学的,给点小小小的建议,说实话,我对模拟电路和数字电路也是有点不付责任的说“懂了10/1”,数字电路也10/1,但玩单片机感觉还行,也可以做点小型的工控项目,把编程学好,其他的事情由单片机去搞定,外围电路都有典型的电路图,参考下,懂个大概就行,恐怕这是最快最有效的学习方法,很快会带你入门,也很快给你点成就感,更多是乐趣,你有了乐趣后再回头学点模拟电路数字电路的知识,事情会很顺利。
学习方法有很多种,99%的人可能会说“还是从基本的学起,模拟电路数字电路搞懂”我看未必~~~~当然话说回来,要是想往更高层发展,基础就是基础,必须会。光目前的话还是先买个板子,买本c51的书,边看边实验。
[解决办法]
基础课没学好,
才会出现你的这些问题,你这些问题不怕,
找个有经验的人耐心的帮你解答一下,然后再实践一段时间,
同时多回头看看模电,数电,等方面的书,相信很快也就补上来了。
关键的是你要有耐心去学,有毅力坚持下来
[解决办法]
学单片机前,先学好计算机基础、无线电基础,有这两个基础在的话,单片机学起来就轻松很多,几乎直接跨过入门,走过提高,进入深入学习和高深的研究中。。。。。。
计算机基础:包含计算机硬件知识、C语言编程基础(编程思想+算法)、DOS(命令行)知识。。。。。。我有个朋友学电子的,结果学单片机的时候卡在了单片机编程上,学不下去了,几乎是寸步难行!!!
无线电基础:基本的电子电路知识、学校的物理知识(电路部分)。。。。。。我觉得有了这些,基本上才够学好单片机知识。
以上纯属于个人简介,嘿嘿!
[解决办法]
学习单片机第一个问题是关于“复位”的,一定要搞清楚。
1》。CPU为什么要复位?
2》。怎么叫CPU复位(reset脚的电平和复位时间)?
3》。CPU复位结束后干什么?
//
给你一个难的问题:
由于PCB排版出问题,CPU总线上有问题。如何在加电源的情况下检查出这个问题。