单片微型计算机原理 及接口技术
任课教师: 陈桂友 联系方式 办公电话:88392957—808 Email: chenguiyou@sdu.edu.cn 网站:http://www.mcu001.com http://course.sdu.edu.cn/mcu.html
选用教材《单片微型计算机原理及接口技术》 陈桂友 主编 课程描述 课程性质:专业基础课 后续课程: 嵌入式系统、计算机控制技术 选用教材《单片微型计算机原理及接口技术》 陈桂友 主编
课程特点 内容多 需要加强理解 更重要的是需要加强实践动手能力的培养
学习方法 注重理解,加强软件、硬件实验锻炼 充分利用网络,提高自学能力 相互交流,共同提高
课程主要内容 本课程主要内容: 微型计算机基础知识 计算机系统的组成及工作原理 指令系统及汇编语言程序设计 C语言程序设计及仿真调试 中断 定时计数器与可编程计数器阵列 数据通信 模数转换器与数模转换器 人机交互接口 复位时钟和省电方式控制
第一章 微型计算机概述 本章学习目标 了解微型计算机发展概况 了解微型计算机的应用
§1 微型计算机发展概况 一、微型处理器和微型计算机 1、第一台通用数字电子计算机ENIAC 占地面积170平方米 重达30吨 §1 微型计算机发展概况 一、微型处理器和微型计算机 1、第一台通用数字电子计算机ENIAC 占地面积170平方米 重达30吨 耗电量150千瓦 造价48万美元 使用18000多个电子管 70000多个电阻 10000多个电容 1500多个继电器 6000多个开关 图1-1 第一台电子计算机
2、微型机的发展——取决于微处理器 1971年,美国Intel公司生产出第一片微处理器4004。 1976年,相继推出了高档微处理器,如:Intel公司的8085、Zilog公司的Z80等。
1978年,推出了性能与中档16位小型机相当的微处理器,代表性产品是Intel 8086。 地址线:20位 时钟频率:4~8MHz。 进入21世纪,不断推出新型的计算机,在速度、性能、价格等诸方面不断适应各种人群的使用。到2009年,奔腾双核机的主频已经达到2.6GHz以上。
采用人工智能技术及新型软件,硬件采用新的体系结构和超导集成电路,分为问题解决与推理机、知识数据库管理机、智能接口计算机等。具有以下特点: 新一代计算机: 采用人工智能技术及新型软件,硬件采用新的体系结构和超导集成电路,分为问题解决与推理机、知识数据库管理机、智能接口计算机等。具有以下特点: 在CPU上集成存储管理部件 采用指令和数据高速缓存 采用流水线结构以提高系统的并行性 采用大量的寄存器组成寄存器堆以提高处理速度 具有完善的协处理器接口,提高数据处理能力 在系统设计上引入兼容性,实现高、低档微机间的兼容。
二、微型计算机的基本构成 典型的微型计算机的基本结构包括: 微处理器(CPU) 存储器 输入/输出接口(I/O接口) 外部设备 系统总线
图1-2 微型计算机的基本结构
1、系统总线 定义:连接多个功能部件的一组公共信号线。各功能部件之间通过总线传输信息。 系统总线分为 地址总线AB(Address Bus) 数据总线DB(Data Bus) 控制总线CB(Control Bus) -----典型的三总线结构
地址总线AB 单向 输出CPU的地址信号 输出将要访问的内存单元或I/O端口的地址 地址线的多少决定了系统直接寻址存储器的范围 例,Intel 8086 CPU共有20条地址线,分别用 A19~A0表示,其中A0为最低位。 20位地址线可以确定220=10241024个不同的 地址(称为1MB内存单元)。 20位地址用16进制数表示时,范围为:00000H~FFFFFH。
数据总线DB 双向 数据在CPU与存储器(或I/O接口)间的传送 CPU写操作时,CPU数据 数据线的多少决定了一次能够传送数据的位数 CPU通过不同的地址与存储器(或I/O接口)进行数据传输 数据总线 CPU 数据总线 外部
控制总线CB 双向 CPU对存储器、I/O接口进行控制和联络。 输出控制信号:CPU发给存储器或I/O接口的控制信号。如,微处理器的读信号RD、写信号WR等。 输入控制信号:CPU通过接口接受的外设发来的信号。如,外部中断请求信号INTR、非屏蔽中断请求输入信号NMI等。 控制信号间相互独立,表示方法采用能表明含义的缩写英文字母符号。按照一般惯例,若符号上有一横线,则表示该信号为低电平有效,否则为高电平有效。
注意: 在连接系统总线的设备中,某时刻只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获取信号。
2、微处理器 简称MP(Micro Processor),也称μP, 是微型机的核心部件。通常称为中央处理单 元CPU(Central Processing Unit),包括: 运算器ALU(Arithmetic Logic Unit) 控制器CU(Control Unit) 寄存器阵列R(Registers) 内部总线等电路 -----集成在一片硅片上
3、存储器 4、I/O接口 分为程序存储器和数据存储器两类。 程序包括系统程序和用户程序。程序存储器主要是硬盘;数据存储器——内存条。 主要用于CPU和外部设备之间交换数据。 并行口 串行口 USB口等
5、关于微机需要区别的概念 (1)微处理器即CPU —— 计算机的核心部件 将运算器、控制器集成在一片芯片上。其功能如下: 对指令译码并执行规定动作; 能与存储器及外设交换数据; 可响应其它部件的中断请求; 提供系统所需的定时和控制。 (2)微型计算机 在CPU的基础上配置存储器、I/O接口电路、系统总线。 (3)微型计算机系统 以微机为主体,配置系统软件和外设。软件部分包括系 统软件(如操作系统)和应用软件(如字处理软件)。
图1-3 微处理器、微型计算机和微型计算机系统关系图 运算器 控制器 寄存器阵列 存储器 总线 输入输出 接口电路 外部设备 软件 微处理器 微型计算机 微型计算机系统 区别3个概念 图1-3 微处理器、微型计算机和微型计算机系统关系图
三、单片微型计算机简介 计算机的核心部分: 中央处理器CPU 存储器 通用I/O接口 典型外设 ----集成在一块芯片上的计算机
1、单片机的基本定义 在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时/计数器以及多种输入/输出(I/O)接口的比较完整的数字处理系统。
图1-4 一个典型的单片机的组成框图
2、单片机名称的来源 早期的英文名称是Single-chip Microcomputer,即单片微型计算机,简称单片机。 后来称之为微控制器(Microcontroller),这也是目前比较正规的名称。 我国学者或技术人员一般使用“单片机”一词。
3、单片机的发展过程 单片机的问世——1975年美国TEXAS公司推出4位单片机。 1976年,Intel公司推出MCS-48系列8位单片机,其代表型号是8048。 特点:8位字长,片内ROM为1K字节,片内RAM 为64字节,27根I/O口线,1个8位定时/计数器,两个中断源。
1980年以后,Intel公司推出MCS-51系列单片机,其代表型号是8051。 特点:8位字长,片内ROM为4K字节,片内RAM为128字节,32根I/O口线,2个16位定时/计数器,5个中断源。
目前,微型计算机正朝两个方向发展 高性能﹑多功能的方向发展 以个人计算机PC(Persnal Computer)为标志,具有强大的操作系统,并且支持多种软件运行。 价格低廉﹑片上系统(System On Chip,SOC)的方向发展 将CPU、存储器、接口电路、内部总线等部件全部集成在同一个芯片上的单片微机又称为微控制器(Microcontrolor),也称为单片机。
4、单片机的产品 8051内核单片机 非8051内核单片机
8051内核单片机 生产8051内核单片机的公司及典型产品有: 宏晶科技有限公司的STC系列 Atmel公司的AT89系列 NXP半导体公司(原PHILIPS半导体公司,2007年更名为NXP半导体公司)的8051内核单片机 ST公司的增强型8051内核单片机等
非8051内核单片机 Freescale公司 (2004年从Motorola公司分离出来的半导体公司)的MC68系列单片机、MC9S08系列单片机(8位单片机)、MC9S12系列单片机(16位单片机)以及32位单片机 Microchip公司的PIC系列单片机 Ti公司的MSP430系列16位单片机
5、单片机的特点 集成度高 体积小 功耗低 可靠性高 使用灵活方便 控制功能强 编程保密化 价格低廉等。
6、单片机的应用 工业生产控制 数据采集和处理 设备控制 智能化仪器仪表 日常生活等。
7、单片机的选择 当前,出现了16位、32位的单片机。单片机在集成度、运算速度、接口性能等方面都在不断创新。但是,到目前为止,在工业控制、测量检测、仪器仪表等方面, 8位单片机仍然是主流单片机
教学机型的演变: 上世纪80年代——Z80 上世纪90年代中期——Intel 8086 近年来,PC机作为通用机型,其底层结构的控制系统的设计、汇编语言的编程等优势逐渐让位于单片机; 单片机的技术和性能不断提高,开发手段、控制功能等功能不断完善,单片机更适于面向控制对象的设计和编程,从单片机入手学习微型计算机原理,正在逐步成为学习计算机原理的更好途径。
四、微型计算机的软件系统 裸机——只有计算机硬件构成的计算机 没有系统程序的支持,裸机是无法工作的。
PC机的运行过程 开机进入系统,执行系统程序,包括开机存储器自检、接口自检、外设自检等等。 接受用户通过键盘或者鼠标发出的命令,进一步执行用户要执行的程序。 系统程序就把要执行的程序从硬盘里面找到,放进内存,然后运行用户的程序。 关闭用户程序时,系统程序会将内存中的信息重新写回到硬盘中保存。
单片机运行程序的过程 在单片机应用系统中,可以有操作系统(此时一般称之为嵌入式操作系统)的支持,也可以没有操作系统的支持。 无论有没有操作系统,用户所编写的应用程序经过编译后都保存在程序存储器中(一般都保存在单片机内部集成的FLASH存储器中),执行时,由单片机内部的控制器控制程序的执行。
对于普通的个人计算机来讲,用户的开发任务主要集中在程序设计方面,硬件设计较少。开发应用系统时,一般采用可视化的集成开发环境,常见的有Visual C++,Eclipse,NetBeans,PowerBuilder等。
在开发单片机应用系统的过程中,往往需要对硬件和软件进行反复多次的调试。调试时,使用集成开发环境对用户系统进行仿真运行,根据系统的仿真运行状态对电路进行硬件和软件的修改调试,直到满足用户要求为止。 对硬件电路来说,某些硬件电路的设计缺陷可以在仿真调试中发现并改正; 对软件来说,可以进行某些程序模块的编写和调试。特别是可以对那些与硬件关系不大的程序模块进行模拟调试,这对系统的开发带来了很大的方便,可以加快项目的开发过程,如数据运算、逻辑关系测试等。
目前,许多集成开发环境具有模拟调试功能,如:著名的Keil uVision集成环境、飞思卡尔公司的CodeWarrior、IAR Systems公司的IAR集成开发环境。
设计人员在进行程序设计时应考虑的几个方面: (1)模块化、结构化的程序设计 根据系统功能要求,将软件分成若干个相对独立的模块,实现各功能程序的模块化、子程序化。
(2)建立正确的数学模型 根据功能要求,描述各个输入和输出变量之间的数学关系——这是关系到系统性能好坏的重要因素。
(3)绘制程序流程图 绘制程序流程图是程序设计的一个重要组成部分,而且是决定成败的关键部分。 流程图的优势:从某种意义上讲,恰当的程序流程图将有助于程序的编写和优化,缩短程序的调试过程。
(4)合理分配系统资源 包括ROM、RAM、定时/计数器、中断源等。资源规划好后,应列出一张详细的资源分配表,以方便编程时查阅。 (5)注释 在程序的适当位置写上功能注释,提高程序的可读性。
(6)抗干扰设计 加强软件抗干扰设计,这是提高计算机应用系统可靠性的有力措施。 通过编辑软件编辑出的源程序,必须用编译程序汇编后生成目标代码。
§2 微型计算机的应用 1、科学计算 通用微型计算机的重要应用之一 。 例如,美国Seguent公司最早用30个Intel §2 微型计算机的应用 1、科学计算 通用微型计算机的重要应用之一 。 例如,美国Seguent公司最早用30个Intel 80386构成Symmetry计算机,速度为 120MIPS(Million Instructions Per Second),达到IBM 3090系列中最高档大 型机的性能,价格却不到后者的十分之一。
1996年,由美国能源部(Department of Energy,DOE)发起和支持、由Intel建成的Option Red系统,用9216个微处理器使系统每秒浮点运算峰值速度达到1.8Tflop/s(每秒1.8万亿次运算),成为世界上第一台万亿次计算机。 1998年,同样得到DOE支持的由IBM建成的Blue Pacific内含5856个微处理器,峰值速度达到3.888Tflop/s。
2000年,在DOE支持下,IBM又建成内含8192个微处理器的Option White,其系统峰值达到12.3Tflop/s。 这些系统尽管是由微处理器架构而成的,但是无论是从规模还是功能上,都成了超级计算机。
2、信息处理 由于Internet的蓬勃发展,使世界进入了崭新的信息时代,对大量信息包括多媒体信息的处理是信息时代的必然要求。连接在Internet上的微型计算机配上相应的软件以后,就可以很灵活地对各种信息进行检索、传输、分类、加工、存储和打印。
3、过程控制 过程控制是微型计算机应用最多、也是最有效的方面之一。 在制造工业和日用品生产厂家中的微型计算机控制的自动化生产线,为生产能力和产品质量的迅速提高开辟了广阔前景。
4、仪器、仪表控制 用微处理器代替传统的机械部件或分离的电子部件,使产品减小了体积、降低了价格,而可靠性和功能却得到了提高。 逻辑分析仪使电子工程技术人员能够用以前不可能采用的办法同时观察多个信号的波形和相互之间的时序关系。在医学领域,出现了用微处理器作为核心控制部件的CT扫描仪和超声扫描仪,加强了对疾病的诊断手段。
5、家用电器和民用产品控制 洗衣机、冰箱 自动报时、自动控制、自动报警系统 娱乐产品将智能融于娱乐中 以微处理器为核心的盲人阅读器为盲人带来福音
6、人工智能方面的应用 人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是计算机科学的一个分支,它通过了解智能的实质,生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
人工智能还有许多方面的应用研究 机器学习 模式识别 智能控制及检索 机器学习及视觉 智能调度与指挥等等。 计算机控制的机器人、机械手