配套课件-单片机应用技术(C语言版)1.ppt

上传人(卖家):三亚风情 文档编号:3224468 上传时间:2022-08-07 格式:PPT 页数:313 大小:8.30MB
下载 相关 举报
配套课件-单片机应用技术(C语言版)1.ppt_第1页
第1页 / 共313页
配套课件-单片机应用技术(C语言版)1.ppt_第2页
第2页 / 共313页
配套课件-单片机应用技术(C语言版)1.ppt_第3页
第3页 / 共313页
配套课件-单片机应用技术(C语言版)1.ppt_第4页
第4页 / 共313页
配套课件-单片机应用技术(C语言版)1.ppt_第5页
第5页 / 共313页
点击查看更多>>
资源描述

1、单 片 机 应 用 技 术 项目一 单片机最小系统设计1.1单片机应用系统的组成1.2 MCS-51系列单片机组成结构1.3 MCS-51系列单片机的存储器结构1.4 最小系统电路1.5单片机系统开发软件 Keil C51 单板机单板机 将将CPU芯片、存储器芯片、芯片、存储器芯片、I/O接口芯片和简单的接口芯片和简单的I/O设备设备(小键盘、(小键盘、LED显示器)等装配在一块印刷电路板上,再配显示器)等装配在一块印刷电路板上,再配上监控程序(固化在上监控程序(固化在ROM中),就构成了一台单板微型计中),就构成了一台单板微型计算机(简称单板机)。算机(简称单板机)。单板机 1.什么是单片机

2、?1.1单片机应用系统的组成单板机的单板机的I/O设备简单,软件资源少,使用设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的不方便。早期主要用于微型计算机原理的教学教学及及简单的测控系统简单的测控系统,现在已很少使用。,现在已很少使用。1.1单片机应用系统的组成 单片机 单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(Central Processing Unit)、存储器(memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时/计数器和中断系统等,都制作

3、在一块集成芯片上,构成一个完整的微型计算机。单片机内部基本结构如图所示。由于它的结构与指令功能都是按照工业控制要求设计的,故又称为微控制器(Micro-Controller Unit,简称MCU)。单板机单片机1.1单片机应用系统的组成2.单片机的用途 单片机的应用十分广泛,在工业控制、智能仪器仪表、家用电器、通信系统、信息和通信产品、办公自动化设备、商业营销设备、医疗设备、汽车电子系统等领域,都有重要的用途。1.1单片机应用系统的组成智能仪器:内部含有单片机的仪器统称为智能仪器,也称为微机化仪器。这类仪器大多采用单片机进行信息处理、控制及通信,与非智能化仪器相比,功能得到了强化,增加了诸如数

4、据存储、故障诊断、联网集控等功能。以单片机作为核心组成智能仪表已经是自动化仪表发展的一种趋势。家用电器:单片机功能完善、体积小、价格低、易于嵌入,非常适用于对家用电器的控制。嵌入单片机的家用电器实现了智能化,是传统型家用电器的更新换代,现已广泛应用于洗衣机、空调、电视机、视盘机、微波炉、电冰箱、电饭煲以及各种视听设备等。工业控制:工业自动化控制是最早采用单片机控制的领域之一,在测控系统、过程控制、机电一体化设备中主要利用单片机实现逻辑控制、数据采集、运算处理、数据通信等用途。单独使用单片机可以实现一些小规模的控制功能,作为底层检测、控制单元与上位计算机结合可以组成大规模工业自动化控制系统。特别

5、在机电一体化技术中,单片机的结构特点使其更容易发挥其集机械、微电子和计算机技术于一体的优势。1.1单片机应用系统的组成信息和通信产品:信息和通信产品的自动化和智能化程度很高,其中许多功能的完成都离不开单片机的参与。这里最具代表性和应用最广的产品就是移动通信设备,例如手机内的控制芯片就属于专用型单片机。另外在计算机外部设备中,如键盘、打印机中也离不开单片机。新型单片机普遍具备通信接口,可以方便地与计算机进行数据通信,为计算机和网络设备之间提供连接服务创造了条件。办公自动化设备:现代办公自动化设备中大多数嵌入了单片机控制核心。如打印机、复印机、传真机、绘图机、考勤机及电话等。通过单片机控制不但可以

6、完成设备的基本功能,还可以实现与计算机之间的数据通信。1.1单片机应用系统的组成商业营销设备:在商业营销系统中单片机已广泛应用于电子秤、收款机、条形码阅读器、IC卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统、空气调节系统、冷冻保险系统等。医疗设备:单片机在医疗设施及医用设备中的用途亦相当广泛,例如在医用呼吸机、各种分析仪、医疗监护仪、超声诊断设备及病床呼叫系统中都得到了实际应用。汽车电子系统:现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器等装置中都离不开单片机。特别是采用现场总线的汽车控制系统中,以单片机担当核心的节点通过协调、高效的数据传送不仅完成了

7、复杂的控制功能,而且简化了系统结构。1.1单片机应用系统的组成3.单片机的类型 按等级大致又可分为三类,即工业级、商业级、军用级。目前8位单片机仍是单片机的主流机型单片机的发展经历了由4位机到8位机,再到16位机的发展过程 1.1单片机应用系统的组成4.4.单片机应用系统单片机应用系统 单片机应用系统单片机接口电路及外设等单片机应用系统由硬件和软件组成硬件是应用系统的基础软件是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可1.1单片机应用系统的组成5)所有人都站在了同一起跑线上;5.学单片机需要什么基础?2)与以前所学的知识关联很少;1)只需要掌

