单片机项目实践教程刘燎原-项目一点亮LED_第1页
单片机项目实践教程刘燎原-项目一点亮LED_第2页
单片机项目实践教程刘燎原-项目一点亮LED_第3页
单片机项目实践教程刘燎原-项目一点亮LED_第4页
单片机项目实践教程刘燎原-项目一点亮LED_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 微控制器系统设计与应用微控制器系统设计与应用 (单片机原理及应用)(单片机原理及应用) 刘燎原刘燎原机电工程学院机电工程学院 江苏建筑职业技术学院江苏建筑职业技术学院标题标题单片机原理及应用单片机原理及应用硬硬件件基基础础软软件件基基础础电路电路模拟电子线路模拟电子线路数字电路数字电路汇编语言汇编语言先修课程先修课程智能仪器智能仪器嵌入式系统设嵌入式系统设计计毕业设计毕业设计后修课程后修课程6一、本课程前后衔接介绍一、本课程前后衔接介绍电路的分析设计电路的分析设计方法方法单片机硬件电路单片机硬件电路设计与编程能力设计与编程能力相关软件手段相关软件手段1.1.一种一种C51C51语言语言2.2

2、.单片机各种接口技术及单片机各种接口技术及编程编程C语言程序设计语言程序设计二、教学内容(项目教学)二、教学内容(项目教学) 教学方法改革教学方法改革点亮LED1流水灯2手动计数器3倒计时4数字电压计5数字温度计6简易波形发生器7玩具小车调速(选学)8串行通信9三、本门课教学目标三、本门课教学目标 u理论理论 硬件硬件:单片机的内部结构、定时:单片机的内部结构、定时/ /计数器、中断系统、计数器、中断系统、串行通信、输入输出及接口技术;串行通信、输入输出及接口技术; 软件软件:C C语言程序设计语言程序设计u实践实践 会设计会设计简单单片机产品的电路简单单片机产品的电路 会完成会完成简单程序的

3、编写简单程序的编写 会使用会使用KEILC51、PROTEUS软件软件 会制作会制作产品以及进行产品调试产品以及进行产品调试 类比法类比法单片机单片机-人人四、本门课学习方法四、本门课学习方法良好习惯良好习惯多看看多看看多动手多动手 项目总结项目总结、习题、习题 任务描述任务描述点亮点亮LED 准备知识准备知识 项目实现项目实现(电路、编电路、编程、仿真)程、仿真) 项目一项目一 点亮点亮LEDLEDu项目引入项目引入u 在现代各种常用的电器中都有在现代各种常用的电器中都有LED灯的使用,要求灯的使用,要求LED按照一定按照一定的频率闪烁,这实际上就是一个最简单的单片机控制电路。的频率闪烁,这

4、实际上就是一个最简单的单片机控制电路。u 发光二极管发光二极管LED是一种最简单和常用的电子器件,如图是一种最简单和常用的电子器件,如图1-1所示,所示,我们单片机的学习就从点亮我们单片机的学习就从点亮LED灯开始。灯开始。u 本项目任务就是利用单片机驱动本项目任务就是利用单片机驱动LED电路,设计程序使其点亮或闪电路,设计程序使其点亮或闪烁。烁。 1.2 1.2 准备知识准备知识 1.2.1 1.2.1 认识单片机认识单片机单片机是什么?单片机是什么?u知识目标:知识目标:1.了解单片机的基本结构了解单片机的基本结构2.掌握单片机的数制掌握单片机的数制3.熟悉单片机最小系统的组成熟悉单片机最

5、小系统的组成u技能目标:技能目标:1.掌握单片机外部引脚和功能掌握单片机外部引脚和功能2.了解单片机开发工具了解单片机开发工具3.掌握掌握KEIL、PROTEUS的安装和使用的安装和使用为回答此问题,先讲讲什么是微型计算机。一、一、 单片机的基本概念单片机的基本概念(1 1)微型计算机)微型计算机( (简称微机简称微机) ) 中央处理器(CPUCPU)、只读存储器(ROMROM)、随机存取存储器(RAMRAM)、输入/输出(I/OI/O)接口和其它外设,其它外设,依靠系统总线总线(地址、数据、控制)相连而形成的系统。微处理器随机存储器只读存储器数据总线地址总线控制总线输入/输出输输入入输输出出

6、设设备备电源电源(2 2)单片机)单片机: 随着大规模集成电路技术的发展,构成微型计算机的CPU、ROM、RAM、I/O接口等主要功能部件及总线都集成在同一块芯片芯片上,成为单芯片的微型计算机(Single Chip MicoroComputer),简称单片机(单片机单片机)。 CPURAMROM中断系统中断系统串行口串行口并行口并行口定时计数器定时计数器振荡电路振荡电路 X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1T0 T1(3).(3).嵌入式系统嵌入式系统u一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以

