《单片机原理及应用》项目一_第1页
《单片机原理及应用》项目一_第2页
《单片机原理及应用》项目一_第3页
《单片机原理及应用》项目一_第4页
《单片机原理及应用》项目一_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、8练习题练习题五五知识归纳知识归纳三三单灯闪烁控单灯闪烁控制制二二认识单片机认识单片机一一项目小结项目小结四四项目导读(1 1)掌握)掌握5151系列单片机常用引脚及功能。系列单片机常用引脚及功能。 (2 2)了解常用型号单片机的特点。)了解常用型号单片机的特点。 (3 3)掌握单片机的内部结构。)掌握单片机的内部结构。(4 4)熟悉单片机应用系统的开发流程。)熟悉单片机应用系统的开发流程。(5 5)熟练掌握单片机开发环境的使用。)熟练掌握单片机开发环境的使用。 (1 1)能识别不同类型的单片机芯片。能识别不同类型的单片机芯片。 (2 2)熟练操作)熟练操作KeilKeil软件,进行程序的编写

2、和调试。软件,进行程序的编写和调试。 (3 3)能正确使用汇编指令编写简单程序。)能正确使用汇编指令编写简单程序。 (4 4)能根据任务要求构建单片机最小工作系统。)能根据任务要求构建单片机最小工作系统。o 要想了解单片机的控制作用,必须先认识单片机,熟悉单片机的基本结构及功能,利用单片机集成开发环境,可以更加直观地模拟仿真单片机的工作过程,现在就让我们来认识单片机,学习单片机的相关概念。任务分析任务分析图1-1 单片机芯片外型图 1 1、微型计算机硬件结构、微型计算机硬件结构 常见的微机外形常见的微机外形微型计算机硬件结构微型计算机硬件结构 显示器显示器主机主机键盘键盘鼠标鼠标软软件件系系统

3、统+运 算 器控 制 器CPU存 储 器输输入入接接口口电电路路输输入入设设备备输输出出设设备备输输出出接接口口电电路路硬件系统CPU输输入入设设备备输输出出设设备备软软件件系系统统+硬件系统输输入入接接口口设设备备输输出出接接口口设设备备运 算 器控 制 器存 储 器单片机应用系统单片机应用系统单单片片机机接口接口电路电路及外及外设等设等单片机应用系统单片机应用系统: :由由硬件系统硬件系统和和软件系统软件系统组成组成硬件是硬件是应用系统的基础应用系统的基础软件是在硬件的基础上软件是在硬件的基础上对其资源对其资源进行合理调配和使用进行合理调配和使用,从而完成,从而完成应用系统所要求的任务,二

4、者相应用系统所要求的任务,二者相互依赖,缺一不可互依赖,缺一不可第一阶段第一阶段4位和低档位和低档8位单片机位单片机Fairchild F8F8系列系列(1974-1976)第二阶段第二阶段8位单片机位单片机Intel MCS-48系列系列 (1977-1978)第三阶段第三阶段高档高档8位单片机位单片机Intel MCS-51系列系列 (1979-1982)(1983-1992)第四阶段第四阶段16位和位和32位单片机位单片机Intel MCS-96 系列系列(1983-现在)现在)单单片片机机的的发发展展过过程程1 1单片机的发展趋势单片机的发展趋势v 目前,单片机的主流仍然是目前,单片机

5、的主流仍然是8位高性能单片机。其发展体位高性能单片机。其发展体现在现在CPU功能增强、集成度提高、可靠性提高、内部资功能增强、集成度提高、可靠性提高、内部资源增多、引脚的多功能化、外围电路的内装化、低电压、源增多、引脚的多功能化、外围电路的内装化、低电压、低功耗、与互联网连接等。并且逐步向低功耗、与互联网连接等。并且逐步向SOC、嵌入式系、嵌入式系统过渡统过渡。v 嵌入式嵌入式DSPDSP处理器处理器(DSP)(DSP): :非常擅长于高速实现各种数字信非常擅长于高速实现各种数字信号处理运算(如数字滤波、号处理运算(如数字滤波、FFTFFT、频谱分析、频谱分析等)等)。与单片与单片机相比,机相

6、比,DSPDSP的高速运算能力和多总线,处理的算法的复的高速运算能力和多总线,处理的算法的复杂度和大的数据处理流量是单片机不可企及的。杂度和大的数据处理流量是单片机不可企及的。目前目前世界世界DSPDSP产品市场每年正以产品市场每年正以3030的增幅的增幅大幅度增长,是大幅度增长,是目前最有发展和应用前景的嵌入式处理器之一。目前最有发展和应用前景的嵌入式处理器之一。v 嵌入式微处理器嵌入式微处理器嵌入式微处理器嵌入式微处理器(Embedded MicroProcessor Unit(Embedded MicroProcessor Unit, EMPU)EMPU)的的基础是通用计算机中的基础是通

