星星雨设计站 | 网站首页 | 中心风采 | 新闻 | 善思 | 艺海 | 体苑 | 劳动技术 | 明日之星 | 下载 | 作品展示 | 招生信息 | 教师博客 | 课外空间 | 光启论坛 | 
您现在的位置: 上海徐汇区青少年活动中心 >> 善思 >> 电子 >> 单片机 >> 正文
单片机十问十答(1)
          ★★★
【字体:
单片机十问十答(1)
作者:互联网    文章来源:互联网    点击数:    更新时间:2008-5-21    
 1.什么是单片机?
    简单地说,单片机就是一个小计算机系统。为了说明清楚这个问题,得要从计算机说起。提到计算机,大家可能马上会想到“显示器、鼠标、键盘”,不过,这不是一个计算机的核心和关键,计算机的核心部分在一边的机箱里呢。打开机箱,可以看到,机箱里有主板、硬盘、光驱等。仔细观察主板,这上面有CPU、内存条、BIOS芯片,通常还有25针的打印机接口等,这些部件都是通过主板上的连线相互连接。
    不论计算机复杂程度如何,它总是由运算器,控制器,存储器,输入/输出接口,总线这五个部分组成。通常运算器和控制器被做成一块芯片,也就是CPU(中央处理器)。在计算机主板上,内存条和BIOS芯片就是存储器,25针打印机接口就是输出/输出设备,而总线则被设计在主板上,即各部件相互连接的线路。
                                
                                                                                     图1
    在一些应用场合,人们不需要计算机完成十分复杂的运算,但却希望计算机小巧,可靠,价格低。于是人们就把组成计算机的这5个部分全部集成到一块芯片上,也说是一块芯片就能构成一个独立的计算机,在当时的技术条件下,这是一件了不起的事情,于是人们就用这个特征来为之命名,称为“单片机”。
    将构成一个计算机所需要的5个部分全部都集成到一块芯片中,这块芯片是否要很大、价格是否很高呢?并非如此。如果要把图1所示主板上的所有元件都集成到一块芯片中,那当然非常昂贵,可能技术上也无法实现,但很多单片机中所需要用到的功能完全没必要那么强大,因此很多单片机体积很小,价格也很低。如市场上常见的单片机有8,14,16,18,20,28,40,84等引脚,有些甚至只有6个引脚,如图2所示是微芯公司(Microchip)发布的一款6引脚单片机。而价格从几元到几十、上百元的都有,有些品种在大批量定购时甚至可以低至1元以下。
                                                                     
                                                                                            图2
    刚接触到单片机的人往往会有个疑惑:既然人们已经有能力制造功能强大的计算机,为何还要生产些功能不强的计算机?其实,功能强弱并不是决定是否生产的决定因素,市场需要才是关键。比如,用来控制一台电箱的计算机显然没必要使用“奔腾”芯片的强大运算能力,只要进行非常简单的计算,作个比较,看一看温度是否在所控制区间之内,然后再做出相应的控制就行了。
单片机在人们的生活中、工农业生产设备中处处有应用,例如各定时装置、自动控制装置等。爱好者学习单片机应该注意观察事物,找到自己周围能够使用单片机的场合,从而将学到的知识应用到实际中去。例如,使用单片机技术改造传统的机电设备、在特定的场合使用单片机替代PLC等就有着广阔的应用前景;又如,使用单片机控制电扇、抽油烟机、空调等,从而制作出具有更强功能、能够通用的控制器,也是可以尝试的。
    2.单片机是如何工作的?
    单片机的工作过程就是一个不断“取指令-分析指令-执行指令”的过程。单片机的程序以一条一条指令的形式存放在程序存储器中,单片机开始工作后,就从程序存储器的特定位置开始取指令,然后由单片机内部的控制器对指令进行分析,根据指令要求,进行“取数、送数、算术运算、逻辑运算、跳转”等基本操作中的一种或几种,这些操作都在一个规定的周期中完成,执行完了以后,到下一个存储器单元中取指令,重复刚才的操作(当然,这些要执行的操作具体内容可能跟上一次不一样了),如此不断重复,直到断电为止。这里所说的“存储器特定位置”、“规定的周期”等与单片机的型号有关,下面以51系列单片机为例来说明。
    在51系列单片机中有一个名为PC的寄存器(就是用来存数的一个容器),在单片机复位后,这个寄存器中的内容被置为0000H,单片机内部的控制器总是根据PC寄存器中的值去相应的程序存储器单元取指令,因此,开机后,将从0000H单元取第一条指令,分析执行,同时,PC值将作相应的调整,指向将要执行的下一条指令的位置,下一条指令的位置在哪里呢?对于51单片机来说,一条指令可能占用一个字节、二个字节或三个字节,如果第一条指令是单字节指令,取完第一条指令以后,PC的值就会变为0001H,因此,第一条指令执行完毕以后,将从0001H单元中取出第二条指令来执行,以此类推。如果程序是顺序执行的,PC的值将始终不断增加,如果程序中有跳转指令,该指令将影响PC中的值,使PC中的值指向将要执行的下一条指令所在地址单元。这种跳转既可能是正向的,例如由0000H跳转到0030H,也可能是反向的,即往回跳转,如由200H跳转到100H。正是由于指令可以影响到PC中的值,才使得程序可以实现“分支”、“循环”等各种功能。那么,执行一条指令的时间又是多少呢?对于51单片机来说,指令执行时间有三种可能,单周期、双周期和四周期,不管一条指令需要做多少工作,都必然在规定的时间内完成。
文章录入:sunyi_70    责任编辑:sunyi_70 
  • 上一篇文章:

  • 下一篇文章:
  •  
    2005-2008上海市徐汇区教育局 网站管理:上海市徐汇区青少年活动中心信息教育部
    网站联系:电话021-54894741 54894740 QQ:493689996
    ICP备案:沪ICP备06038688号