7、及用户的应用程序等四个部分组成。用户的应用程序等四个部分组成。 u嵌入式系统,其一个重要特征就是带有嵌入式操作系统,另一嵌入式系统,其一个重要特征就是带有嵌入式操作系统,另一个就是它是个就是它是3232位或更高位系统,一般的核心为位或更高位系统,一般的核心为ARMARM、DSPDSP、FPGAFPGA等等 . .u单片机系统一般都是不带操作系统和单片机系统一般都是不带操作系统和8/168/16位核心,当然也有位核心,当然也有3232位或带操作系统的,不过是少数,其实位或带操作系统的,不过是少数,其实ARMARM就是单片机的进一就是单片机的进一步发展。步发展。 u 1975第一块单片机, 4位

8、u单片机经历了4位 8 位16位32 位机的各个阶段。u目前应用最广的还是8位机,占据单片机市场半数以上。u国内应用的主要型号有: INTEL公司:8031,8051 ATMEL公司: AT89系列(AT89S51), AVR单片机(ATMEGA48) 宏晶公司:STC12C5410AD MICROCHIP公司 : :PIC系列(PIC16F877) MOTOROLA公司:M68HC08系列(MC68HC908GP32)TI公司 :德州仪器,TMS370和MSP430系列,MSP430系列单片机 二、二、 单片机的发展单片机的发展(2) ROMROM和和RAMRAM分开分开。RAM只存放运行中

9、的临时数据、变量等。 ROM用来固化调试好的程序、常数、数据表格等,这样,可使运行可靠。即便掉电,也能确保程序、常数、数据表格等的安全。 除体积小,价格低,用途广、灵活性强、可靠性高 等优点外,还具有许多特点。(1) 。单片机是面向对象控制要求来设计的。其结构、功能和指令系统都突出了控制功能。故对外部信息能及时采集,对被控制对象能实时控制。三、三、 单片机的特点单片机的特点(3) 单片机资源具有广泛的通用性单片机资源具有广泛的通用性。同一种单片机可用于不同的应用控制系统中。只要固化不同的应用程序即可。(4) 易于扩展易于扩展ROM、RAM、定时、定时/计数器、中断源等计数器、中断源等。单片机的

10、资源(ROM、RAM、定时/计数器、中断源等)一般能满足应用系统的要求。若应用系统较大,单片机本身的资源可能不够,就须扩展资源。单片机有便于扩展的三总线及其控制引脚。利用它们容易构成各种规模的单片机系统和单片机应用系统。同一个单片机程序1程序n功能系统1功能系统N(1)(1)智能仪器仪表智能仪器仪表 单片机的应用提高了仪器仪表的使用功能和精度,使仪器仪表智能化,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测智能电气测量仪表、智能传感器等量仪表、智能传感器等。单片机在国民经济各个领域中获得了越来越广泛的应用。现列举以下几个方面:四、四、 单片机的应用单片机的应用例如:智能电度表可用于

11、家用电器的功率、用电量及电费的测量计算。(2)(2) 机电一体化机电一体化 机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中正发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。(3)(3) 实时工业控制实时工业控制 单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。

12、典型应用如电机转速控制、温度控制、自动生产线等控制、温度控制、自动生产线等 。分布式系统的前端模块分布式系统的前端模块 在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块,系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。例如煤矿的温度、湿度、瓦斯浓度等信息采集。(5)(5) 智能家用电器智能家用电器 家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。 (6)(6) 智能军用电子系统、医疗设备智能军用电子系统、医疗设备 另外,在交通领域中,汽车、火车、飞

13、机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子等 。五、五、5151单片机的分类单片机的分类 型 号制造技术片内程序存储器片内数据存储器8051AHH MOSROM (4k)128字节8031AHAH MOS无128字节8751HH MOSEPROM(4K)128字节AT89S52/AT89S51CHMOSFLASHROM (4K)128字节80C31CHMOS无128字节8051H MOSROM (8K)256字节8031H MOS无256字节MCS-51Atmel公司的公司的AT89系列单片机系列单片机u AT89系列单片机不但具有一般MCS-51单片机的所有特

14、性,而且其Flash程序存储器可以用电擦除方式瞬间擦除、改写, 写入单片机内的程序还可以进行加密。 u Atmel公司的89系列单片机主要有AT89S52、AT89C2051和AT89C1051等型号。 AT89S52最为实用,它不但和最为实用,它不但和8051指令、管脚完全兼容,而且其指令、管脚完全兼容,而且其片内含有片内含有4KB Flash型程序存储器,性价比远高于型程序存储器,性价比远高于8751。 AT89C2051去掉了去掉了P0口和口和P2口,内部的口,内部的Flash程序存储器也只有程序存储器也只有2K,封装形式也由,封装形式也由40脚改为脚改为20脚。脚。AT89C1051在