7、用计算机中的CPUCPU。与单片机相比,单片机本与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的片机中的CPUCPU。14在应用设计中,将在应用设计中,将嵌入式微处理器嵌入式微处理器装配在专门设计的电路板上,装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能只保留和嵌入式应用有关的母板功能,可大幅减小系统体积和,可大幅减小系统体积和功耗。为满足嵌入式应用的特殊要求,功耗。为满足嵌入式应用的特殊要求,嵌入式微处理器虽

8、然在嵌入式微处理器虽然在功能上和标准微处理器基本是一样的功能上和标准微处理器基本是一样的,但在,但在工作温度、抗电磁工作温度、抗电磁干扰、可靠性等方面干扰、可靠性等方面一般都做了各种增强。一般都做了各种增强。代表性产品为代表性产品为ARM系列系列,ARM是是Advanced RISC Machines 的缩的缩写,其中写,其中RISC是精简指令集计算机的缩写。同时是精简指令集计算机的缩写。同时ARM也是设也是设计计ARM处理器的美国公司的简称。处理器的美国公司的简称。ARM家族家族主要有主要有5个产品个产品系列:系列:ARM7、ARM9、ARM9E、ARM10和和SecurCore。152 2

9、单片机的应用领域单片机的应用领域 民用电子产品、计算机系统中的部件控制器、智能仪器仪民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。动化、集散控制系统、并行多机处理系统和局域网络系统。3.3.单片机的特点单片机的特点 (4)低电压,低功耗;)低电压,低功耗; (5)片内存储容量较小;)片内存储容量较小; (6)集成度高、体积小;)集成度高、体积小; (7)性价比高;)性价比高; (8)应用广泛;)应用广泛; (9)易于产品化。)易于产品化

10、。3.3.单片机的特点单片机的特点o 典型单片机有典型单片机有MCS-51MCS-51、MSP430MSP430、EM78EM78、PICPIC、MotorolaMotorola、AVRAVR等。等。o MCS-51MCS-51为主流产品。为主流产品。 o MSP430MSP430为低功耗产品,功能较强。为低功耗产品,功能较强。o EM78EM78为低功耗产品,价格较低。为低功耗产品,价格较低。o PICPIC为低电压、低功耗、大电流为低电压、低功耗、大电流LCDLCD驱动、低价格产品。驱动、低价格产品。o MotorolaMotorola是世界上最大的单片机生产厂家之一,品种全、是世界上最大

11、的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。强,比较适合于工控领域及恶劣的环境。o AVRAVR为高速、低功耗产品,支持为高速、低功耗产品,支持ISPISP、IAPIAP,I/OI/O口驱动能口驱动能力较强。力较强。(1)、STC单片机单片机o STC系列单片机是深圳宏晶公司生产的产品。系列单片机是深圳宏晶公司生产的产品。o 采用采用8051的内核。加密性强,很难解密或破解的内核。加密性强,很难解密或破解o 超强抗干扰超强抗干扰 o 超低功耗超低功耗 o 在系统可编程,无需编程

12、器,可远程升级在系统可编程,无需编程器,可远程升级 o STC单片机直接替换单片机直接替换ATMEL,PHILIPS,Winbond等产品等产品 (2)、AVR单片机单片机o 1997年年,由由ATMEL公司挪威设计中公司挪威设计中心的心的A先生与先生与V先生利用先生利用ATMEL公司公司的的Flash新技术新技术, 共同研发出共同研发出RISC精精简指令集的高速简指令集的高速8位单片机,简称位单片机,简称AVR。o 简便易学,费用低廉简便易学,费用低廉o 高速、低耗、保密高速、低耗、保密o I/O口功能强口功能强,具有具有A/D转换等电路转换等电路o 有功能强大的定时器有功能强大的定时器/计

13、数器及通讯计数器及通讯接口接口o 常用型号有:常用型号有:atmega48、atmega8、atmega16、atmega169P (3)、AT89系列单片机系列单片机 o AT89AT89系列单片机是美国系列单片机是美国ATMELATMEL公司的公司的8 8位位Flash Flash ROMROM单片机产品,它以单片机产品,它以MCS-51MCS-51为内核,与为内核,与MCS-51MCS-51系列单片机软硬件兼容。系列单片机软硬件兼容。系系列列典型芯片典型芯片I/O口口定时定时/计计数器数器中断中断源源串行串行通信口通信口片内片内RAM片内片内ROM新功能新功能标标准准型型AT89C513

14、2个个2x16位位61128字节字节4K Flash MemoryAT89C523x16位位8256字节字节8K Flash MemoryAT89C5532个个3x16位位81256字节字节20K Flash MemoryAT89S5132个个2x16位位61128字节字节4K Flash MemoryWatchdog TimerAT89S523x16位位8256字节字节8K Flash Memory低低档档型型AT89C105115个个2x16位位6无无64字节字节1K Flash MemoryAT89C205115个个2x16位位61128字节字节2K Flash MemoryAT89C4

15、05115个个2x16位位61128字节字节4K Flash Memory高高档档型型AT89C51RC32个个3x16位位81512字节字节32K Flash MemoryWatchdog TimerAT89C55WD32个个3x16位位81256字节字节20K Flash MemoryWatchdog TimerAT89S825232个个3x16位位91256字节字节8K Flash Memory2K EEPROMSPI、Watchdog TimerAT89S5332个个3x16位位91256字节字节12K Flash MemorySPI、Watchdog Timer表表1-1 AT89系