8、握很基本的数电模电知识;3)对各种器件的概念基本上是从0开始;4)如果要用C语言编程,需具备简单的C语言基础;1.1单片机应用系统的组成1.单片机的基本结构 1.2 MCS-51系列单片机组成结构总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。外部总线有三种:数据总线DB(Data Bus)地址总线 AB(Address Bus)控制总线 CB(Control Bus)1.2 MCS-51系列单片机组成结构单片机硬件结构时钟电路CPUROMRAMT0 T1中断系统串行接口并行接口P0 P

9、1 P2 P3TXD RXDINT0 INT1定时计数器中央处理器中央处理器CPU:8位,位,运算和控制运算和控制功能功能内部内部RAM:共共256个个RAM单单元,用户使用元,用户使用前前128个单元,个单元,用于存放可读用于存放可读写数据,后写数据,后128个单元被个单元被专用寄存器占专用寄存器占用。用。内部内部ROM:4KB掩膜掩膜ROM,用于存放程序、用于存放程序、原始数据和表原始数据和表格。格。定时定时/计数器:计数器:两个两个16位的定位的定时时/计数器,实计数器,实现定时或计数现定时或计数功能。功能。并行并行I/O口:口:4个个8位的位的I/O口口P0、P1、P2、P3。串行口:

10、串行口:一个全一个全双工串行口。双工串行口。中断控制系统:中断控制系统:5个中断源(外个中断源(外中断中断2个,定时个,定时/计数中断计数中断2 个,串行中断个,串行中断1个)个)时钟电路:时钟电路:可可产生时钟脉冲产生时钟脉冲序列,允许晶序列,允许晶振频率振频率6MHZ和和12MHZ复位电路1.2 MCS-51系列单片机组成结构2.单片机的引脚总线型1.2 MCS-51系列单片机组成结构非总线型1.2 MCS-51系列单片机组成结构1.2 MCS-51系列单片机组成结构1.2 MCS-51系列单片机组成结构VCCVSSXTAL2XTAL1RSTP0.0P0.1P0.2 P0.3 P0.4 P

11、0.5 P0.6 P0.7P1.0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0ALEP3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7EAPSEN1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C511.2 MCS-51系列单片机组成结构Vss:地Vcc:电源,提供掉电、空闲、正常工作电压RST:复位,当晶振在运行中只要复位管脚出现2 个机器周期高电