15、在AT89C2051的基础上,再次精简掉了串口等功能,的基础上,再次精简掉了串口等功能,程序存储器减小到程序存储器减小到1KB。数据采集系统数据采集系统五、五、 学生的单片机作品学生的单片机作品基基于于AT89S52的的电电子子时时钟钟 流水灯流水灯计算器电子琴万年历单片机硬件电路设计软件设计单片机应用系统固化,调试 六、六、 单片机产品的开发过程单片机产品的开发过程单片机应用系统的开发过程单片机应用系统的开发过程 伟福伟福Proteus炜煌炜煌1单片机应用开发软件(编程)单片机应用开发软件(编程)七、七、 单片机产品的开发工具单片机产品的开发工具软件仿真KEILC51KEILC51编程序(编

16、程序(Keil输入程序) PROTEUSPROTEUSPROTEUS(画电路原理图,软件的综合仿真)(画电路原理图,软件的综合仿真)仿真(仿真( Proteus和Keil的联调):):2.2.单片机硬件电路设计的器件及工具单片机硬件电路设计的器件及工具面包板正、反面面包板正、反面PCB板板 剥线钳、尖嘴钳、斜口钳剥线钳、尖嘴钳、斜口钳 烙铁、镊子烙铁、镊子 WH-500型编程器型编程器芯片锁紧座通信串口13.3.程序固化烧录程序固化烧录, ,调试调试第一种方法:用专门的编程器第一种方法:用专门的编程器计算机串口电源接口把芯片从电路板拿下把芯片从电路板拿下烧录程序软件界面烧录程序软件界面第二种方

17、法:利用第二种方法:利用ISP下载线,在线编程下载线,在线编程利用串口和计算机相连利用串口和计算机相连利用利用USB口和计算机相连口和计算机相连不需把芯片拿下,但电路板上要焊好不需把芯片拿下,但电路板上要焊好ISP接口接口单片机仿真器单片机仿真器仿真头数据线并口通信线电源仿真器2利用独立性仿真器利用独立性仿真器u学生分组讨论以下问题,:学生分组讨论以下问题,:(1)说出单片机、)说出单片机、CPU、计算机的区别、计算机的区别(2)说出你在生活中所见的单片机的应用)说出你在生活中所见的单片机的应用(3)单片机产品的开发过程)单片机产品的开发过程(4)流水灯是否要用到单片机)流水灯是否要用到单片机

18、u提出问题:那么单片机的电路有什么要求,如何提出问题:那么单片机的电路有什么要求,如何编制程序?编制程序? u总结总结u布置作业布置作业 1.2.2 单片机最小系统u知识回顾知识回顾 提问、板书u引子引子 通过讲解单片机的功能,用幻灯片展示单片机的内部结构,引出问题:单片机的外围是怎样的呢?u学习新知学习新知 一、一、AT89S51AT89S51内部结构和引脚功能内部结构和引脚功能1、AT89S51单片机内部结构框图CPU时钟电路P0P3P2P1TXDRXDINT0INT1并行接口串行接口中断系统定时/计数器RAMROMT0T12、AT89S51单片机内部结构u 中央处理器中央处理器: 中央处

19、理器中央处理器(CPU)(CPU)是整个单片机的核心部件,是是整个单片机的核心部件,是8 8位数据宽度的位数据宽度的处理器,能处理处理器,能处理8 8位二进制数据或代码,位二进制数据或代码,CPUCPU负责控制、指挥和调度负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。整个单元系统协调的工作,完成运算和控制输入输出功能等操作。u 数据存储器数据存储器(RAM)(RAM): 89S51 89S51内部有内部有128128字节数据存储器(字节数据存储器(RAMRAM)和)和2121个专用寄存器单元个专用寄存器单元( (共共256B)256B),它们是统一编址的,专用寄

20、存器有专门的用途,通常用,它们是统一编址的,专用寄存器有专门的用途,通常用于存放控制指令数据,不能用作用户数据的存放,用户能使用的于存放控制指令数据,不能用作用户数据的存放,用户能使用的RAMRAM只有只有128128个字节,可存放读写的数据,运算的中间结果或用户定义的个字节,可存放读写的数据,运算的中间结果或用户定义的字型表。字型表。u 程序存储器程序存储器(ROM)(ROM): 89S5189S51共有共有4K4K字节程序存储器(字节程序存储器(FLASH ROMFLASH ROM),用于存放用户程序和),用于存放用户程序和数据表格。数据表格。 u 定时定时/计数器:计数器: 89S51有

21、有2个个16位的可编程定时位的可编程定时/计数器,以实现定时或计计数器,以实现定时或计数,当定时数,当定时/计数器产生溢出时,可用中断方式控制程序转向。计数器产生溢出时,可用中断方式控制程序转向。u 并行输入输出并行输入输出(I/O)口:口: 89S51共有共有4个个8位的并行位的并行I/O口口(P0、 P1、P2、P3),用于对外部数据的传输。用于对外部数据的传输。u 全双工串行口:全双工串行口: 89S51内置一个全双工异步串行通信口,用于与其它设备间内置一个全双工异步串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以的串行数据传送,该串行口既可以用作异步

22、通信收发器,也可以当同步移位器使用。当同步移位器使用。u 中断系统:中断系统: 89S51具备较完善的中断功能,有具备较完善的中断功能,有5个中断源(两个外中断、个中断源(两个外中断、两个定时两个定时/计数器中断和一个串行中断),可基本满足不同的控制计数器中断和一个串行中断),可基本满足不同的控制要求,并具有要求,并具有2级的优先级别选择。级的优先级别选择。u 时钟电路:时钟电路: 89S51内置最高频率达内置最高频率达12MHz的时钟电路,用于产生整个单的时钟电路,用于产生整个单片机运行的时序脉冲,但需外接晶体振荡器和振荡电容。片机运行的时序脉冲,但需外接晶体振荡器和振荡电容。 u1 1电源