16、列单片机的主要分类及功能特性系列单片机的主要分类及功能特性5151系列单片机及其内部结构系列单片机及其内部结构串行通信接口全双工 1个ROMTXD RXD中断系统并行通信接口48bit定时/计数器RAM时 钟电 路CPU总线控制0INT1INT图1-2 51单片机结构框图 (1) (1) 中央处理器中央处理器CPUCPU:8 8位,运算和控制功能位,运算和控制功能(2) (2) 内部内部RAMRAM:共共256256个个RAMRAM单元,用户使用前单元,用户使用前128128个单元,用于个单元,用于存放可读写数据,后存放可读写数据,后128128个单元被专用寄存器占用。个单元被专用寄存器占用。

17、(3) (3) 内部内部ROMROM:4KBROM4KBROM,用于存放程序、原始数据和表格。,用于存放程序、原始数据和表格。(4) (4) 定时定时/ /计数器:计数器:两个两个1616位的定时位的定时/ /计数器,实现定时或计数计数器,实现定时或计数功能。功能。(5) (5) 并行并行I/OI/O口:口:4 4个个8 8位的位的I/OI/O口口P0P0、P1P1、P2P2、P3P3。(6) (6) 串行口:串行口:一个全双工串行口。一个全双工串行口。(7) (7) 中断控制系统:中断控制系统:5 5个中断源(外中断个中断源(外中断2 2个,定时个,定时/ /计数中断计数中断2 2 个,串行

18、中断个,串行中断1 1个)个)(8) (8) 时钟电路:时钟电路:可产生时钟脉冲序列,允许晶振频率可产生时钟脉冲序列,允许晶振频率6MHZ6MHZ和和12MHZ12MHZ(1 1)汇编语言)汇编语言 汇编语言是最早应用于单片机开发与应用的程序语言,是一种面向机器的低级语言。它以助记符形式表示每一条指令。 51单片机的汇编指令系统包含111条指令,7种寻址方式;按照其功能可分为数据传送类、算术运算类、逻辑运算类、控制转移类和布尔运算类五大类。 汇编语言的优点是执行速度快、代码短小精悍、且指令的执行周期确定。(2 2)高级语言)高级语言 由于汇编语言其缺乏通用性和可读性,并且可移植性差,因此在单片

19、机开发过程中出现了高级语言,如C语言。单片机C语言既有汇编语言操作底层硬件的能力,又具有高级语言的许多优点,其中以Keil公司推出的C51最为流行。 本书涉及到的项目案例程序均采用汇编语言设计。 单片机编程语言单片机编程语言认识单片机开发环境认识单片机开发环境 做一个单片机最小系统做一个单片机最小系统(1)硬件电路板)硬件电路板51单片机晶振电路复位电路电源电路接口电路(2)硬件电路图)硬件电路图(3 3)、单片机应用系统)、单片机应用系统图1-2 单片机应用系统所需软硬件设备及连接形式 设计电设计电路图路图制作电制作电路板路板程序程序设计设计硬件软硬件软件联调件联调程序程序烧录烧录产品产品测

20、试测试单片机开发系统单片机开发系统(单片机仿真器)(单片机仿真器)编程器编程器为什么要配备开发系统呢?任务分析任务分析 在Proteus软件中用AT89S51单片机来组成一个简单的单片机应用系统,以单片机的I/O端口控制一个发光二极管(LED),通过在集成开发环境下编程和调试程序,实现发光二极管的亮/灭以及闪烁的控制效果。 图1-5 单片机控制LED灯电路 2.编写源程序编写源程序P1.0=1,熄灭信号灯P1.0=0,点亮信号灯开始延时延时结束;程序功能:信号灯闪烁控制程序;程序功能:信号灯闪烁控制程序 ORG 0000H ;将程序从地址0000H开始存放在存储器中START: CLR P1.

21、0 ;P1.0=0,点亮信号灯 ACALL DELAY ;调用延时子程序 SETB P1.0 ;P1.0=1,熄灭信号灯 ACALL DELAY ;调用延时子程序 AJMP START ;返回,重复闪动过程DELAY: MOV R3,#7FH;延时子程序 DEL2: MOV R4,#0FFH DEL1: NOP DJNZ R4,DEL1 DJNZ R3,DEL2 RET;子程序返回 END ;汇编结束LED点亮程序点亮程序1. #include /包含包含AT89X52.H头文件头文件2. sbit LED=P10; /定义定义LED是是P1.0引脚对应的变量名引脚对应的变量名3. void

22、main (void)4. 5. LED=0; / P1.0=0,LED点亮点亮 6. while(1);7. 1 1、单片机最小工作系统、单片机最小工作系统 单片机最小系统包括单片机最小系统包括电源、时钟电路、复位电源、时钟电路、复位电路、引脚这几部分。电路、引脚这几部分。其中时钟电路为单片机其中时钟电路为单片机工作提供基本时钟,复工作提供基本时钟,复位电路用于将单片机内位电路用于将单片机内部各电路的状态恢复到部各电路的状态恢复到初始值。初始值。 图1-8 AT89S51单片机最小系统 相关知识:单片机基本结构相关知识:单片机基本结构 2 2、 AT89S51 AT89S51单片机的主要性能

