zhaoyongke 发表于 2009-6-8 08:22:42

学习使用单片机的8步(原来学单片机不过如此!)

学习使用单片机就是理解单片机硬件结构,在汇编或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招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。顺便说一句,MSP430单片机的技术支持是非常好的,负责任的工程师大虾会在关键时候,挺身而出,使你化险为夷。

zhaoyongke 发表于 2009-6-15 12:40:44

现正学msp430,已经实现前三步了,呵呵

liangbmw 发表于 2009-6-15 15:20:36

mark

zhaoyongke 发表于 2009-8-23 15:40:44

多实践

armok 发表于 2010-1-26 12:03:12

lusen 发表于 2010-7-24 14:20:41

为我指明前进的方向 谢谢

balance 发表于 2010-7-31 14:43:02

回复【楼主位】zhaoyongke 赵永科
-----------------------------------------------------------------------

我想最重要的一点你忽略了,那就是首先得学会如何往单片机里下载你写好的程序。我就遇到了这样的问题,实验室的一个430学习板,各种程序都有,可就是不知道为什么,下不进程序,什么都白搭

twlkyao 发表于 2010-8-6 20:40:16

牛人

chenzy1985 发表于 2010-8-7 10:57:04

现在学习中,多谢楼主指点一条学习的路!

yz0853 发表于 2010-8-7 17:23:49

lz威武。。

wangshaosh 发表于 2010-8-7 21:24:48

回复【6楼】balance
回复【楼主位】zhaoyongke 赵永科
-----------------------------------------------------------------------
我想最重要的一点你忽略了,那就是首先得学会如何往单片机里下载你写好的程序。我就遇到了这样的问题,实验室的一个430学习板,各种程序都有,可就是不知道为什么,下不进程序,什么都白搭
-----------------------------------------------------------------------

哥们我觉对顶你

mjh2000 发表于 2010-8-8 15:25:44

有点道理。不过忘记最重要的一步:抗干扰设计。

zhaoyongke 发表于 2010-8-9 11:21:37

回复【11楼】mjh2000
有点道理。不过忘记最重要的一步:抗干扰设计。
-----------------------------------------------------------------------

这个确实在设计阶段是最重要的一步,学习和实战还是有很多不同之处的。做项目时如果你前面学习的基础好,就能花费较少的时间去解决功能上的问题,而更加注重性能上的提升。反过来,性能上的提升会促进你更系统地学习与项目相关的知识。

zhaoyongke 发表于 2010-8-9 11:24:08

回复【6楼】balance
回复【楼主位】zhaoyongke 赵永科
-----------------------------------------------------------------------
我想最重要的一点你忽略了,那就是首先得学会如何往单片机里下载你写好的程序。我就遇到了这样的问题,实验室的一个430学习板,各种程序都有,可就是不知道为什么,下不进程序,什么都白搭
-----------------------------------------------------------------------

这个,一开始就需要有位师兄去指导你学习了!这个东西很基础,看师兄做一遍就会,但如果没人指导,那就会费好大劲才能学到

cdljl2005 发表于 2010-8-10 12:02:00

新人来顶贴~
我觉得lz说得很赞!正在搞电子设计竞赛,负责430部分~
现在正在为液晶屏头疼
页: [1]
查看完整版本: 学习使用单片机的8步(原来学单片机不过如此!)