23、引脚电源引脚二、二、AT89S51AT89S51引脚说明引脚说明 两种接法:使用内部振荡电路时,外接石英晶体;Pin19:时钟XTAL1脚,晶体振荡电路的输入端 2.时钟引脚时钟引脚:用来为单片机提供时钟信号Pin20:接地脚 Pin40:正电源脚,接+5V电源Pin18:时钟XTAL2脚,晶体振荡电路的输出端外部振荡脉冲输入时,接外部时钟振荡脉冲,悬空不用。Pin31:Pin31:EA/VEA/Vpppp外部程序存储器地址允许输入端外部程序存储器地址允许输入端 正常工作时,正常工作时,EAEA为内外为内外ROMROM选择端选择端 对闪存进行编程期间,此引脚用于施加编程电源对闪存进行编程期间,

24、此引脚用于施加编程电源VPP21VVPP21V Pin29: 访问外部存储器使用。访问外部存储器使用。外部程序存外部程序存储器读选通信号储器读选通信号,在从片外存储器中读取指令时,在从片外存储器中读取指令时,PSEN送出片外存储器的读信号(低电平),一般接送出片外存储器的读信号(低电平),一般接到外存储器的读控制端到外存储器的读控制端Pin30:Pin30:ALE/ ALE/ 地址锁存允许信号地址锁存允许信号 ALEALE:访问外部存储器使用。访问外部存储器使用。ALEALE(允许地址锁存信号)(允许地址锁存信号)以每机器周期两次的信号输出以每机器周期两次的信号输出, , 用于锁存出现在用于锁

25、存出现在P0P0口的低口的低8 8位地址。位地址。 PROG: :在对在对闪存进行编程期间闪存进行编程期间(也称(也称“烧录程序烧录程序”)时,此引脚用于输入编程脉冲,此时为低电平有效时,此引脚用于输入编程脉冲,此时为低电平有效Pin9:Pin9:RESETRESET复位信号脚复位信号脚 正常工作时,正常工作时,RSTRST(RESETRESET)端为复位信号输入端)端为复位信号输入端3.控制线控制线Pin10-Pin17为P3.0-P3.7输入输出脚 普通的I/O口 第二功能Pin21-Pin28为P2.0-P2.7输入输出脚 普通的I/O口 作为扩展外部存储器时的高作为扩展外部存储器时的高

26、8位地址总线位地址总线(A8 A15)Pin1-Pin8为P1.0-P1.7输入输出脚 普通的I/O口4.I/O Pin39-Pin32为P0.0-P0.7输入输出脚 普通的I/O口作为与外部传送数据的作为与外部传送数据的8位数据总线(位数据总线(D0D7)。)。作为扩展外部存储器时的低作为扩展外部存储器时的低8位地址总线位地址总线(A0A7) P3口的第二功能表口的第二功能表u 单片机的时钟信号用来提供单片机内部各种操作的时间基准,单片机的时钟信号用来提供单片机内部各种操作的时间基准,u 时钟电路用来产生单片机工作所需要的时钟电路用来产生单片机工作所需要的时钟信号时钟信号。 二、最小系统二、

27、最小系统1 1、晶振(时钟)电路、晶振(时钟)电路 图图24 HMOS型型MCS51单片机时钟产生方式单片机时钟产生方式 (a) 内部振荡器内部振荡器方式方式; (b) 外部振荡器方式外部振荡器方式 u (a)采用采用内部时钟方式内部时钟方式时时, ,片片内的高增益反相放大器通过内的高增益反相放大器通过XTAL1XTAL1、 XTAL2XTAL2外接作为反馈外接作为反馈元件的片外晶体振荡器(呈感元件的片外晶体振荡器(呈感性)与电容组成的性)与电容组成的并联谐振并联谐振回回路构成一个路构成一个自激振荡器自激振荡器, , 向内向内部时钟电路提供振荡时钟。部时钟电路提供振荡时钟。 u 振荡器的频率主

28、要取决于晶体振荡器的频率主要取决于晶体的振荡频率的振荡频率, , 一般晶体可在一般晶体可在1.21.212 MHz12 MHz之间任选之间任选, , 电容电容C1C1、 C2C2可在可在5 530 pF30 pF之间选之间选择择, , 电容的大小对振荡频率有电容的大小对振荡频率有微小的影响微小的影响, , 可起频率微调作可起频率微调作用。用。 u (a) 振荡周期振荡周期:为单片机提供定时信号的振荡源的周期,即振荡:为单片机提供定时信号的振荡源的周期,即振荡频率的倒数(晶振周期或外加振荡源周期),用频率的倒数(晶振周期或外加振荡源周期),用P表示表示 振荡频率:振荡器元件(晶振)的频率振荡频率