23、单片机的主要性能 表表1-3 AT89S51单片机主要特性参数单片机主要特性参数 兼容兼容MCS-51MCS-51指令系统指令系统 4kB 4kB可反复擦写可反复擦写(1000(1000次)次)ISP ISP Flash ROMFlash ROM 32 32个双向个双向I/OI/O口口工作电压:工作电压:4.0-5.5V4.0-5.5V 2 2个个1616位可编程定时位可编程定时/ /计数器计数器 时钟频率:时钟频率:0-33MHz0-33MHz 全双工全双工UARTUART串行中断口线串行中断口线 128x8bit 128x8bit内部内部RAMRAM 6 6个外部中断源个外部中断源 低功耗

24、空闲和省电模式低功耗空闲和省电模式 中断唤醒省电模式中断唤醒省电模式 3 3级加密位级加密位 看门狗(看门狗(WDTWDT)电路)电路 软件设置空闲和省电功能软件设置空闲和省电功能 灵活的灵活的ISPISP字节和分页编程字节和分页编程 双数据寄存器指针双数据寄存器指针图1-6 AT89S51单片机的外部引脚图 3 3、单片机外部引脚及功能、单片机外部引脚及功能 1. 1.控制引脚控制引脚(1 1) (RESET (RESET,9 9脚脚) )复位复位/ /备用电源输入引脚备用电源输入引脚 复位信号输入,在引脚加上复位信号输入,在引脚加上持续时间大于持续时间大于2 2个机器周期的高电平个机器周期

25、的高电平,可使,可使单片机单片机复位复位。正常工作,此脚电平应。正常工作,此脚电平应 0.5V0.5V。当看门狗定时器溢出输出时,该脚将输出长达当看门狗定时器溢出输出时,该脚将输出长达9696个时钟振荡周期个时钟振荡周期的的高电平高电平。(2 2)ALE/ ALE/ (Address Latch Enable/PROGrammingAddress Latch Enable/PROGramming,3030脚)脚)ALEALE为为CPUCPU访问外部程序存储器或外部数据存储器提供访问外部程序存储器或外部数据存储器提供地地址锁存信号址锁存信号,将,将低低8 8位地址位地址锁存在片外的地址锁存器中。

26、锁存在片外的地址锁存器中。39PROG此外,单片机此外,单片机正常运行正常运行时,时,ALEALE端端一直有正脉冲信号输出一直有正脉冲信号输出,此频率,此频率为时钟振荡器频率为时钟振荡器频率f foscosc的的1/61/6。可用作外部定时或触发信号。可用作外部定时或触发信号。注意注意,每当,每当AT89S51AT89S51访问外部访问外部RAMRAM时(执行时(执行MOVXMOVX类指令),要类指令),要丢丢失一个失一个ALEALE脉冲脉冲。如需要,可将如需要,可将特殊功能寄存器特殊功能寄存器AUXRAUXR(地址为(地址为8EH8EH,将在后面介绍),将在后面介绍)的的第第0 0位位(AL

27、EALE禁止位)置禁止位)置1 1,来,来禁止禁止ALEALE操作操作,但执行访问外,但执行访问外部程序存储器或外部数据存储器指令部程序存储器或外部数据存储器指令“MOVCMOVC”或或“MOVXMOVX”时,时,ALEALE仍然有效。即仍然有效。即ALEALE禁止位不影响对外部存储器的访问。禁止位不影响对外部存储器的访问。 :引脚:引脚第二功能第二功能,对片内,对片内 FlashFlash编程,为编程,为编程脉冲输入编程脉冲输入 脚。脚。40PROG(3 3) /VPP/VPP (Enable Address/Voltage Pulse of Programing (Enable Addre

28、ss/Voltage Pulse of Programing,3131脚脚) ) :引脚引脚第一功能第一功能:外部程序存储器访问允许控制端。:外部程序存储器访问允许控制端。=1=1,在,在PCPC值不超出值不超出0FFFH0FFFH(即不超出片内(即不超出片内4KB Flash4KB Flash存储器的地址范围)时,单片机读存储器的地址范围)时,单片机读片内程序存储器片内程序存储器(4KB4KB)中的程序,但)中的程序,但PCPC值超出值超出0FFFH0FFFH (即超出片内(即超出片内4KB Flash4KB Flash地址范围)时,将地址范围)时,将自动转向读取片外自动转向读取片外60KB

29、60KB(1000H-FFFFH1000H-FFFFH)程序存储器空间中的程序。)程序存储器空间中的程序。EAEAEA =0 =0,只读取只读取外部的程序存储器外部的程序存储器中的内容,读取的地址范中的内容,读取的地址范围为围为0000H0000HFFFFHFFFFH,片内的,片内的4KB Flash 4KB Flash 程序存储器不起作程序存储器不起作用。用。 V VPPPP:引脚引脚第二功能第二功能,对片内,对片内FlashFlash编程,接编程,接编程电压编程电压。(4 4) (Program Strobe ENableProgram Strobe ENable,2929脚)脚) 片外程

