51单片机C语言开发(课堂PPT)_第1页
51单片机C语言开发(课堂PPT)_第2页
51单片机C语言开发(课堂PPT)_第3页
51单片机C语言开发(课堂PPT)_第4页
51单片机C语言开发(课堂PPT)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、151单片机C语言简单开发(伍建全 )n了解51单片机原理n51单片机并口输入、输出n51单片机中断处理程序n51单片机定时器、计数器使用2微型计算机3微型计算机 (PC)4什么是单片机?n单片机单片机即单片微型计算机单片微型计算机(Single-Chip Microcomputer),又称单片机单片机(Microcontroller),是把中央处理器、存储器、定时定时/计数器计数器(Timer/Counter)、各种输入输出接口输入输出接口等都集成在一块集成电路芯片上的微型计算机。n与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在

2、仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单芯片微电脑常用于当控制器故又名single chip microcontroller,但是目前在中国大陆仍多沿用“单片机”的称呼 5单片机的位数单片机的位数n根据总线总线的宽度,单片机又分为4位、8位、16位和32位单片机。4位单片机多用于冰箱、洗衣机、微波炉等家电控制中;8位、16位单片机主要用于一般的控制领域,一般不使用操作系统;32位用于网络操作、多媒体处理等复杂处理的场合,一般要使用嵌入式操作系统。651系列单片机7单片机的封装方式8ARM

3、单片机常用单片机nARM系列单片机nAtmel(爱特梅尔公司) nAtmel AT91 series (ARM THUMB architecture) nAT90 series AVR (Atmel Norway design) nAtmel AT89 series (Intel 8051/MCS51 architecture) nMARC4nCypress MicroSystems(赛普拉斯微系统公司) nCY8C2xxxx (PSoC)nFreescale Semiconductor(飞思卡尔半导体) n8-bit n68HC05 (CPU05) n68HC08 (CPU08) n68HC

4、11 (CPU11)n16-bit n68HC12 (CPU12) n68HC16 (CPU16) nFreescale DSP56800 (DSPcontroller)n32-bit nFreescale 683XX (CPU32) nMPC500 nMPC 8240/8250 (PowerQUICC II) nMPC 860 (PowerQUICC) nMPC 8540/8555/8560 (PowerQUICC III)nHoltek(盛群半导体) nHT48FXX Flash I/O type nHT48RXX I/O type nHT46RXX A/D type nHT49RXX L

5、CD typenIntel(英特尔) n8-bit n8XC42 nMCS48 nMCS51 : Intel 8051系列历史悠久,兼容产品众多,使用广泛 n8xC251n16-bit nMCS96系列 nMXS296n32-bit ni960nMicrochip(微芯公司)的PIC单片机系列 n8-bit : PIC10 PIC12 PIC16 PIC18 n16-bit : PIC24F PIC24H dsPIC30 dsPIC33 n32bit : PIC32 (采用MIPS M4K 内核架构)nNational Semiconductor(美国国家半导体) nCOP8 nCR16nNE

6、C n78KnNXP Semiconductors(恩智浦半导体,由飞利浦以 Philips Semiconductors 为班底新成立) nLPC2000 nLPC900 nLPC700nParallax, Inc. nBASIC StampnRenesas瑞萨科技系列单片机 nRenesas 16-bits nRenesas M16C Series nRenesas M32C Series nRenesas R8C Series nRenesas M16C/Tiny Series nRenesas R8C/Tiny Series nRenesas H8/Tiny SeriesnSTMicr

7、oelectronics(意法半导体)nSyncMOS新茂国际科技新茂国际科技全系列单片机 nSM59RXXA2 8-bits 1T(RISC) nSM59DXXG2 8-bits 6T(ISP) nSM59XX 8-bits 12T(ISP) nSM89XX 8-bits 12T(Traditional 8051) nSM79XX 8-bits 12T(Customization)nZiLOG nZ8 nZ86E02n 其他系列的单片机其他系列的单片机nAVR系列单片机 nMsp430系列单片机 n8098、80196系列单片机 nAT8P5X系列单片机 nCZG8000系列单片机 nSyn

8、cMOS系列单片机 nSTC系列单片机10一、了解单片机原理118051引脚图1251单片机 特殊功能寄存器(SFR) n关键字 SFRnreg51.hnreg52.h1314Keil C51 单片机开发环境n适用于51单片机的C语言符合C语言标准nC51对C语言有自己的扩展标准C语言关键字关键字 用途 说明auto 存储种类说明 用以说明局部变量,缺省值为此break 程序语句 退出最内层循环case 程序语句 switch语句中的选择项char 数据类型说明 单字节整型数或字符型数据const 存储类型说明 在程序执行过程中不可更改的常量值continue 程序语句 转向下一次循环defa

9、ult 程序语句 switch语句中的失败选择项do 程序语句 构成do.while循环结构double 数据类型说明 双精度浮点数else 程序语句 构成if.else选择结构enum 数据类型说明 枚举extern 存储种类说明 在其他程序模块中说明了的全局变量float 数据类型说明 单精度浮点数for 程序语句 构成for循环结构goto 程序语句 构成goto转移结构if 程序语句 构成if.else选择结构int 数据类型说明 基本整型数long 数据类型说明 长整型数关键字 用途 说明auto 存储种类说明 用以说明局部变量,缺省值为此break 程序语句 退出最内层循环case