29、:振荡器元件(晶振)的频率u (b)(b)时钟周期:振荡周期的二倍,用时钟周期:振荡周期的二倍,用S S表示表示 内部时钟发生器是二分频触发器,对振荡频率二分频内部时钟发生器是二分频触发器,对振荡频率二分频u (c)(c)机器周期机器周期:6 6个时钟周期或个时钟周期或1212个振荡周期个振荡周期 一个机器周期由一个机器周期由6 6个状态(时钟)周期组成个状态(时钟)周期组成u (d)(d)指令周期:执行一条指令所占用的时间指令周期:执行一条指令所占用的时间 用机器周期个数表示,可查附录用机器周期个数表示,可查附录2、时序(周期)的概念时序(周期)的概念三者关系?AT89S52 :最高振荡频率

30、24MHZu (e)ALE信号:信号:允许地址锁存信号,当访问外部存储器时允许地址锁存信号,当访问外部存储器时, ALE以每机器以每机器周期两次的信号输出周期两次的信号输出, 用于锁存出现在用于锁存出现在P0口的低口的低8位地址。位地址。 输出周期性的信号,频率为振荡频率的输出周期性的信号,频率为振荡频率的1/6 ,周期为机器周期的,周期为机器周期的1/2。3、复位电路、复位电路 u (1)复位)复位 以便中央处理器以便中央处理器 及其他功能部件都处于一个确定的及其他功能部件都处于一个确定的初初始状态始状态,并从这个状态开始工作,并从这个状态开始工作 a.单片机上电后,对单片机的初始化,从单片

31、机上电后,对单片机的初始化,从ROM中地址为中地址为0000H处开始执行程序处开始执行程序 b.程序运行出错或操作错误进入死锁状态,复位后,重新开始程序运行出错或操作错误进入死锁状态,复位后,重新开始u (2)复位信号)复位信号 在单片机的在单片机的RST端(端(9)至少维持)至少维持2个机器周期个机器周期以上的以上的高电平高电平,高电平有效,再从高电平到底电平,单片机完成复位,从高电平有效,再从高电平到底电平,单片机完成复位,从0000H地址开始执行程序地址开始执行程序u (3).复位后的状态复位后的状态 复位后,复位后,大部分寄存器清大部分寄存器清0,特例是,特例是SP=07H,P0-P3

32、=FFH,但不影响片内,但不影响片内RAM存放的内容存放的内容, 而而ALE、 在复位期间将输出高电平。在复位期间将输出高电平。PSENu (4).复位电路复位电路n在复位电路中,在复位电路中, 构成微分电路构成微分电路,在接,在接电瞬间,产生一个微电瞬间,产生一个微分脉冲,其宽度若大分脉冲,其宽度若大于个机器周期,于个机器周期,型单片机将型单片机将复位。为保证微分脉复位。为保证微分脉冲宽度足够大,冲宽度足够大, 时间常数应大于个时间常数应大于个机器周期。机器周期。一般取一般取电容、电容、 电阻。电阻。u学生分组讨论以下问题,:(1)要想单片机工作,哪些引脚必须给与相应的信号(2)画出单片机的

33、复位、晶振电路u教师提出问题:那么单片机的存储器是如何分配和使用的呢? u总结u布置作业 1书上习题P25 2制作一个单片机的电路板,检测RST、XTAL2、ALE波形 1.2.3 单片机的存储器单片机的存储器u 程序存储器程序存储器:只读存储器,用于存放程序。具有非易失性,掉电后其:只读存储器,用于存放程序。具有非易失性,掉电后其内的信息依然存在内的信息依然存在 片内片内ROM(FLASH ROM):用来存放程序和表格常数,):用来存放程序和表格常数,4KB。 片外片外ROM:用来存放程序,片内不够用时可以外扩:用来存放程序,片内不够用时可以外扩ROM, 内内ROM+ 外外ROM 64Ku

34、数据存储器数据存储器:随机读写存储器,用于存放数据:随机读写存储器,用于存放数据 。具有易失性,芯片掉。具有易失性,芯片掉电后,其内的信息消失。电后,其内的信息消失。 片内片内RAM:用来存放运算过程中的数据,:用来存放运算过程中的数据,256B(片内数据(片内数据+SFR)。)。 片外片外RAM:在数据采集系统中可存放大量的数据,可扩展:在数据采集系统中可存放大量的数据,可扩展64KB一、一、AT89S52AT89S52存储器的组成存储器的组成二、程序存储器二、程序存储器u 单片机的工作是按照事先编制好的程序命令一条条循序执行的单片机的工作是按照事先编制好的程序命令一条条循序执行的, 程序存

35、程序存储器就是用来存放这些已编好的程序和表格常数的储器就是用来存放这些已编好的程序和表格常数的u 片内片内ROM是是4KB的的FLASH ROM,只能读,需要用编程器写入程序,只能读,需要用编程器写入程序u 4KB的的ROM的地址范围的地址范围0000H0FFFH,有一个专门的程序计数器,有一个专门的程序计数器地址指针地址指针PC, PC用于存放用于存放CPU下一条要执行的指令地址下一条要执行的指令地址, 是一个是一个 16 位的专用寄存器位的专用寄存器, 可寻址范围是可寻址范围是0000H0FFFFH共共 64 K.u 片内不够用时,可以外扩片内不够用时,可以外扩ROM,内,内ROM+ 外外