30、序存储器读选通信号,低电平有效。片外程序存储器读选通信号,低电平有效。42EAPSEN2. 2. 并行并行I/OI/O口引脚口引脚(1 1)P0P0口:口:8 8位,漏极开路的双向位,漏极开路的双向I/OI/O口口当当外扩存储器及外扩存储器及I/OI/O接口芯片时接口芯片时,P0P0口作为低口作为低8 8位地址总线及数据位地址总线及数据总线的总线的分时复用分时复用端口。端口。P0P0口也可用口也可用作通用的作通用的I/OI/O口口,需加上拉电阻,这时为,需加上拉电阻,这时为准双向口准双向口。作。作为通用为通用I/OI/O输入,应先向端口写入输入,应先向端口写入1 1。可驱动。可驱动8 8个个L

31、SLS型型TTLTTL负载。负载。(2 2)P1P1口:口:8 8位,准双向位,准双向I/OI/O口,具有内部上拉电阻。口,具有内部上拉电阻。准双向准双向I/OI/O口,作为通用口,作为通用I/OI/O输入时,应先向端口锁存器写输入时,应先向端口锁存器写1 1。43P1P1口可驱动口可驱动4 4个个LSLS型型TTLTTL负载。负载。P1.5/MOSIP1.5/MOSI、P1.6/MISOP1.6/MISO和和P1.7/SCKP1.7/SCK可用于对片内可用于对片内FlashFlash存储器串行编程和校验,它们分别是串行数存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。据输入

32、、输出和移位脉冲引脚。(3 3)P2P2口:口:8 8位,位,准双向准双向I/OI/O口,具有内部上拉电阻。口,具有内部上拉电阻。当当AT89S51AT89S51扩展外部存储器及扩展外部存储器及I/OI/O口时,口时,P2P2口作为口作为高高8 8位地址总位地址总线线用,输出高用,输出高8 8位地址。位地址。P2P2口口也可作为普通的也可作为普通的I/OI/O口口使用。当作为通用使用。当作为通用I/OI/O输入时,输入时, 应先向端口输出锁存器写应先向端口输出锁存器写1 1。P2P2口可驱动口可驱动4 4个个LSLS型型TTLTTL负载。负载。(4 4)P3P3口:口:8 8位,位,准双向准双

33、向I/OI/O口口,具有内部上拉电阻。,具有内部上拉电阻。可作为可作为通用的通用的I/OI/O口使用口使用。作为。作为通用通用I/OI/O输入输入,应先向端口,应先向端口输出锁存器写入输出锁存器写入1 1。可驱动。可驱动4 4个个LSLS型型TTLTTL负载。负载。P3P3口还可提供口还可提供第二功能第二功能。第二功能定义见。第二功能定义见表表1 1- -5 5,应熟记。,应熟记。45表表1-5 P31-5 P3端口各引脚与第二功能表端口各引脚与第二功能表 0INT1INTWRRD第一功能第一功能第二功能第二功能第二功能第二功能信号名称信号名称P3.0RXD串行数据接收串行数据接收P3.1TX

34、D串行数据发送串行数据发送P3.2外部中断外部中断0申请申请P3.3外部中断外部中断1申请申请P3.4T0定时器定时器/计数器计数器0的外部输入的外部输入P3.5T1定时器定时器/计数器计数器1的外部输入的外部输入P3.6外部外部RAM写选通写选通P3.7外部外部RAM读选通读选通注意:注意:准双向口与双向口的差别准双向口与双向口的差别。准双向口仅有两个状态。而。准双向口仅有两个状态。而P0P0口作为总线使用,口线内无上拉电阻,处于高阻口作为总线使用,口线内无上拉电阻,处于高阻“悬浮悬浮”态。故态。故P0P0口为双向三态口为双向三态I/OI/O口。口。另外,另外,准双向口准双向口作通用作通用I

35、/OI/O的输入口使用时,的输入口使用时,一定要向该口先写一定要向该口先写入入“1 1”。以上的准双向口与双向口的差别,读者在阅读以上的准双向口与双向口的差别,读者在阅读2.52.5节后,将节后,将会有深刻的理解。会有深刻的理解。注意:注意:并行口的负载驱动能力,并行口的负载驱动能力,每根口线最大可吸收每根口线最大可吸收10mA10mA的(灌)的(灌)电流;电流;但但P0P0口所有引脚的吸收电流总和不能超过口所有引脚的吸收电流总和不能超过26mA26mA,而,而P1P1、P2P2、P3P3每个口吸收电流的总和限制在每个口吸收电流的总和限制在15mA15mA;四个口吸收电流的总和限制四个口吸收电

