STC系列单片机技术应用课件_第1页
STC系列单片机技术应用课件_第2页
STC系列单片机技术应用课件_第3页
STC系列单片机技术应用课件_第4页
STC系列单片机技术应用课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、上次课内容回顾STC系列单片机技术应用STC15系列单片机内部结构图STC系列单片机技术应用8.3.1 STC系列单片机片内RAM的使用 STC15F2K60S2单片机片内SRAM有2KB (比普通8051系列单片机增加了1792或1920字节) 编址:000H7FFH 基本内存:低128B,直接或内部间接寻址 扩展内存:高128B,内部间接寻址 SFR:与扩展内存同地址,直接寻址 扩充内存:增加的1792B(100H-7FFH),外部间接寻址。与片外RAM怎么区分?STC系列单片机技术应用内部RAM的使用 AUXR的字节地址为8EH,可进行位寻址,AUXR的格式如下:EXTRAM= 0,访问

2、内部RAMEXTRAM=1,访问外部RAMSTC系列单片机技术应用1.I/O口控制寄存器 STC15系列单片机有P0、P1、P2、P3、P4、P5,使用I/O口时,应先设置对应的端口模式配置寄存器PxM1、PxM0(x05). 8.4 STC系列单片机输入/输出口STC系列单片机技术应用8.5 STC15系列单片机中断系统8.5.1 中断系统结构 STC15F2K60S2系列单片机提供14个中断源1、外部中断5个:INT0,INT1, INT2, INT3,INT42、定时计数器2个:T0,T1,另T2,T3,T4被屏蔽3、串行口4个:串口1、串口2、串口3、串口4 4、A/D转换中断 1个5

3、、低压检测LVD中断 1个6、SPI中断 1个STC系列单片机技术应用8.6 STC15系列单片机定时器/计数器 定时器/计数器工作原理与传统8051相同,其核心部件是加1计数器,实质是对输入脉冲进行计数。 STC系列单片机技术应用8.6.1 定时器/计数器的控制寄存器 STC15系列单片机内部集成了5个16位定时器/计数器(T0、T1、T2、T3、T4) ,有定时和计数2种工作方式 ,由TMOD 、AUXR、T4T3M控制。 其中T0、T1的工作方式由TMOD控制, T2、T3、T4工作方式由AUXR、T4T3M寄存器控制。STC系列单片机技术应用辅助寄存器AUXR(地址为8EH,复位值为0

4、1H)各位定义如下:位号D7D6D5D4D3D2D1D0位名称T0 x12T1x12UART_M0 x6T2RT2_C/TT2x12EXTRAMS1S21)Tnx12:定时器n速度控制位。 0:定时器0的速度与传统8051单片机定时器速度相同,即12分频,12T模式。 1:定时器0的速度是传统8051单片机定时器速度的12倍,即不分频,1T模式。STC系列单片机技术应用3)T2_C/ :(D3)定时器2工作方式选择。 0:定时器(计数脉冲从内部系统时钟输入; 1:计数器(计数脉冲从P3.1/T2引脚输入)。2)T2R:(D4)定时器2运行控制位。 0:不允许定时器2运行; 1:允许定时器2运行

5、。位号D7D6D5D4D3D2D1D0位名称T0 x12T1x12UART_M0 x6T2RT2_C/TT2x12EXTRAMS1S2STC系列单片机技术应用UART_M0 x6用于控制UART串口的速度。S1S2为串行口1波特率发生器选择位。 EXTRAM用于设置是否允许使用内部1024字节的扩展RAM。位号D7D6D5D4D3D2D1D0位名称T0 x12T1x12UART_M0 x6T2RT2_C/TT2x12EXTRAMS1S2STC系列单片机技术应用T2H/RL_TH2:定时器2重装值寄存器高字节 (地址为0D6H,复位值为00H)位号D7D6D5D4D3D2D1D0位名称T2L/R

6、L_TL2:定时器2重装值寄存器低字节 (地址为0D7H,复位值为00H)位号D7D6D5D4D3D2D1D0位名称STC系列单片机技术应用8.6.2 定时器/计数器的工作方式 T0、T1有4种工作模式 ,而T2、T3、T4工作方式只有固定的模式0,可作定时器、计数器用,它们的内部结构如下: STC系列单片机技术应用8.6.3 定时器/计数器的编程应用例1 使用T0作10ms定时中断对P1.0取反,T0工作在模式0,fsys=6MHz,为1T模式。T0工作在模式0是16位自动重装模式 定时初值计算:(216x)1/6us10ms, 初值 x15A0H STC系列单片机技术应用使用定时器设计程序