36、ROM 64Ku EA管脚作用管脚作用=0,全访问片外,全访问片外ROM =1,先访问片内,超出,先访问片内,超出4KB后,访问片外后,访问片外u 几个特殊地址:几个特殊地址: 0000H:系统复位后的启动地址,用户程序的第一条指令(转移:系统复位后的启动地址,用户程序的第一条指令(转移指令)指令) 中断程序的入口地址:中断程序的入口地址:0003H,000BH,0013H, 001BH,0023HP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7ALE/PRDWRD0D1D2D3D4D5D6D7OCGQ0Q1Q2Q

37、3Q4Q5Q6Q73938373635343332A0A1A2A3A4A5A6A7A8A9A10A11A12CS1CS2WEOED0D1D2D3D4D5D6D7P00P01P02P03P04P05P06P07X112MHz181931111212223242526272830171680C51910UC120PC220PVCC74LS3736264109876543252421232256912151619P20P21P22P23P241112131516171819VCC20262722PSEN29EA/VPX1X2RESETINT0INT1T0T1片外扩展ROM,用6264芯片u 片内片内

38、RAMRAM为为 256 256 字节字节, , 地址范地址范围为围为00H00HFFH, FFH, 分为两大部分为两大部分分: : 低低 128 128 字字(00H00H7FH7FH)为真正的为真正的RAMRAM区区; ; 高高 128 128 字节字节(80H80HFFHFFH)为特殊功能寄存器区为特殊功能寄存器区SFRSFR三、数据存储器 1. 片内数据存储器u 工作寄存器区工作寄存器区 1.工作寄存器区工作寄存器区 是指是指00H1FH区区, 共分共分4个组个组, 每组有每组有8个单元个单元, 共共32个内部个内部RAM单元。单元。 2.作为工作寄存器使用的作为工作寄存器使用的8个单

39、元,又称为个单元,又称为R0R7 低(四个区域)3.3.程序状态字程序状态字PSWPSW中的中的PSW.3PSW.3(RS0RS0)和)和PSW.4PSW.4(RS1RS1)两位来选)两位来选择哪一组作为工作寄存器使用。择哪一组作为工作寄存器使用。CPUCPU通过软件修改通过软件修改PSWPSW中中RS0RS0和和RS1RS1两位的状态两位的状态, , 就可任选一个工作寄存器工作。就可任选一个工作寄存器工作。每组每组个寄存器每个寄存器都是个寄存器每个寄存器都是8 8位位4.4.每次只能有每次只能有1 1组作为工作寄存器使用组作为工作寄存器使用( (R0R0,R1R1,R2R2,R3R3,R4R

40、4,R5R5,R6R6,R7)R7), , 其它各组可以作为一般的数据缓冲区使用。其它各组可以作为一般的数据缓冲区使用。u位寻址区1、位寻址区是指、位寻址区是指 20H2FH单元,共单元,共16个单元。个单元。 2、 位寻址区的位寻址区的 16个单个单元(共计元(共计128位)的位)的每每1位都有一个位都有一个8位表位表示的位地址示的位地址, 位地址位地址范围为范围为00H1FH。3、位寻址区的每、位寻址区的每1位都位都可当作软件触发器可当作软件触发器, 由程序直接进行位处由程序直接进行位处理。理。4、 同样同样, 位寻址的位寻址的RAM单元也可以按字单元也可以按字节操作作为一般的数节操作作为

41、一般的数据缓冲据缓冲 区。区。u 数据缓冲区数据缓冲区 1.30H37H,数据缓,数据缓冲区冲区 2.堆栈区也在此区中堆栈区也在此区中堆栈区堆栈区 1、堆栈是在内堆栈是在内RAM区专门开辟出来的按照区专门开辟出来的按照“先进后出先进后出”原则进行数据存取的一块连续的原则进行数据存取的一块连续的存储区域。存储区域。 2、堆栈有栈顶和栈底。堆栈栈顶是指最后推、堆栈有栈顶和栈底。堆栈栈顶是指最后推入堆栈的数据所在的存储单元。栈底是指堆栈入堆栈的数据所在的存储单元。栈底是指堆栈的底部。堆栈中没有数据时,二者重叠。的底部。堆栈中没有数据时,二者重叠。 3SP始终指向栈顶。向堆栈推入数据后,栈始终指向栈顶

42、。向堆栈推入数据后,栈顶向上生长,顶向上生长,SP也向上生长也向上生长4、在用到堆栈之前、在用到堆栈之前, 先用指令给先用指令给SP赋值赋值, 以规以规定栈区在定栈区在RAM区的起始地址(栈底层)。当数区的起始地址(栈底层)。当数据推入栈区后据推入栈区后, SP的值也自动随之变化。的值也自动随之变化。 5单片机堆栈区不是固定的单片机堆栈区不是固定的, 原则上可设在内原则上可设在内部部RAM的任意区域内的任意区域内, 但为了避开工作寄存器但为了避开工作寄存器区和位寻址区区和位寻址区, 一般设在一般设在30H以后的范围内。以后的范围内。用到堆栈时,需设定用到堆栈时,需设定SP的初值。一般可设的初值