36、流的总和限制在在71mA71mA。( (AT89s52AT89s52芯片典型值芯片典型值)4748(a)不恰当的连接:高电平驱动不恰当的连接:高电平驱动 (b)恰当的连接:低电平驱动恰当的连接:低电平驱动图图1 1-12-12 发光二极管与发光二极管与AT89S51AT89S51并行口的直接连接并行口的直接连接AT89S51AT89S51芯片芯片当当P0P0口口某位为某位为高电平高电平时,可提供时,可提供400400 A A的电流;的电流;当当P0P0口某位为口某位为低电平低电平(0.45V0.45V)时,可提供)时,可提供3.2mA3.2mA的灌电流。的灌电流。3 3时钟引脚时钟引脚(1 1

37、)XTAL1XTAL1(1919脚):脚):片内振荡器反相放大器和时钟发生片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。和微调电容。外接时钟源时外接时钟源时,该脚接外部时钟振荡器的,该脚接外部时钟振荡器的信号。信号。(2 2)XTAL2XTAL2(1818脚):脚):片内振荡器反相放大器的输出端。片内振荡器反相放大器的输出端。当使用当使用片内振荡器片内振荡器,该脚连接外部石英晶体和微调电容。,该脚连接外部石英晶体和微调电容。当使用当使用外部时钟源外部时钟源时,本脚时,本脚悬空悬空。49 (3) 时钟电路

38、时钟电路 连接方法内部时钟方式内部时钟方式 外部时钟方式外部时钟方式 v内部机器频率内部机器频率F=fosc/12F=fosc/12vC1C1和和C2C2的一般取值的一般取值 20 2030pF30pF陶瓷电容陶瓷电容o 时钟信号的输出时钟信号的输出 当使用片内振荡器,当使用片内振荡器,XTAL1XTAL1、XTAL2XTAL2引脚还能为应用系引脚还能为应用系统中的其他芯片提供时钟,但需增加驱动能力。其统中的其他芯片提供时钟,但需增加驱动能力。其引出的方引出的方式有两种式有两种,如,如图图所示。所示。51 (4) 复位电路复位电路 单片机复位的条件是:必须使单片机复位的条件是:必须使RST引脚

39、(第引脚(第9引脚)加上引脚)加上持续两个机器周期(即持续两个机器周期(即24个振荡周期)的高电平。若时钟个振荡周期)的高电平。若时钟频率为频率为12MHz,每机器周期为,每机器周期为1us,则只需,则只需2us以上时间的以上时间的高电平。高电平。 图图1 1-19-19 按键电平复位电路按键电平复位电路 图图1 1-20-20 按键脉冲复位电路按键脉冲复位电路53图图1 1-21-21所示电路能所示电路能输出输出高、低两种电平高、低两种电平的复位控制信号,以适应外围的复位控制信号,以适应外围I/OI/O接口接口芯片所芯片所要求的要求的不同复位电平信号不同复位电平信号。图图1 1-21-217

40、4LS12274LS122为单稳电路,实验表明,电为单稳电路,实验表明,电容容C C 的选择约为的选择约为0.10.1 F F较好。较好。图图1 1-21-21 两种实用的兼有上电复位与按键复位的电路复位后,内部各专用寄存器状态如表复位后,内部各专用寄存器状态如表1-71-7,其中,其中* *表示无关位。表示无关位。 表1-7 单片机复位状态 专用寄存器专用寄存器复位状态复位状态专用寄存器专用寄存器复位状态复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIP

41、*00000BSBUF不定不定IE 0*00000BPCON0*0000B3 3、单片机的存储器结构、单片机的存储器结构 单片机的存储器包括两大类:程序存储器(单片机的存储器包括两大类:程序存储器(ROMROM)和数据存储器()和数据存储器(RAMRAM)。)。这里以这里以80518051单片机为代表来说明单片机为代表来说明MCS-51MCS-51系列单片机存储器的结构。系列单片机存储器的结构。80518051单片机单片机的存储器主要有的存储器主要有4 4个物理存储空间,即内部数据存储器(个物理存储空间,即内部数据存储器(IDATAIDATA区)、外部数区)、外部数据存储器(据存储器(XDAT

42、AXDATA区)、内部程序存储器和外部程序存储器(程序存储器合区)、内部程序存储器和外部程序存储器(程序存储器合称为称为CODECODE区)。区)。 图1-11 单片机的存储器结构图 内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序执行的起始单元,在这三个单元存放一条无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位位0FFFH0FFEHEA=1 EA=0EA=1 EA=0中断入口地址

43、(a)ROM与 关系 (b)ROM中的特殊单元 图1-12 程序存储器结构图EA0000HFFFFH(64K)内部外部RAMRAM存储器存储器00HFFH7FH80H(高128B)(低128B)RAM专用寄存器0000H H07H07H0808H H0FH0FH1010H H17H17H1818H H1FH1FH0区区R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71区区2区区3区区工作寄存器区工作寄存器区可位寻址区可位寻址区20H2FH7F 7807 0030H7FH数据缓冲区数据缓冲区/堆栈区堆栈区内部内部RAMRAM存储器存储器 工作寄存器区工作寄存器区选择位选择位RS0