7、如下:AUXR DATA 8EHORG0000LJMPMAINORG000BHLJMPTM00ORG0100HMAIN:MOV SP,#6FHMOVTMOD,#00MOVAUXR,#80H;1T模式MOVTL0,#0A0HMOVTH0,#15HSETBET0SETBTR0SETBEA SJMP $TM00: CPLP1.0RETIENDSTC系列单片机技术应用C51程序设计#include void main( ) TMOD=0; AUXR=0X80;/1模式 TH0=0X15; TL0=0XA0; ET0=1;TR0=1; EA=1; while(1);void time0( ) inter

8、rupt 1 P10=!P10;STC系列单片机技术应用例2 要求在1T模式下,用定时器T2产生时钟频率38.4KHz输出(fsys=18.432MHz) 。 T2产生时钟频率从P3.0/T2CLKO引脚输出 T2工作在模式0是16位自动重装模式 T2定时器的定时初值: (216x)/18.432us1/(238.4)ms 初值 x0FF10H STC系列单片机技术应用使用定时器设计程序如下:AUXRDATA 8EH;INT_CLKODATA 8FH;T2HDATA 0D6HT2LDATA 0D7HT2CLKOBITP3.0;寄存器和位定义ORG0000ORLAUXR,#04H;T2x121M

9、OVT2L,#10HMOVT2H,#0FFHORLAUXR,#10H;启动T2MOVINT_CLKO,#04;T2CLKO1 SJMP$ENDSTC系列单片机技术应用8.4 STC15系列单片机片上A/D转换器的使用STC15系列单片机片内8路A/D转换器,可作为温度检测、电池电压检测、频谱检测、按键扫描等用。 8.4.1 片上A/D转换器工作原理与A/D转换有关的特殊功能寄存器如下表(P.167):STC系列单片机技术应用1 STC15F2K60S2片内A/D内部结构STC系列单片机技术应用STC15F2K60S2的ADC组成多路选择开关比较器逐次比较寄存器10位DAC转换结果寄存器(ADC

10、_RES和ADC_RESL)ADC控制寄存器ADC_CONTRSTC系列单片机技术应用STC15F2K60S2的ADC转换原理STC15F2K60S2的ADC是逐次比较型模数转换器。逐次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。STC系列单片机技术应用(2)参考电压源STC15F2K60S2单片机ADC模块的参考电压源是输入工作电压Vcc,一般不用外接参考电压源。如果Vcc不稳定(例如电池供电的系统中,电池电压常常在5.3V-4.2V之间漂移)

11、, 则可以在8路A/D转换的一个通道外接一个稳定的参考电压源,计算出此时的工作电压Vcc,再计算出其他几路A/D转换通道的电压。STC系列单片机技术应用2A/D功能设置寄存器P1ASF P1ASF是将P1口设置为A/D模拟功能的特殊功能寄存器,字节地址为9DH,不能进行位寻址,复位时为00H。P1ASF格式说明如下: 例如:把P1.6用做A/D转换器使用时, 将P1ASF.6设置为1即可(注意不可位寻址)编语言指令:ORL P1ASF, #40H C语言语句:P1ASF |= 0 x40;STC系列单片机技术应用3A/D转换控制寄存器ADC_CONTRADC_CONTR是选择通道和启动A/D转

12、换的特殊功能寄存器,字节地址为BCH,不能进行位寻址。ADC_ CONTR格式说明如下: (1) CHS2、CHS1、CHS0是模拟输入通道选择位, CHS2CHS1CHS0模拟输入通道选择000选择P1.0作为A/D输入来用001选择P1.1作为A/D输入来用010选择P1.2作为A/D输入来用011选择P1.3作为A/D输入来用100选择P1.4作为A/D输入来用101选择P1.5作为A/D输入来用110选择P1.6作为A/D输入来用111选择P1.7作为A/D输入来用STC系列单片机技术应用(2) ADC_START是A/D转换启动控制位。 (3) ADC_FLAG是A/D转换结束标志位

13、,要由软件清0。 (4) SPEED1、SPEED0是A/D转换速度选择控制位,转换速度设置如下: STC系列单片机技术应用STC15F2K60S2单片机A/D转换模块的时钟外部晶体时钟或内部R/C振荡器所产生的系统时钟,不使用时钟分频寄存器CLK_DIV对系统时钟分频后所产生的供给CPU工作所使用的时钟。优点:不仅可以让ADC用较高的频率工作,提高A/D的转换速度;而且可以让CPU用较低的频率工作,降低系统的功耗。需要注意设置ADC_CONTR控制寄存器的语句执行后,要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR控制寄存器。STC系列单片机技术应用(5) ADC_POW