10、 程序语句 switch语句中的选择项char 数据类型说明 单字节整型数或字符型数据const 存储类型说明 在程序执行过程中不可更改的常量值continue 程序语句 转向下一次循环default 程序语句 switch语句中的失败选择项do 程序语句 构成do.while循环结构double 数据类型说明 双精度浮点数else 程序语句 构成if.else选择结构enum 数据类型说明 枚举extern 存储种类说明 在其他程序模块中说明了的全局变量float 数据类型说明 单精度浮点数for 程序语句 构成for循环结构goto 程序语句 构成goto转移结构if 程序语句 构成if.

11、else选择结构int 数据类型说明 基本整型数long 数据类型说明 长整型数标准C语言关键字nregister 存储种类说明 使用CPU内部寄存的变量return 程序语句 函数返回short 数据类型说明 短整型数signed 数据类型说明 有符号数,二进制数据的最高位为符号位sizeof 运算符 计算表达式或数据类型的字节数static 存储种类说明 静态变量struct 数据类型说明 结构类型数据swicth 程序语句 构成switch选择结构typedef 数据类型说明 重新进行数据类型定义union 数据类型说明 联合类型数据unsigned 数据类型说明 无符号数数据void

12、数据类型说明 无类型数据volatile 数据类型说明 该变量在程序执行中可被隐含地改变while 程序语句 构成while和do.while循环结构17C51编译器的扩展关键字 关键字 用途 说明bit 位标量声明 声明一个位标量或位类型的函数sbit 位标量声明 声明一个可位寻址变量sfr 特殊功能寄存器声明 声明一个特殊功能寄存器sfr16 特殊功能寄存器声明 声明一个16位的特殊功能寄存器data 存储器类型说明 直接寻址的内部数据存储器bdata 存储器类型说明 可位寻址的内部数据存储器idata 存储器类型说明 间接寻址的内部数据存储器pdata 存储器类型说明 分页寻址的外部数据

13、存储器xdata 存储器类型说明 外部数据存储器code 存储器类型说明 程序存储器interrupt 中断函数说明 定义一个中断函数reentrant 再入函数说明 定义一个再入函数using 寄存器组定义 定义芯片的工作寄存器18C51支持的数据类型(扩展)nbitn使用关键字bit可定义一个位标量,占用内存中的1个二进制位,其值是0或1。不能定义位指针,也不能定义位数组。nsfrnsfr将一个变量名与一个8位寄存器相联系,值域为00 xFF。利用它可以访问51单片机内部的特殊功能寄存器。比如用“sfr P0 = 0 x80”这一句代码,可以定义P0为P0端口在片内的寄存器,在后面的代码中

14、用“”或“”之类的语句可以来操作特殊功能寄存器。nsfr16nsfr16将一个变量名与一个16位寄存器相联系,值域为00 xFFFF。利用它可以访问51单片机内部的16位特殊功能寄存器。例如T0和T1。nsbitnsbit将一个变量名与一个芯片内部RAM中的可寻址位相联系,或者与特殊功能寄存器中的可寻址位相联系。例如 sfr P0 = 0 x80; sbit P0_1 = P01, 这样,在以后的程序中可以用P0_1对P0口的1号引脚进行读/写操作。19Keil C 主界面20并口输出示例21并口输入示例22中断interruptn什么是中断?nCPU在处理某一事件A时,发生了另一事件B请求C

15、PU迅速去处理(中断发生中断发生);nCPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务中断响应和中断服务);n待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返中断返回回),这一过程称为中断中断。 23中断interruptn51单片机有哪些中断?24中断服务程序nvoid 函数名(void) interrupt n 函数体语句 ninterrupt 是C51中断服务程序引入关键字,只能用于C51中断服务程序逻辑 nn是中断号 0 外部中断0 1 定时器中断T0 2 外部中断1 3 定时中断T1 4 串行中断 5 定时器中断T2 n注意:中断服务程序不能

16、有参数,不能有返回值 25IE :中断使能控制26定时器/计数器 T0 T1n定时定时/计数器的结构计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 27定时/计数器的工作原理n加加1计数器计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向C

17、PU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。n可见,由溢出时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。计数器的计数值。n1) 设置为定时器模式时设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计计数值数值N乘以机器周期乘以机器周期Tcy就是定时时间就是定时时间t(us)。n2) 设置为计数器模式时设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采

18、样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2s。 28定时/计数器的控制n51单片机定时/计数器的工作由两个特殊功能寄存器控制。nTMOD用于设置其工作方式;nTCON用于控制其启动和中断申请。 29工作方式寄存器TMODnGATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。nC/T非:定时/计数模式选择位。C/T非0为定时模式;C/T非=1为计数模式。nM1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。 控制寄存器TCONnTCON的低4位用于控制外部中断优先级nTCON的高4位用于控制定时/计数器的启动和中断申请。 31定时/计数器的工作方式 n四种工作方式n方式1n方式

温馨提示

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

评论

0/150

提交评论