44、RS0、RS1RS1PSW位地址 CY ACF0RS1RS0OVF1P内部RAM低128单元单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSB 位地址 LSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05

45、057C7C74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A02027979717169696161595951514949414139393131292921211919111109090101787870706868606058585050484840403838303028

46、2820201818101008080000(2 2) 特殊功能寄存器(特殊功能寄存器(SFRSFR)采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件各功能部件。特殊功能寄存器特殊功能寄存器映射映射在片内在片内RAMRAM的的 80H80HFFH FFH 区域区域中,共中,共2626个。个。表表SFRSFR的名称及其的名称及其分布。有些还可位寻址,位地址见分布。有些还可位寻址,位地址见表表。与与AT89C51AT89C51相比,相比,新增新增5 5个个SFRSFR:DP1LDP1L、DP1HDP1H、AUXRAUXR、AUXR1AUXR1和和WDTRSTWDTRST,已在,已在表

47、表中标出。中标出。凡是凡是可位寻址的可位寻址的SFRSFR,字节地址末位只能是,字节地址末位只能是0H0H或或8H8H。另外,若读。另外,若读/ /写未定义单元,将得到一个不确定的随机数。写未定义单元,将得到一个不确定的随机数。下面介绍某些下面介绍某些SFRSFR,余下的,余下的SFRSFR将在后面介绍。将在后面介绍。5960几种常用的特殊功能寄存器(SFR)q程序计数器程序计数器PC PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容指明即将执行的下一条指令的地址(程序存储器地址),在物理上独立,复位时PC = 0000H。q累加器累加器ACC(Accumulator) 累加器A

48、为8位寄存器,在编程操作中是最常用的专用寄存器,功能较多,可按位寻址。qB寄存器寄存器 B寄存器是一个8位寄存器,即可作为一般寄存器使用,也可用于乘除运算。做乘法运算时,B是乘数。乘法操作后,乘积的高8位存于B中。做除法运算时,B存放除数。除法操作后,余数存放在B中。q程序状态字程序状态字PSW(Program Status Word) P RS0RS1OV F0 AC CY CY 进位/借位标志;位累加器。AC 辅助进/借位标志;用于十进制调整。F0 用户定义标志位;软件置位/清零。OV 溢出标志; 硬件置位/清零。P 奇偶标志;A中1的个数为奇数 P = 1;否则 P = 0。RS1、RS

49、0 寄存器区选择控制位。 0 0 : 0区区 R0 R7 0 1 : 1区区 R0 R7 1 0 : 2区区 R0 R7 1 1 : 3区区 R0 R7 q堆栈指针:堆栈指针:指明栈顶元素的地址,8位,可软件设置初值,复位时 SP = 07H。堆栈是为堆栈是为子程序调用子程序调用和和中断操作中断操作而设而设,主要用来保护断主要用来保护断点点和和现场。现场。(1 1)保护断点。)保护断点。无论是子程序调用操作还是中断服务子程序调用,无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序

50、正确返回做准备。为程序正确返回做准备。(2 2)现场保护。)现场保护。执行子程序或中断服务子程序时,要用到一些寄存执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容保存起来,器单元,会破坏原有内容。要把有关寄存器单元的内容保存起来,送入堆栈,这就是所谓的送入堆栈,这就是所谓的“现场保护现场保护”。两种操作:两种操作:数据压入数据压入(PUSHPUSH)堆栈,堆栈,数据弹出数据弹出(POPPOP)堆栈。数据堆栈。数据压入堆栈,压入堆栈,SPSP自动加自动加1 1;数据弹出堆栈,;数据弹出堆栈,SPSP自动减自动减1 1。65n 数据指针数据指针DPTR0

51、DPTR0和和DPTR1DPTR1双数据指针寄存器,双数据指针寄存器,便于访问便于访问数据存储器数据存储器。DPTR0DPTR0:AT89C51AT89C51单片机单片机原有原有的数据指针;的数据指针;DPTR1DPTR1:新增加:新增加的数据指针。的数据指针。AUXR1AUXR1的的DPSDPS位位用于用于选择选择两个数据指针两个数据指针。当。当DPS=0DPS=0时,选用时,选用DPTR0DPTR0;当;当DPS=1DPS=1时,选用时,选用DPTR1DPTR1。数据指针数据指针可作为一个可作为一个1616位寄存器来用,也可作为两个独立的位寄存器来用,也可作为两个独立的8 8位寄位寄存器存

52、器DP0HDP0H(或(或DP1HDP1H)和)和DP0LDP0L(或(或DP1LDP1L)来用。)来用。要进行要进行16位数据的传送,只有下面指令是正确的:位数据的传送,只有下面指令是正确的: MOV DPTR, #DATA16小贴士小贴士665. AUXR15. AUXR1寄存器寄存器AUXR1AUXR1是辅助寄存器,格式如是辅助寄存器,格式如图图所示:所示: DPSDPS:数据指针寄存器选择位。数据指针寄存器选择位。0 0:选择数据指针寄存器选择数据指针寄存器DPTR0DPTR0;1 1:选择数据指针寄存器选择数据指针寄存器DPTR1DPTR1。1 1、确定设计方案、确定设计方案 选用A

