1. c51单片机原理及应用重点
1、单片机内部资源
STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源
(1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢
(2)RAM(内存)——数据存储空间 —— 断电数据丢失,读写速度快,无限次使用
(3)SFR —— 特殊功能寄存器
2、单片机最小系统
51单片机的内部组成及应用原理解析
最小系统:最少组件组成单片机可以工作的系统。
三要素:
(1)、 电源电路:5V
(2)、 晶振电路:11.0592MHZ、两个30PF
(3)、 复位电路:
P0:开漏输出,必须加上拉电阻
准双向口:
强推挽输出:电流驱动能力强
高阻态
上下拉电阻:上拉电路就是将不确定的信号通过一个电阻拉到高电平,同时限流作用。下拉电阻就是下拉到低电平。
上下拉电阻选取:从降低功耗方面考虑应该足够大,因为电阻越大,电流越小;驱动能力来看,小电阻
3、硬件基础知识
(1)、电磁干扰(EMI)——静电放电(ESD)、快速瞬间脉冲群(EFT)、浪涌(Surge)
(2)、去耦电容的使用
低频滤波电容,平常应用最多的事钽电容,电解电容,陶瓷电容,起到去除电源低频纹波,稳定电源的作用。
高频滤波电容,电容附近,通常用104电容来进行去除高频干扰。
(3)、三极管(PNP,NPN) b,c,e --- 电压驱动
控制应用
驱动应用
4、LED发光二极管——电流驱动
51单片机的内部组成及应用原理解析
通常红色贴片LED, 靠电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度有所变化,5mA以上亮度基本不变。
VCC 电压是 5V,发光二极管自
身压降大概是 2V,那么在右边 R34 这个电阻上承受的电压就是 3V。
R = U/I —— 1~20mA —— R:150~3K
5、C语言基础
(1)、基本运算符
+ - * / % ++ -- = == != += -= 《《 》》
2. 学习单片机需要哪些电路知识
单片机属于数字电路,学习单片机需要掌握的模拟电路知识常用的有: 1、电阻、电容、电感、二极管、三极管的基本原理及应用 2、三极管的三种基本放大电路及其它放大及驱动电路 3、高通、低通等无源及有源滤波电路 4、运算放大器的基本电路 5、正弦波、方波、三角波等波形发生电路 6、数模混合的AD和DA电路
3. 学单片机最重要的知识点是什么
如果你是考试的话
应该是下面几点:
寻址方式(需要认识其寻址方式,并能区分与其它指令的特点)
指令的使用(一般是读一段程序,问寄存器中的内容)
定时器的使用(初始值计算,寄存器的初始化)
外部存储器扩展(知道各个端口的连线,会计算初始地址及片外寻址范围)
LED扩展(知道LED的原理,编程实现一个显示的输出,要知道他的接线方式及对应的显示代码)
键盘扩展(知道键盘的输入原理,程序阅读,初始化编程)
数模转换(连线设计,地址范围计算,初始化编程)
如果你是设计个东西的话
你要会写程序,会使用KeilC,Proteus等软件。
因为程序需要多次调试。
目前我想到的就这么多,希望可以帮到你。
4. 学习单片机需要具备哪些基础知识
要学单片机,首先要有硬件基础,熟悉单片面内部结构和各引脚功能,这要先学讲解单片机原理的资料,了解了单片机的工作原理,还要有电路设计的的功底,能设计外围电路,否则稍有错误就不能正常运行,有了硬件设计能力再学习编写程序,建议从汇编学习再学C程序编程.所以单片机设计是软硬件设计两方面兼有的。
C语言必须会,因为单片机是那个C语言写程序的,你可以到网上下载谭浩强C设计第三版,这个对初学51单片机是绰绰有余,硬件的话模电数电也要了解,否则后面学习对你的障碍很大,重要看你学习单片机的目的,是纯粹单片机爱好者那,还是想忘研发上面发展,这个自己必须明确,如果以后想上研发方面发展,那你学习的东西还会很多,你可以到网上买块51学习板50-70元的急可以了,到网上下载郭天祥老师十天学会51单片机教材,慢慢学习。
5. 学习单片机要有哪些基础知识
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字I/O的使用
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕
麻烦,所有的单片机都是这样。
第二步:定时器的使用
学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
第三步:中断
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某
种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等
。
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
第四步:与PC机进行RS232通信
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!
第五步:学会A/D转换
MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。
使用A/D转换功能的简单的例子是设计一个电压表。
第六步:学会PCI、I2C接口和液晶显示器接口
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。
第七步:学会比较、捕捉、PWM功能
这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。
如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计
学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。
到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。
6. 我是一个单片机初学者,我想问一下我需要学哪些知识
我觉得首先要看懂111条指令,懂意思就行,根本就不需要每一条都记住,因为常用的都只有四五十条罢了。那么多的指令意在可以用多种语句实现同一种功能。
还有就是一定要实际的编程,这一点是非常重要的,只有在实际编程中才能熟悉指令的应用,当然你或许会问自己什么都不懂怎么编程啊,这时候你不要着急,你可以你买一本书,有实际的例子的书,我也见过有这种书但是名字我忘记了,它每个例子是讲得十分详细,有汇编的代码,也有C语言的代码,而且每一行都有注释(名字我忘记了只记得那封皮是黑色的)你可以仿照它的代码写写看,再仿真一下,或者在实际的板子上试试看能不能实现功能,别人的程序修改了能用在自己的板子上那么就是自己的程序了。
至于仿真软件我建议用protues,专用的单片机仿真软件。
如果是自学,那么不懂的地方可以上网收索或者上论坛询问,这里有个单片机的QQ群,是官方建的你可以加上一起学习讨论群号是:7344883
还有在了解指令的同时你要了解你的板子的结构亦即电路连接才能写好你的程序。
当你学到一定程度的时候你可以学习一下单片机的外围电路设计比如液晶显示啊,A/D转换啊什么的....
总之,实际编程练习是学好单片机的唯一途径,至于它和汇编的关系,楼上的哥们儿已解释得十分清楚了的,就不多说了,免得啰嗦。
最后,祝你成功!!!
7. 学习单片机需要学习哪些知识
模电数电只是基础,学不学不要紧,了解就行。学单片机,只少C语言要过关,有独立编程序的能力,编程一定要过关。
开发单片机,就具体去研究你要开发的那款单片机,i/o引脚的控制寄存器怎么使用,中断,定时器计数器,A/D,SPI,UART,I2C, 学会它们的相关寄存器的使用。这些是编程必须掌握的。
当你要开发项目,一定有外设,可能是各种传感器,液晶,数码管,等等。这些东西,连接单片机,简单的只用了I/O的输入输出,难点的要用到时序、PWM等。
说了很多废话,总结一下,学好单片机,用到的知识可以很多,也可以不用。我的意思就是,学单片机,就单纯的看单片机的书籍,用C多编程,什么通信,显示等在单片机的书里就有讲解,书里会告诉你怎么编程,编成什么样的时序,所谓通信,显示几乎都是用到时序的不同表现。古人云,不求甚解就是这样。
买一本好的单片机书很重要,我建议买那种含有实例讲解的书最好
8. 学单片机需要什么基础知识
学单片机需要学习数字和模拟电子技术等基础知识,还要有一定的C语言编程能力。
学习初期可以先买一个开发板,先学会单片机开发的环境搭建,主要是单片机集成开发软件keil的配置,软件项目的建立,程序的编译和烧写,先把点亮LED灯,流水灯和控制蜂鸣器这些最基本的程序完整的实现一遍。
之后可以把LED数码管显示,按键信号采集,去抖动,串口与PC机通信等例子的程序完整的编写一遍,并且在开发板上把程序运行一下。
这时你已经对单片机开发有了初步了解了,已经迈出了单片机学习的第一步了。
学习单片机软件方面需要的基础知识:
软件方面需要会写简单的C语言程序,虽然说单片机编程也可以使用汇编语言,但C语言在使用的方便性和可移植性上要比汇编语言好很多,所以初学者可以越过汇编语言,而直接学习C语言的单片机编程。