12、平即可复位.内部有扩散电阻连接到Vss,仅需要外接一个电容到Vcc 即可实现上电复位ALE:地址锁存使能,在访问外部存储器时,输出脉冲锁存地址的低字节在正常情况下ALE 输出信号恒定为1/6 振荡频率,并可用作外部时钟或定时.注意每次访问外部数据时,一个ALE 脉冲将被忽略.ALE 可以通过置位SFR auxililary.0 禁止.置位后ALE 只能在执行MOVX 指令时被激活PSEN:程序存储使能,读外部程序存储.当从外部读取程序时,PSEN 每个机器周期被激活两次,在访问外部数据存储器PSEN 无效,访问内部程序存储器时PSEN 无效。1.2 MCS-51系列单片机组成结构EA/Vpp:

13、外部寻址使能/编程电压,在访问整个外部程序存储器时,EA 必须外部置低。如果EA 为高时将执行内部程序。当RST 释放后,EA 脚的值被锁存。任何时序的改变都将无效。该引脚在对FLASH 编程时用于输入编程电压(Vpp)XTAL1:晶体1 振荡,反向放大器输入端和内部时钟发生电路输入端XTAL2:晶体2 振荡,反向放大器输出端1.2 MCS-51系列单片机组成结构3.I/O口接口单片机的I/O口 I就是INPUT。单片机是一种微型控制器,要想实现其控制作用,首先单片机就应该能够“感知外部世界的变化”,所以对于单片机而言必须有“输入口”。O就是OUPUT。单片机根据外部信号的状态,通过其内部程序

14、的分析处理,最终决定在哪里输出,输出什么样的信号,所以单片机要想“控制外部世界”就必须有“输出口”。1.2 MCS-51系列单片机组成结构每个I/O口既可以按位操作使用单个引脚,也可以按字节操作使用8个引脚。1.2 MCS-51系列单片机组成结构1单片机的并行端口结构与操作在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。1.2 MCS-51系列单片机组成结构 51单片机4个I/O端口线路设计的非常巧妙,学习I/O端口逻辑电路,不但有利于正确合理地使用端口,而且会给设

15、计单片机外围逻辑电路有所启发。2 P0口的结构1.2 MCS-51系列单片机组成结构下图为P0口的某位P0.n(n=07)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。D QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构P1口逻辑电路1、P0口作为普通I/O口输出时输出时CPU发出控制电平“0 0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出D QCLK QMUXP0.n读锁存器内部

16、总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。D QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构 输入时-分读引脚或读锁存器读引脚:由传送指令(MOV)实现;下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。D

17、QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构D QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚 输入时-分读引脚或读锁存器读锁存器:有些指令 如:ANL P0,A称为“读-改-写”指令,需要读锁存器。上面一个缓冲器用于读端口锁存器数据。1.2 MCS-51系列单片机组成结构*原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出

18、锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。*D QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构 P0口必须接上拉电阻;口必须接上拉电阻;在读信号之前数据之前,先要向相应的锁存器做写在读信号之前数据之前,先要向相应的锁存器做写1操作的操作的I/O口称为准双向口;口称为准双向口;三态输入缓冲器的作用:三态输入缓冲器的作用:(ANL P0,A)P0iQ19013VC CGNDOUTPUT1.2 MCS-51系列单片机组成结构D QCLK QMUXP0.n

19、读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚准双向口:从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。1.2 MCS-51系列单片机组成结构2、P0作为地址/数据总线 在系统扩展时,在系统扩展时,P0P0端口作为端口作为地址地址/数据总线数据总线使用时,分为:使用时,分为:P0P0引脚引脚输出地址输出地址/数据数据信息。信息。D QCLK QMUXP0.n读锁存器内部总线写锁存器读

20、引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构 CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。D QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构 P0 P0引脚引脚输出地址输出地址/输入数据输入数据 输入信号是从引脚通过输入缓冲器进入输入信号是从引脚通过输入缓冲器进入内部总线内部总线。此时,此时,CPUCPU自动使自动使M

21、UXMUX向下,并向向下,并向P0P0口写口写“1 1”,“读读引脚引脚”控制控制 信号有效,下面的缓冲器打开,外信号有效,下面的缓冲器打开,外部数据读入内部总线。部数据读入内部总线。2、P0作为地址/数据总线-真正的双向口D QCLK QMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1.2 MCS-51系列单片机组成结构3 P2的内部结构1.P2口作为普通I/O口D QCLK QMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚CPU发出控制电平“0”,使多路开关MUX倒向锁存器输出Q端,构成一个准双向口。其功能与P1相同。1.2 M

