学单片机入门

wydz123   2009-5-7 21:00 楼主
学习单片机的教程已经很普遍了,让我来简单的介绍一下吧!接触单片机已有6个月了,自我觉得很有意思。单片机无非就那样子,只要撑握了单片机芯片内部规律,谁都会写.还有就是多看一些别人写的程序,并做一分析,了解他们思路.我觉得只要思路是对了,写起程序来如鱼得水。非常简单.下面我来介绍下单片机几点要害.请大家认真看!一、什么是单片机呢?
1、大家知道一台电脑是于那几个部件组成的啊?
(1)CPU
(2)硬盘
(3)内存
(4)主板
(5)等等。
这些东西是装在一个叫主机,相信这个大家都知道对不对?
2、但是如果我把它们组在一起制成一块芯片(CPU,硬盘,内存,主板),当做集成芯片输出,这样是不是很轻巧放便呢?
3、现在大家想想看买这么一块集成芯片在市场上卖值多少钱?它可是具备了计算机的功能啊。会不会是很贵啊?
不,价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只8只引脚等。
4、当然,在单片机机内部,CPU,硬盘,内存,主板等等东西要改个名字了。
(1)CPU,它的名字没有改,还是叫CPU(Central Processing Unit)。它是单片机的核心部件,包括运算器和控制器。运算器既是算术逻辑单元ALU(Arithmetic logic Unit),其功能是进行算术运算和逻辑运算。控制器一般由指令寄存器、指令译码器、时序电路和控制电路组成。起作用是完成取指令、将指令译码形成各种微操作并执行指令,同时控制计算机的各个部件有条不紊地工作。
(2)“硬盘”,改了名字,叫程序存储器,也叫只读存储器。用ROM(Read only memery)表示。其作用和硬盘差不多,用来存放用户程序。特点是:掉电后不会丢失数据。
(3)“内存”,也改了名字,在单片机里叫数据存储器,也叫随机存储器。用RAM(Random Access Memery)表示。其作用是用于存放运算的中间结果,数据暂村和缓冲,标志位等。特点是:掉电后会丢失数据。
(4)“主板”,也改了名字,叫做I/O(输入输出设备)当然也包含了串行口,并行口,定时器,记时器等等。
5、以上谈到的这些东西都在哪个集成块里面。我们把集成了这些东西的集成块叫做单片机。有些外国人叫微控制单元MCU(Micro Controller Unit),也有人叫嵌入式控制器(Embedded Controller)。现在明白了什么是单片机吗?
6、我总结一下:将CPU、程序存储器、数据存储器、I/O接口电路、定时器/计数器等计算机部件集成在一块芯片上,具有独特功能的单片微型计算机称着单片机。现在总明白了什么是单片机吧!
请大家用自己的话阐述一遍什么是单片机??
二、当我们明白了什么是单片机后,再来猜猜一般的单片机的价格吧?
(1)Intel公司1980年推出的标准MCS-51内核8051现在要7到10块钱。
(2)Atmel公司的AT89c51,AT89s51,AT89c52,AT89s52一般在7块钱左右。
三、我想大家会想一个“电脑”竟然是10块钱以内?功能怎么样?有什么用啊?
我可以告诉大家,它的功能很强大,是以后电子产品的发展方向。只要具有了智能的电子产品,就少不了弹片机技术。非常有用,就业前景非常之好。那么大家一定很想学了,于是去买了本书看。
哈哈,看不懂吧,感觉好难吧?那是因为你没有掌握好学习单片机的方法。学单片机光看书是不够的,也是学不会的。学单片机是需要有以下几个条件的! 就是要有信息,多看一些别人写的程序,照着他们思维抄下来,买块实验板操作下.要是有仿真软件也可以的.自画电路图自写程序,这也是一个好方法啊
四、学习单片机需要什么条件?
(1)一台电脑——用于编程和学习。(单片机运行要求不低,最低的配制也能运行的)
(2)编程器——用于把编写好的程序写到芯片中。(现在买款编程器也很便宜的,花上一两百块就能拥有一款,非常实用)
(5)需要编程器进这个网站 http://www.51dz.com/n.asp?dl=2&xl=7&fw=&gjz=&pg=2&id=12812&i=51dzwen 里有很多款式.(非常适合初学者学习使用)
五、有了这些东西,如果你已经学了一点单片机知识的话,就可以做搞开发了。
下面我来谈谈单片机开发的过程,以做流水灯为例进行讲解。
(1)设计好硬件电路图
按下图把单片机的各个脚和元器件连接起来:
http://www.51dz.com/mpic/89c51.gif


(2)在电脑上用软件(如keil c51)编写程序。
实验1最简单的8路跑马灯。用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32
;可以看到8路灯轮流闪烁
org 0000h ;开始
ajmp loop
org 0030h ;到0030h处避开00-30的敏感地址
loop:
mov p1,#0ffh;关闭所有灯
clr p1.0 ;点亮灯p1.0
lcall delay ;延时一段时间?
clr p1.1 ;点亮灯p1.1
lcall delay
clr p1.2 ;点亮灯p1.2
lcall delay
clr p1.3 ;点亮灯p1.3
lcall delay
clr p1.4 ;点亮灯p1.4
lcall delay
clr p1.5 ;点亮灯p1.5
lcall delay
clr p1.6 ;点亮灯p1.6
lcall delay
clr p1.7 ;点亮灯p1.7
lcall delay
AJMP LOOP;到最开始loop处重新运行
delay: mov r5,#20 ;延时。
d1: mov r6,#40
d2: mov r7,#248
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
end

接线方法: 用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32
接线图以及运行瞬间的照片(可以看到8路指示灯轮流点亮)   
(3)用编程器或者单片机实验板把程序从电脑中输入到单片机芯片中
(4)接上电源,流水灯工作。
六、好了.于是时间关系,就暂写到这里.目前这个网站五一大优惠活动:
http://www.51dz.com/b.asp?l=0&id=11317&pg=1
QQ:26080118

回复评论 (2)

好人那
点赞  2009-6-13 10:21
谢谢楼主   很好用
人生在勤,不索何取。
点赞  2009-6-13 12:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复