43、。一般可设(SP)=60H,则堆栈区为,则堆栈区为60H7FHu 高高128B的的RAM单单元中有元中有21个单元可个单元可用,称为用,称为SFR(特(特殊功能寄存器)。殊功能寄存器)。这这21个个SFR分散在分散在高高128B(80HFFH)的)的地址空间内地址空间内u 凡是地址能被凡是地址能被8整整除的除的SFR既可字节既可字节寻址,也可位寻址寻址,也可位寻址高(四个区域)部分常用寄存器介绍:()累加器()累加器(E0H) 累加器累加器 是型单片机中最常用的寄存器。许多是型单片机中最常用的寄存器。许多指令的操作数取自,许多运算的结果存放在指令的操作数取自,许多运算的结果存放在 中。乘除中。

44、乘除法指令必须通过法指令必须通过 进行。累加器进行。累加器 的指令助记符为。的指令助记符为。 ()寄存器()寄存器(F0H) 在在-型单片机乘除法指令中要用到寄存器。除此外,型单片机乘除法指令中要用到寄存器。除此外,可作为一般寄存器用。可作为一般寄存器用。()程序状态字寄存器()程序状态字寄存器(D0H) 也称为标志寄存器,存放各有关标志。其结构和定义如表也称为标志寄存器,存放各有关标志。其结构和定义如表- 所示。所示。 CY:进位标志。有进位借位时进位标志。有进位借位时CY=1,否则,否则CY=0;AC:半进位标志。当:半进位标志。当D3位向位向D4位产生进位借位时位产生进位借位时AC=1,

45、常用于十进制调,常用于十进制调整运算中;整运算中;F0:用户可设定的标志位,可置位复位,也可供测试。:用户可设定的标志位,可置位复位,也可供测试。RS1、RS0:四个通用寄存器组的选择位,该两位的四种组合状态用来选择:四个通用寄存器组的选择位,该两位的四种组合状态用来选择03寄存器组。见表寄存器组。见表1-2。OV:溢出标志。当带符号数运算结果超出:溢出标志。当带符号数运算结果超出-128+127范围时范围时OV=1,否则,否则OV=0。当无符号数乘法结果超过。当无符号数乘法结果超过255时,或当无符号数除法的除数为时,或当无符号数除法的除数为0时,时,OV=1,否则,否则OV=0。P:奇偶校

46、验标志。每条指令执行完,若:奇偶校验标志。每条指令执行完,若A中中“1”的个数为奇数时的个数为奇数时P=1,否则,否则P=0,即奇偶校验方式。,即奇偶校验方式。lPSW程序状态字()数据指针()数据指针(83H,82H) 数据指针是一个位的特殊功能寄存器,由两个位数据指针是一个位的特殊功能寄存器,由两个位寄存器寄存器 和和 组成,组成, 是的高位,是的高位,是的低位,既可合并作为一个位寄存器,是的低位,既可合并作为一个位寄存器,又可分开按位寄存器单独操作。又可分开按位寄存器单独操作。()堆栈指针()堆栈指针(81H) 堆栈是堆栈是 用于暂时存放部分数据的用于暂时存放部分数据的“仓库仓库”。在。

47、在中,由内中,由内 中若干存储单元组成。存储单元的个数称为堆栈的中若干存储单元组成。存储单元的个数称为堆栈的深度(可理解为仓库容量)深度(可理解为仓库容量)(6)其他寄存器)其他寄存器 与单片机定时、中断、串行、并行通信功能相关的寄存器与单片机定时、中断、串行、并行通信功能相关的寄存器u 若片内若片内RAM不够用(数据采集系统),可扩展片外数据存储器不够用(数据采集系统),可扩展片外数据存储器u 片外最大可扩展片外最大可扩展64KB(0000HFFFFH),和片内),和片内RAM独立独立编址编址u 当访问片内当访问片内00HFFH区域和片外区域和片外0000HFFFFH区域时,用区域时,用不同

48、的指令来区分(不同的指令来区分(MOV,MOVX)u 片外数据存储区的指针:片外数据存储区的指针:DPTR 三、数据存储器三、数据存储器 2. 片外数据存储器P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7ALE/PRDWREA/VPX1X2RESETINT0INT1T0T1D0D1D2D3D4D5D6D7OCGQ0Q1Q2Q3Q4Q5Q6Q73938373635343332A0A1A2A3A4A5A6A7A8A9A10CEOEWED0D1D2D3D4D5D6D7P00P01P02P03P04P05P06P07X1

49、12MHz181931111212223242526272830171680C51910UC120PC220PVCC18202174LS373611687654321232219256912151619P20P21P22910111314151617PSEN29片外扩展RAM,用6116芯片u学生分组讨论以下问题,:学生分组讨论以下问题,:(1 1)我们编写的程序存在哪个存储器中?如何存进去?)我们编写的程序存在哪个存储器中?如何存进去?(2 2)数据存储器和程序存储器在功能上区别?)数据存储器和程序存储器在功能上区别?(3 3)数据可以存在数据存储器的哪里?)数据可以存在数据存储器的哪里?u

