❶ 我是一个单片机初学者,我想问一下我需要学哪些知识
我觉得首先要看懂111条指令,懂意思就行,根本就不需要每一条都记住,因为常用的都只有四五十条罢了。那么多的指令意在可以用多种语句实现同一种功能。
还有就是一定要实际的编程,这一点是非常重要的,只有在实际编程中才能熟悉指令的应用,当然你或许会问自己什么都不懂怎么编程啊,这时候你不要着急,你可以你买一本书,有实际的例子的书,我也见过有这种书但是名字我忘记了,它每个例子是讲得十分详细,有汇编的代码,也有C语言的代码,而且每一行都有注释(名字我忘记了只记得那封皮是黑色的)你可以仿照它的代码写写看,再仿真一下,或者在实际的板子上试试看能不能实现功能,别人的程序修改了能用在自己的板子上那么就是自己的程序了。
至于仿真软件我建议用protues,专用的单片机仿真软件。
如果是自学,那么不懂的地方可以上网收索或者上论坛询问,这里有个单片机的QQ群,是官方建的你可以加上一起学习讨论群号是:7344883
还有在了解指令的同时你要了解你的板子的结构亦即电路连接才能写好你的程序。
当你学到一定程度的时候你可以学习一下单片机的外围电路设计比如液晶显示啊,A/D转换啊什么的....
总之,实际编程练习是学好单片机的唯一途径,至于它和汇编的关系,楼上的哥们儿已解释得十分清楚了的,就不多说了,免得啰嗦。
最后,祝你成功!!!
❷ 单片机硬件设计需要注意哪些问题
(1)存储器扩展:容量需求,在选择时就考虑到单片机的内部存储器资源,如能满足要求就不需要进行扩展,在必须扩展时注意存储器的类型、容量和接口,一般尽量留有余地,并且尽可能减少芯片的数量。选择合适的方法、ROM和RAM的形式,RAM是否要进行掉电保护等。
(2)I/O接口的扩展:单片机应用系统在扩展I/O接口时应从体积、价格、负载能力、功能等几个方面考虑。应根据外部需要扩展电路的数量和所选单片机的内部资源(空闲地址线的数量)选择合适的地址译码方法。
(3)输入通道的设计:输入通道设计包括开关量和模拟输入通道的设计。开关量要考虑接口形式、电压等级、隔离方式、扩展接口等。模拟量通道的设计要与信号检测环节(传感器、信号处理电路等)结合起来,应根据系统对速度、精度和价格等要求来选择.
(4)输出通道的设计:输出通道设计包括开关量和模拟量输出通道的设计。
(5)人机界面的设计:人机界面的设计包括输入键盘、开关、拨码盘、启/停操作、复位、显示器、打印、指示、报警等
(6)通信电路的设计:单片机应用系统往往作为现场测控设备,常与上位机或同位机构成测控网络。
(7)印刷电路板的设计与制作:电路原理图和印刷电路板的设计常采用专业设计软件进行设计,如Protel,OrCAD等。
(8)负载容限的考虑:单片机总线的负载能力是有限的。如MCS-51的P0口的负载能力为4mA,最多驱动8个TTL电路,P1~P3口的负载能力为2mA,最多驱动4个TTL电路。
(9)信号逻辑电平兼容性的考虑:在所设计的电路中,可能兼有TTL和CMOS器件
(10)电源系统的配置:单片机应用系统一定需要电源,要考虑电源的组数、输出功率、抗干扰。
(11)抗干扰的实施:采取必要的抗干扰措施是保证单片机系统正常工作的重要环节
❸ 提问,关于自学单片机的问题
一、新手学习单片机的步骤:
1、学习理论知识,了解单片机的基本原理、寄存器、中断、定时器等的基本概念;
2、最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等;
3、实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等;
4、在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了;
5、如果对硬件熟悉,可以自己尝试做一个单片机开发板!
二、新手学习单片机的步骤:
1、理论是指导,要了解单片机的基本原理;
2、理论不是全部,需要动手去探索;
3、实际动手做出一个成品才是检验自己学习的理论是否正确的唯一标准
4、网上很多论坛,还有网络知道等,不会的先思考,自己找找原因。实在找不到的,多提问。
总之,新手学习单片机在持之以恒,不要一时兴起学习一下,遇到困难就退缩。
51单片机超声波diy
❹ 怎么制作一个diy手工单片机
DIY单片机!!! 你真是神一样的存在。
楼上,FPGA的资源都要用不少呢,要多少74系列IC呢?ATLRA的一个LE可能就要一片74了。
为何叫单片机,因为集成了运算器,输入输出设备,存储设备。 要把这些结合在一起,用分立原件是不现实的。
❺ 自制单片机编程器
如果你还不会编程,建议你直接买个现成的编程器,因为自制编程器比你学习单片机还要难,你还不会走,就想着要跑了,一步一步来吧,不要心急。先学会了单片机编程,你就知道怎么做编程器了。
不懂英语没关系,都有中文教程的,每个指令都是固定的,记住了就会了。就跟数学公式一样,记住了,并勤加练习就好了。但是编程是需要思想的,入门很容易,但是要得心应手需要刻苦努力,吃的苦中苦,方为人上人啊。
❻ 准备购买一套单片机DIY材料自己焊接,请问是直接按照图片上的元件位置进行焊接还是有其他技巧我对单片
找一个开发板原理图,然后跟着元器件自己焊接,中途可能会遇到许多困难,所以在焊接之前先用仿真软件仿真成功再焊接。比如学51,用proteus仿真成功后自己焊板子调试。
❼ 关于单片机的电路板制作,高分
需要准备器具:
1、电脑一台(除非你想用手画图,否则必备),安装PCB软件、MCU编译软件等
2、电烙铁、烙铁架、热风枪各一(建议购买那种烙铁带风枪的,方便),稳压电源、万用表一台,示波仪一台(有条件就准备,也可以用虚拟的),MCU的下载器或者调试器、烧写器
3、万能板、IC座(建议你在初期用直插元件,方便更换)、需要用的元件若干(电阻电容之类低价元件,最好按照商家的最小包装买,千万别散买1、2个,别问为什么,你试过就知道了)
4、无水酒精一瓶、棉签若干,焊锡丝、松香若干,飞线红黑各一把(用来连线),台灯、带灯放大镜各一
5、常用工具:螺丝刀、斜口钳、尖嘴钳……
6、N本相关书籍以及元器件PDF文档,笔记本、笔各一(用来记录工作内容,必备)
7、创可贴、烫伤药,最好在买一份意外保险以防万一 ^_^
8、等你的设计无误,功能正常后,把你的PCB图送厂家打样(不建议用感光板,不但麻烦价格也不必送厂家打样便宜多少,除非你为了好玩)
❽ 单片机开发要注意什么
一、 如何提高C语言编程代码的效率
邓宏杰指出,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。他强调:“如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。”
他指出,各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。他说:“对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。”
二、 如何减少程序中的bug?
对于如何减少程序的bug,邓宏杰给出了一些建议,他指出系统运行中应考虑的超范围管理参数有:
1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。
2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。
3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。
4.过程参数。指系统运行中的有序变化的参数。
三、如何解决单片机的抗干扰性问题
邓宏杰指出:防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干 扰最重要的是处理好复位状态.一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。
四、 如何测试单片机系统的可靠性
有读者希望了解用用什么方法来测试单片机系统的可靠性,邓宏杰指出:“当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:
1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。
2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。
3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。
4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
邓宏杰强调:“还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。”
❾ 自制单片机外设板
“我想做的板子应该能适应较多的单片机,如常用的51、430、AVR、PIC以及以后打算学习的ARM。但这些单片机有的是5V供电,有的是3.3V供电,制作外设时有区别吗?”
有区别,需要分别对待。建议外设板的数字电源通过跳针分别跳3.3V和5V。
“再有就是对于3.3V供电的单片机的一些外设器件上应该怎么处理?比如继电器,一般电压都是5V的”
建议增加一级三极管驱动,这样可以确保继电器是通过外设板的特定电源驱动的。
“再有就是像一些三极管驱动,加5V和3.3V的点驱动电流的效果一样吗?还是应该用跳线更换周边电阻的阻值?”
当然不一样,一般来说需要变更参数,不过你可以在参数计算时确保兼容5V/3.3V即可。也就是说3.3V就能饱和,5V只不过饱和得更深点而已。
“用74HC573驱动数码管的效果在两种电压下一样吗?”
确保573与单片机共一个电源就行,都用3.3V或都用5V。这就是CMOS的特点。
❿ 自制51单片机最小系统需要什么知识
需要数字电路知识,当然还有就是单片机的基础知识。