22、CS-51系列单片机组成结构 2.P2口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过256B(用MOVX DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。D QCLK QMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚1.2 MCS-51系列单片机组成结构4 P1口的内部结构 P1口的一位的结构 它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。D QCLK QP1.n读锁存器内部总线写锁存器读引脚VCCRTP1口引脚1.2 MCS-51系列单片机组成结构D QCLK QP3.n读锁

23、存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能作为通用I/O口与P1口类似-准双向口(W=1)W1.2 MCS-51系列单片机组成结构D QCLK QP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能第二功能(Q=1)此时引脚部分输入(Q=1、W=1),部分输出(Q=1、W输出)。W1.2 MCS-51系列单片机组成结构5 P3口的内部结构第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P

24、3.6:WR外部写控制P3.7:RD外部读控制1.2 MCS-51系列单片机组成结构综述 一.P0、P1、P2、P4四个口作为一般输入输出口时:1.当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,硬件电路必须外接上拉电阻才会有高电平输出;2.P0、P1、P2、P4四个口如果作为输入,软件必须先向相应的锁存器写“1”,才不会影响输入电平。1.2 MCS-51系列单片机组成结构二二.P0、P1、P2 和和P3 口为准双向口口为准双向口,在内部差别不大在内部差别不大,但使但使用功能有所不同。用功能有所不同。1.当CPU内部控制信号为“1”时,P0口作为地址/数据总线用,这时,P0口就

25、无法再作为I/O口使用了。2.P1口是用户专用口是用户专用 8 位准双向位准双向I/O口口,具有通用输入具有通用输入/输出功输出功能能,每一位都能独立地设定为输入或输出。每一位都能独立地设定为输入或输出。3.P2口是口是 8 位准双向位准双向I/O口。外接口。外接I/O设备时设备时,可作为扩展系可作为扩展系统的地址总线统的地址总线,输出高输出高8位地址位地址,与与P0 口一起组成口一起组成 16 位地位地址总线。址总线。4.P3口一般用作第二功能端口一般用作第二功能端1.2 MCS-51系列单片机组成结构1.什么是地址?单片机有很多的寄存器和存储单元,这些寄存器和存储单元承担着不同的工作任务,

26、当CPU需要对这些寄存器和存储单元进行读或写操作时,必须知道”它们在哪”。为了让CPU能够准确有序的找到这些寄存器和存储单元,就必须对它们进行编号,而这些编号就称为“地址”。1.3 MCS-51系列单片机的存储器结构12345678910111213142827262524232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM2764123456789101112131415161718192040393837363534333231302928272625242422211234567

27、8910111213142827262524232221 201918171615RAM6264 12345678910111213142827262524232221 201918171615RAM6264 80318751805189C51256B(字节)4K1.3 MCS-51系列单片机的存储器结构程序存储器内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)EA=1 EA=00000H0001H0002H(PC)0000H是程序执行的起始单元,在这三个单元存放一条无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001B

28、H0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位0FFFH0FFEH程序存储器资源分布中断入口地址1.3 MCS-51系列单片机的存储器结构 在单片机C语言程序设计中,用户无需考虑程序的存放地址,编译程序会在编译过程中按照上述规定,自动安排程序的存放地址。例如:C语言是从main()函数开始执行的,编译程序会在程序存储器的0000H处自动存放一条转移指令,跳转到main()函数存放的地址;中断函数也会按照中断类型号,自动由编译程序安排存放在程序存储器相应的地址中。因此,读者只需了解程序存储器的结构就可以了。1.3 MCS-51系列单片机的存储器结构0000HFF

29、FFH(64K)内部外部数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F 7807 0030H7FH用户数据缓冲区/内部RAM存储器 工作寄存器区选择位RS0、RS11.3 MCS-51系列单片机的存储器结构注意:一个单元地址对应有8个位地址MSBMost Significant Bit (最高有效位)LSB Least Significant Bit(最低有效位)单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H