53、T89C51单片机芯片、时钟电路、复位电路、电源和一个发光二极管构成最小系统,完成对单个信号灯的控制。任务实施任务实施并并行行接接口口AT89C51单片机单片机电源电源时钟电路时钟电路复位电路复位电路发光二极管发光二极管LED显示显示图1-13 最小工作系统方案设计框图 2 2、硬件电路设计、硬件电路设计 任务实施任务实施图1-14 单个LED信号灯控制电路原理图 电路所用仿真元器件:AT89C51 :单片机RES :电阻 CRYSTAL :晶振LED-RED :发光二极管CAP :电容CAP-ELEC :电解电容3 3、源程序设计、源程序设计步骤1:;* * * 单灯点亮控制程序* * *

54、* * * * * * * ;程序名:控制程序xm1_1.asm;程序功能:控制1个发光二极管点亮、熄灭显示 ORG 0000H ;程序从地址0000H开始存放 LJMP START ORG 0030HSTART: CLR P1. ;将P1.0清零,点亮一个发光二极管 SJMP $ ;程序动态暂停 END ;汇编程序结束 任务实施任务实施将CLR P1.0这行指令改为SETB P1.0,可使发光二极管熄灭。 结束结束步骤2:;* * * * * * * * *单灯闪烁控制程序* * * * *;程序名:控制程序xm1_2.asm;程序功能:控制单个发光二极管亮、灭 ORG 0000HSTART

55、: CLR P1.0 ;将P1.0清零“0”,点亮一个发光二极管ACALL DELAY ;调用延时子程序,也可用指令LCALLSETB P1.0 ;将P1.0置“1”,熄灭一个发光二极管ACALL DELAY ;调用延时子程序SJMP $ DELAY: MOV R3,#250 ;延时子程序D2: MOV R4,#250D1: NOPDJNZ R4,D1DJNZ R3,D2RETEND图1-15 LED信号灯亮灭闪烁流程图 4 4、软、硬件调试与仿真、软、硬件调试与仿真任务实施任务实施图1-19 单个LED信号灯控制电路全速仿真图片段5 5、实物连接、制作、实物连接、制作任务实施任务实施图1-2

56、4 单个LED信号灯闪烁的电路 板实物在万能板上按照单片机控制LED电路图元器件进行焊接 。6 6、源程序说明、源程序说明 ORG 0000HSTART: CLR P1.0 ;将P1.0清“0”,点亮发光二极管ACALL DELAY ;调用延时子程序延时,也可用指令LCALLSETB P1.0 ;将P1.0置“1”,熄灭发光二极管ACALL DELAY ;调用延时子程序延时SJMP START ;跳转到START处,循环执行程序。也可用指令LJMP任务实施任务实施主程序:主程序:延时子程序:延时子程序:DELAY: MOV R3,#250 ;将立即数250送到R3工作寄存器D2: MOV R4

57、,#250 ;将立即数250送到R4工作寄存器D1: NOP ;消耗1个机器周期DJNZ R4,D1 ;R4减1不为零转移到标号D1处DJNZ R3,D2 ;R3减1不为零转移到标号D2处RET ;子程序结束,返回到主程序训练任务训练任务1:利用P1口输出控制8个发光二极管,实现8个信号灯同时亮灭闪烁,设计方案如何修改?评价标准:流程图绘制、硬件电路原理图修改、软件程序修改、软硬件联调、实物连接。训练任务训练任务2:将P1口改为P0口输出控制8个发光二极管,分别点亮和熄灭,电路如何连接?程序如何修改?评价标准:硬件电路原理图修改、软件程序修改、软硬件联调、实物连接。 训练与测评训练与测评 在实

58、际应用中,经常用开关控制信号灯。将开关连接到在实际应用中,经常用开关控制信号灯。将开关连接到P1.7,LED发光二极管连接到发光二极管连接到P1.0。控制要求:控制要求:开关打开,发光二极管熄灭;开关闭合,发光二开关打开,发光二极管熄灭;开关闭合,发光二极管熄灭点亮。极管熄灭点亮。设计思路:设计思路:首先通过输入口首先通过输入口P1.7将开关的状态读取到单片机将开关的状态读取到单片机内,经过数据处理后,再由输出口内,经过数据处理后,再由输出口P1.0将结果输出来控制发将结果输出来控制发光二极管的点亮和熄灭。光二极管的点亮和熄灭。 技能提高技能提高技能提高技能提高;* * * * * * * * *开关控制信号灯程序* * * * * * ;程序名:控制程序xm1_3.asm;程序功能:用单个开关控制1个发光二极管点亮和熄灭ORG 0000HSTART: MOV C,P1.7;读取开关状态,保存在”C”中CPL C ;将”C”值取反MOV P1.0,C;把”C”值输出到P1.0,控制发光二极管亮、灭LJMP STARTEND图1-26 单个开关控制发光二极管流程图 单片机最小系统设计单片机最小系统设计

温馨提示

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

评论

0/150

提交评论