50、教师提出问题:教师提出问题: 那么我们流水灯的硬件电路如何构建?构建好后,如何编那么我们流水灯的硬件电路如何构建?构建好后,如何编写程序呢?写程序呢?u总结总结u布置作业布置作业 1 1书上习题书上习题P25P25 2 2继续完善最小系统的电路板继续完善最小系统的电路板 流水灯电路图流水灯电路图1.要求P1.0所接的灯闪烁u #include u sbit LED=P10;u void Delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u while (1) u

51、LED=0;uDelay(1000);uLED=1;uDelay(1000);uu u 红色段可改写为: LED=LED;u DELAY(1000);u 2、八个灯循环点亮、八个灯循环点亮u #include u void delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u u unsigned char k,i;u while (1) u u k=0 xfe;u for(i=0;i8;i+)u P1=k;u delay(1000);u k=k1;u k=k|

52、0 x01;uu u u u 3、左右来回循环流水、左右来回循环流水u #include u #include u void delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u u unsigned char i,j;u P1=0 x7f;u while (1) u u for(i=0;i8;i+)u P1=_crol_(P1,1);u delay(1000);u u for(j=0;j7;j+)u P1=_cror_(P1,1);u delay(1000);

53、u u u u 4、花样流水灯(无规律)、花样流水灯(无规律)u #include u unsigned char code sz1=0 x7e,0 xbd,0 xdb,0 xe7,0 xdb,0 xbd,0 x7e,0 x00,0 xff;u void delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u u unsigned char i;u while (1) u u for(i=0;i9;i+)u P1=sz1i;u delay(1000);uu u u

54、 u5.交通灯交通灯 1.2.4 单片机单片机C语言基础语言基础 u知识回顾知识回顾 提问、板书u引子引子 通过演示操作,引出问题:怎么让单片机的外围器件,例如LED点亮?u学习新知学习新知任务任务1:点亮:点亮(D1)一个发光二极管一个发光二极管XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.

55、2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R1220X1CRYSTALC130pFC230pFC310uFR910kVCCGNDD1LED-REDA为阳极,为阳极,B为阴极。若要为阴极。若要D1点亮,点亮,A接高电平,接高电平,B接低电平接低电平从图上看出,只要从图上看出,只要P1.0输出低电平,输出低电平,D1就可点亮就可点亮我们通过编程实现我们通过编程

56、实现P1.0输出低电平输出低电平LED点亮程序点亮程序#include /包含AT89X52.H头文件sbit LED=P10; /定义LED是P1.0引脚对应的变量名void main (void) LED=0; / P1.0=0,LED点亮 while(1);u一、支持的语言一、支持的语言u 1 1、汇编语言、汇编语言u 2 2、高级语言、高级语言u 三种高级语言:三种高级语言:PL/MPL/M、C C和和BASICBASICu C C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用并具备汇

57、编语言的功能。目前,使用C C语言进行程序设计已经成为软语言进行程序设计已经成为软件开发的一个主流。用件开发的一个主流。用C C语言开发系统可以大大缩短开发周期,明显语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。增强程序的可读性,便于改进、扩充和移植。u 针对针对5151系列单片机扩展的系列单片机扩展的C C语言是语言是C51C51 ,现日趋成熟,现日趋成熟,成为了专业化,成为了专业化的实用高级语言。的实用高级语言。u 3.C51特点:特点:u C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用

58、都用C语言编程,如:各种单片机、语言编程,如:各种单片机、DSP、ARM等等.u C51语言程序本身不依赖于机器硬件系统,基本上不作修改就可将语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。程序从不同的单片机中移植过来。u C51提供了很多数学函数并支持浮点运算,开发效率高,故可缩短提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。开发时间,增加程序可读性和可维护性。u 二、二、C51基本构成基本构成u C51单片机的程序由一个个函数(子程序、过程)组成,其中必须有一个主函数单片机的程序由一个个函数(子程序、过程)组成

59、,其中必须有一个主函数main(),程序的执行从,程序的执行从main()函数开始函数开始u void main() 从这里开始执行;从这里开始执行; 其他语句;其他语句;u u 1. C51语言程序的组成结构如下所示:语言程序的组成结构如下所示: #include /*将将at89x52.h 头文件的内头文件的内 容包含进来容包含进来*/ 变量定义变量定义 /*定义程序中要使用到的变量定义程序中要使用到的变量*/ void main() /*主函数主函数*/ 执行语句执行语句 fun1(形式参数表形式参数表) /*函数函数1*/ 形式参数定义形式参数定义 执行语句执行语句LED点亮程序点亮程

60、序#include /包含AT89X52.H头文件sbit LED=P10; /定义LED是P1.0引脚对应的变量名void main (void) /主函数 LED=0; / P1.0=0,LED点亮 while(1); /循环语句,一直停在这 三、三、C51(一)(一)C51C51的数据类型的数据类型1.1.基本数据类型基本数据类型(C(C语言语言) )类型类型符号符号关键字关键字数的表示范围数的表示范围所占位数所占位数整型整型字符型字符型实型实型有有无无(signed) int 16-3276832767(signed) short16-3276832767(signed) long32

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论