30、25H24H23H22H21H20H7F776F675F574F473F372F271F170F07 MSB 位地址 LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位寻址区位地址表1.3

31、 MCS-51系列单片机的存储器结构离散分布有21个特殊功能寄存器SFR。11个可以进行位寻址。特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。1.3 MCS-51系列单片机的存储器结构在单片机的C语言程序设计中,可以通过关键字sfr来定义所有特殊功能寄存器,从而在程序中直接访问它们,例如:sfr P1=0 x90;/特殊功能寄存器P1的地址是90H,对应P1口的8个I/O引脚在程序中就可以直接使用P1这个特殊功能寄存器了,下面语句是合法的:P1=0 x00;/将P1口的8位I/O口全部清0C语言中,还可以通过关键字sbit来定义特殊功能寄存器中的可寻址位

32、,在程序ex1_1.c中,采用了下面语句定义P1口的第0位:sbit P1_0=P10;通常情况下,这些特殊功能寄存器已经在头文件reg51.h中定义了,只要在程序中包含了该头文件,就可以直接使用已定义的特殊功能寄存器。如果没有头文件reg51.h,或者该文件中只定义了部分特殊功能寄存器和位,用户也可以在程序中自行定义。1.3 MCS-51系列单片机的存储器结构1.4 单片机最小系统电路1.时序电路 在XTAL1和XTAL2引脚上外接定时元件,就能构成自激振荡电路。定时元件通常采用石英晶体和电容组成的并联谐振电路。电容器C1和C2主要起频率微调作用,电容值可选取为1030pF左右。1XTAL1

33、XTAL2C1C2晶振8051至内部时钟电路内部时钟方式如果单片机的时钟必须使用某一个外接的时钟信号,就无需外接晶振。由于此时的外接晶振引脚上没有晶振信号输入,内部的时钟电路将停振,此方式称为外部时钟方式。外部时钟方式 1.4 单片机最小系统电路 机器周期和指令周期 (1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。(2)状态周期:每个状态周期为时钟周期的 2 倍,是振荡周期经二分频后得到的。(3)机器周期:一个机器周期包含 6 个状态周期S1S6,也就是 12 个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。(4)指令周

34、期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。MCS-51 系统中,有单周期指令、双周期指令和四周期指令。1.4 单片机最小系统电路8051单片机的采用内部时钟方式,晶体振荡器的频率单片机的采用内部时钟方式,晶体振荡器的频率f为为6MHZ,则:,则:振荡周期振荡周期1/晶振频率晶振频率=16s;时钟周期时钟周期2*振荡周期振荡周期=13s 机器周期机器周期6*时钟周期时钟周期=2s,指令周期指令周期14倍机器周倍机器周=28s即机器周期即机器周期=(1/晶振频率)晶振频率)*121.4 单片机最小系统电路上电复位电路 简单的说就是在单片机的RST引脚

35、上加高电平,时间不少于5ms。而高电平能够一直加在RST引脚上吗?当然不能,因为那样单片机将永远处于复位状态,为此,需要在单片机外部连接复位电路。由于复位时高电平有效,当刚接上电源的瞬间,电容C1两端相当于短路,即相当于给RESET引脚一个高电平,等充电结束时(这个时间很短暂),电容相当于断开,这时已经完成了复位动作。1.4 单片机最小系统电路带手动复位的按键复位 在程序正常运行过程中,RESET引脚低电平,当按键按下去的时候,电源经过R1和R2分压电路,RESET引脚得到高电平,等按键抬起时,RESET引脚又回到低电平。手动复位动作完成。1.4 单片机最小系统电路最小系统电路 C133PFC

36、233PFY112MHZGNDR2100S1R11.2K+5VC310ufVCCEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U18031GNDVCC单片机最小系统是指单片机工作不可或缺的最基本连接电路。主要包括四部分,单片机芯片、电源电路、时钟电路和复位电

37、路。1.4 单片机最小系统电路 51单片机的编程语言常用的有两种,一种是汇编语言,一种是C 语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C 语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C 语言的开发周期通常要小于汇编语言很多。综合以上C 语言的优点,本书选择C语言为单片机编程语言。单片机编程中所使用的C语言与ANSI C基本相同,只是在某些方面进行了扩展,故称作C51。1.5单片机系统开发软件 Keil C51 使用C