14、ER是电源控制位。 1时,接通A/D转换器电源; 0时,关闭A/D转换器电源。 说明建议进入空闲模式前,将ADC电源关闭,即ADC_POWER =0。启动A/D转换前一定要确认ADC电源已打开,A/D转换结束后关闭ADC电源可降低功耗,也可不关闭。初次打开内部ADC转换模拟电源,需适当延时,等内部模拟电源稳定后,再启动A/D转换。建议启动A/D转换后,在A/D转换结束之前,不改变任何I/O口的状态,有利于提高A/D转换的精度。STC系列单片机技术应用4. CLK_DIV.5是ADRJ位ADRJ=0,10位A/D高8位放入ADC_RES,低2位存放在ADC_RESL。A/D计算公式如下: 取10

15、位结果理论计算值 =210*(Vin/Vcc) 取8位结果理论计算值 =28*(Vin/Vcc)ADRJ=1,10位A/D高2位放入ADC_RES,低8位存放在ADC_RESL。A/D计算公式如下: 取10位结果理论计算值 =210*(Vin/Vcc)STC系列单片机技术应用ADRJ=0时,ADC_RES7:0存放高8位ADC结果,ADC_RESL1:0存放低2位ADC结果。位名称寄存器D7D6D5D4D3D2D1D0ADC_RES98765432ADC_RESL10CLK_DIVADRJ=0STC系列单片机技术应用ADRJ=1时,ADC_RES1:0存放高2位ADC结果,ADC_RESL7:

16、0存放低8位ADC结果。位名称寄存器D7D6D5D4D3D2D1D0ADC_RES98ADC_RESL76543210CLK_DIVADRJ=1STC系列单片机技术应用如果STC15F2K60S2单片机的10位A/D转换结果的高8位存放在ADC_RES中,低2位存放在ADC_RESL的低2位中,模/数转换结果计算公式如下:取10位结果 (ADC_RES7:0,ADC_RESL1:0) = 1024Vin/Vcc取8位结果 ADC_RES7:0 = 256Vin / Vcc Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。STC系列单片机技术应用与A/

17、D转换中断有关的寄存器中断允许控制寄存器IE中的EADC位(D5位)用于开放ADC中断EA位(D7位)用于开放CPU中断中断优先级寄存器IP中的PADC位(D5位)用于设置A/D中断的优先级 在中断服务程序中,要使用软件将A/D中断标志位ADC_FLAG(也是A/D转换结束标志位)清0。STC系列单片机技术应用2、STC15F2K60S2单片机ADC模块的使用编程要点打开ADC电源,第一次使用时要打开内部模拟电源(设置ADC_CONTR)。适当延时,等内部模拟电源稳定。一般延时1ms以内即可。设置P1口中的相应口线作为A/D转换通道(设置P1ASF寄存器)。STC系列单片机技术应用选择ADC通

18、道(设置ADC_CONTR中的CHS2CHS0)。根据需要设置转换结果存储格式(设置CLK_DIV中的ADRJ位)。查询A/D转换结束标志ADC_FLAG,判断A/D转换是否完成,若完成,则读出结果(结果保存在ADC_RES和ADC_RESL寄存器中),并进行数据处理。STC系列单片机技术应用读取转换结果注意:如果是多通道模拟量进行转换,则更换A/D转换通道后要适当延时,使输入电压稳定,延时量取20s200s即可,与输入电压源的内阻有关。如果输入电压信号源的内阻在10K以下,可不加延时。如果是单通道模拟量转换,则不需要更换A/D转换通道,也就不需要加延时。STC系列单片机技术应用若采用中断方式

19、,还需进行中断设置(EADC置1,EA置1)。在中断服务程序中读取ADC转换结果,并将ADC中断请求标志ADC_FLAG清零。STC系列单片机技术应用8.4.2 片上A/D转换器的使用例1 用STC15F2K60S2单片机P1.2口作为模拟输入端,实现A/D转换。程序设计方法:1、设置ADRJ=0 ANL CLK_DIV,#1101 1111B2、打开A/D转换电源 ORL ADC_CONTR,#80H3、选择P1.2口为模拟输入端4、设置转换周期,选择通道5、延时1ms,启动A/D转换6、检测A/D转换是否结束7、如果转换结束,清除标志,停止A/D转换8、读取A/D转换结果STC系列单片机技术应用ADC_CONTR EQU 0BCHADC_RES EQU 0BDHP1ASF EQU 9DHCLK_DI

温馨提示

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

评论

0/150

提交评论