38、语言肯定要使用到C编译器,以便把写好的C 程序编译为机器码,这样单片机才能执行编写好的程序。目前市面上的编译器种类很多,主要有American Automation、IAR、Avocet、Bso/Tasking、Dunfield Shareware、Keil、Intermetrics、Micro Computer Controls等。其中KEIL、IAR、Bso/Tasking具有一定优势,应用较为广泛。德国的KEIL公司的KEIL uVISION2是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS-51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和C

39、语言的程序设计,它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。1.5单片机系统开发软件 Keil C51Keil C51启动窗口1.5单片机系统开发软件 Keil C51建立工程文件1.5单片机系统开发软件 Keil C51选择目标CPU1.5单片机系统开发软件 Keil C51文本编缉窗口1.5单片机系统开发软件 Keil C51增加文件到组中1.5单片机系统开发软件 Keil C51选择文件类型1.5单片机系统开发软件 Keil C51目标属性1.5单片机系统开发软件 Keil C51产生执行文件1.5单片机系统开发软件 Keil C5

40、1选择仿真方式1.5单片机系统开发软件 Keil C51 Keil C51内建了一个仿真CPU来模拟执行程序,该仿真CPU功能强大,可以在没有硬件和仿真器的情况下进行程序的调试。不过,软件模拟与真实的硬件执行程序还是有区别的,其中最明显的就是时序,具体表现在程序执行的速度和用户使用的计算机有关,计算机性能越好,运行速度越快。1.5单片机系统开发软件 Keil C51总结一、基础知识pMCS-51内部组成及信号引脚内部组成及信号引脚pMCS-51存储器结构存储器结构p单片机最小系统电路单片机最小系统电路三、开发软件三、开发软件keil C51keil C51二、单片机组成p什么是单片机 本章主要

41、内容项目二 流水灯系统设计2.1 单片机的C语言2.2 C51的数据与运算2.3 C51 流程控制语句2.4 C语言的函数2.5 数组的概念2.1 单片机单片机的的C语言语言1.C语言的特点p结构化语言p丰富的数据类型p便于维护管理p与汇编语言相比,C语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解单片机不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节可由编译寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;器管理;结构清晰,程序可读性强;结构清晰,程序可读性强;编译器提供了很多标准库函数,具有

42、较强的数据处理能力。编译器提供了很多标准库函数,具有较强的数据处理能力。2.C语言的结构语言的结构 C语言程序以函数形式组织程序结构,C程序中的函数与其他语言中所描述的“子程序”或“过程”的概念是一样的。C程序基本结构2.1 单片机的C语言p一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main(),程序的执行总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序。pC语言程序中可以有预处理命令,预处理命令通常放在源程序的最前面。pC语言程序使用“;”作为语句的结束符,一条语句可

43、以多行书写,也可以一行书写多条语句。2.1 单片机单片机的的C语言语言分隔符为分号2.2 C语言数据与运算语言数据与运算 1.C51的数据与数据类型的数据与数据类型 2.常量与变量常量与变量 3.C51的数据存储类型与的数据存储类型与8051存储器结构存储器结构 4.8051特殊功能寄存器(特殊功能寄存器(SFR)及其)及其C51定义定义 5.位变量(位变量(BIT)及其)及其C51定义定义 6.C51运算符表达式及其规则运算符表达式及其规则一.数据与数据类型数据具有一定格式的数字或数值叫做数据数据类型数据的不同格式叫做数据类型 单片机编程中所使用的是C51语言,与ANSI C基本相同,只是在

44、某些方面进行了扩展。简单的说,C51语言是在ANSI C标准的基础上扩展了数据类型和关键字。C51编译器中int 和short 相同,float 和double 相同。在ANSI C标准C 语言中基本的数据类型为char、int、short、long、float 和double,2.2 C语言数据与运算语言数据与运算 KEIL uVision2 C51 编译器所支持的数据类型数据类型数据类型长长 度度值值 域域unsigned char单字节单字节0255signed char单字节单字节-128+127unsigned int双字节双字节065535signed int双字节双字节-3276

45、8+32767unsigned long四字节四字节04294967295signed long四字节四字节-2147483648+2147483647float四字节四字节1.175494E-383.402823E+38*13 字节字节对象的地址对象的地址bit位位0 或或 1sfr单字节单字节0255sfr16双字节双字节065535sbit位位0 或或 1。默认值为signed 类型2.2 C语言数据与运算 C51的数据类型扩充定义sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明2.2 C语言数据与运算 1.sfr 特殊功能寄存器 s

46、fr 是一种扩充数据类型,占用一个内存单元(1个字节),值域为0255。利用它可以访问51单片机内部的所有特殊功能寄存器。sfr 特殊功能寄存器名=特殊功能寄存器地址常数;sfr P0=0 x80;sfr IE=0 xA8H;#include 2.2 C语言数据与运算 2.sfr16 16 位特殊功能寄存器 sfr16 占用两个内存单元,值域为065535。sfr16和sfr 一样用于操作特殊功能寄存器,所不同的是它用于操作占两个字节的寄存器。sfr16 特殊功能寄存器名=特殊功能寄存器地址常数;用sfr16定义16位特殊功能寄存器时,等号后面是它的低位地址,高位地址一定要位于物理低位地址之上

47、。sfr 16 T2=0 xCC;2.2 C语言数据与运算 sbit 也是也是C51 中的一种扩充数据类型,中的一种扩充数据类型,利用它可以利用它可以访问芯片内部的访问芯片内部的RAM 中的中的可寻址位可寻址位或或特殊功能寄存器特殊功能寄存器中的可寻址位中的可寻址位。3.sbit 可寻址位(1)sbit 位变量名位地址 sbit P1_1=0 x91;这样是把位的绝对地址赋给位变量。同sfr一样sbit的位地址必须位于80H-FFH之间。(2)sbit 位变量名特殊功能寄存器名位位置 sfrP1=0 x90;sbit P1_1=P1 1;/先定义一个特殊功能寄存器名再指定位变量名所在的位置。当

48、可寻址位位于特殊功能寄存器中时可采用这种方法,例如sbit OV=PSW2;(3)sbit 位变量名字节地址位位置sbit P1_1=0 x90 1;2.2 C语言数据与运算 二.常量与变量常量是在程序运行过程中不能改变值的量,如固定的数据表,字库等。1.常量(1)整型常量可以表示为十进制如123,0,89等。十六进制则以0 x开头如0 x34,-0 x3B等。(2)浮点型常量可分为十进制和指数表示形式。十进制由数字和小数点组成,如0.888,3345.345,0.0等。(3)字符型常量是单引号内的字符,如A,B等(4)字符串型常量由双引号内的字符组成,如“TEST,OK等。(5)位标量,它的

49、值是一个二进制。常量的数据类型只有整型、浮点型、字符型、字符串型和位型。2.2 C语言数据与运算 常量定义的几种方式#define False 0 x0#define True 0 x1/这里定义False为0,True为1在程序中用到False编译时自动用0替换,同理True替换为1(1)用预定义语句可以定义常量unsigned int code a=100;/这一句用 code 把 a 定义在程序存储器中并赋值(2)用code 定义2.2 C语言数据与运算 const unsigned int c=100;/用 const 定义 c 为无符号 int 常量并赋值。(3)用const 定义

50、以上2,3两句它们的值都保存在程序存储器中,而程序存储器在运行中是不允许被修改的。2.2 C语言数据与运算 2.变量 变量就是一种在程序执行过程中其值能不断变化的量。变量的定义能使用所有c51编译器支持的数据类型。定义一个变量的格式存储种类数据类型存储器类型变量名表 dataunsigned charsmalla;2.2 C语言数据与运算 存储器类型说明Data(00H-7FH)直接访问内部数据存储器(128字节),访问速度最快Bdata(20H-2FH)可位寻址内部数据存储器(16字节),允许位与字节混合访问xdata外部数据存储器(64KB),用MOVX DPTR指令访问code程序存储器

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(配套课件-单片机应用技术(C语言版)1.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|