收藏 分销(赏)

2022年单片机7(2).ppt

上传人:二*** 文档编号:12674905 上传时间:2025-11-22 格式:PPT 页数:66 大小:775.54KB 下载积分:5 金币
下载 相关 举报
2022年单片机7(2).ppt_第1页
第1页 / 共66页
本文档共66页,全文阅读请下载到手机保存,查看更方便
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,8,章,STC,系列单片机片上功能部件及使用,主讲:朱兆优,本章学习要点:,(1)STC,单片机与其它,8051,单片机的区别;,(2)STC,单片机内部新增功能部件的名称和功能作用;,(3)STC,单片机内部新增功能部件的编程使用以及,IAP,、,ISP,功能的应用。,8.1 STC,单片机性能特点,STC,系列单片机的主要性能如下:,(1),增强,80C51,内核,速度比普通,8051,快,8,12,倍,(2),宽工作电压,5.5 V,,,3.8 V),(3),工作频率,0,35 MHz,,相当,8051,的,0,420 MHz,(4),工作时钟:外部晶振或内部,RC,振荡器可选,(5),程序存储器:,1 k,62 kBFlash,(6),数据存储器:,512B,片内,RAM,(7),芯片内有,E,2,PROM,功能。,(8),有,ISP/IAP,功能,(9),有,8,路,10,位高速,A/D,转换和,4,路,PWM,(10),有,4,通道捕获,/,比较单元,(PWM/PCA/CCU),(11),有,6,个,16,位定时器,(12),有硬件看门狗、,SPI,和双,DPTR,数据指针,(13),全双工异步串行通信接口,12,个,(14),有通用,I/O,口,15,44,(15),内置复位功能,(16),加密性强,很难解密或破解,(17),低功耗设计,(18),内置一个掉电检测电路,STC12C5A60S2,系列单片机包含有,9,10,个中断源,,分,4,个优先级,,如下图:,8.2 STC,单片机,I/O,口的使用,1,、,STC,单片机引脚封装,(1)STC12C56xx,系列单片机主要封装形式有:,20,脚、,28,脚、,32,脚,SOP,/DIP/,SKDIP/,LQFP,包括:,P0,、,P1,、,P2,、,P3,(2)STC12C5A60S2,系列单片机主要封装形式:,PDIP40,/PLCC44/,QFP44/,LQFP48,包括:,P0,、,P1,、,P2,、,P3,、,P4,、,P5,口,2,、,I/O,口控制寄存器,STC12C5A60S2,系列单片机有,P0,、,P1,、,P2,、,P3,、,P4,、,P5,,使用,P4,口与,P4SW,、,AUXR1,寄存器有关。,(1)P4SW,寄存器,P4SW,的字节地址为,BBH,,可进行位寻址,,P4SW,的格式如下:,(2)AUXR1,寄存器,AUXR1,的字节地址为,A2H,,可进行位寻址,,AUXR1,的格式如下:,例如:,将、引脚设置为,I/O,口工作方式,指令如下:,MOVP4SW,#50H,;,将,NA,设为,,EX_LVD,设为,SETBP5.1,8.3 STC,单片机片内存储器的使用,STC12C5A60S2/AD/PWM,单片机的片内:,有,1280B,片内,RAM,数据存储器,有,8 k62 kB,不等的,Flash,程序存储器,有,E,2,PROM,或,IAP,功能,8.3.1 STC,系列单片机片内,RAM,的使用,STC12C5A60S2,单片机片内,RAM,有,1280B,(,比普通,8051,系外单片机增加了,768,字节,),编址:,000H,2FFH,访问这,768,字节与,AUXR,辅助寄存器 有关。,AUXR,的字节地址为,8EH,,可进行位寻址,,AUXR,的格式如下:,EXTRAM=0,,访问内部,RAM,EXTRAM=1,,访问外部,RAM,例如:,把片内,RAM,地址,100H,单元的数据复制到片内,200H,单元中,程序指令如下:,AUXREQU8EH,ANLAUXR,#02H,MOV DPTR,#100H,MOVXA,DPTR,MOVX DPTR,A,8.3.2,单片机,IAP,技术,1,STC,单片机存储器结构,IAP,是在应用中可编程。,STC,系列单片机集成了用做装载应用程序的,Flash,和用做存放数据的,Data Flash,,两者地址重叠,但物理存储空间是分开的。,Data Flash,采用,IAP_ADDRH,和,IAP_ADDRL,寻址,最大寻址空间可达,64 kB,STC,单片机对,Data Flash,按扇区分区操作,把片内,Data Flash,区,地址分成若干个扇区,每个扇区,512,字节。,需要修改,1,各个字节,必须先把该扇区整个擦除,然后才能写入该字节。,2,STC,单片机,IAP,技术使用,IAP,功能时涉及的,6,个寄存器,具体名称和功能如表,8-4,所示。,1,IAP_DATA,数据寄存器:,用于存放,ISP/IAP,从,Data Flash,读出的数据或要待写入的数据。,2,IAP_ADDRH,、,IAP_ADDRL,用于读,/,写操作时存放指定存储器单元的地址,3,IAP_CMD,命令寄存器用于选择操作模式(低,2,位有效),命令格式如下:,4,IAP_TRIG,是命令触发寄存器(,5AH/A5H,),5,IAP_CONTR,是,ISP/IAP,控制寄存器,有,7,位有效控制位,格式如下:,IAPEN,:,ISP/IAP,功能控制位,(2)SWBS,:启动方式选择位,(3)SWRST,:软件复位控制,(4)CMD_FAIL,:在发送,ISP/IAP,命令失败后被置,1,(5)WT2,、,WT1,、,WT0,是等待时间选择位,用于设置,CPU,等待多少个工作时钟。,Flash,操作等待时间设置如表,8-5,所示。,;,声明与,IAP/ISP/EEPROM,有关的特殊功能寄存器的地址,IAP_DATA EQU 0C2H,IAP_ADDRHEQU 0C3H,IAP_ADDRL EQU 0C4H,IAP_CMD EQU 0C5H,IAP_TRIG EQU 0C6H,IAP_CONTR EQU 0C7H,Byte_Read:;,读一字节,,,调用前需打开,IAP,功能,MOV IAP_CONTR,#82H,MOV IAP_CMD,#01,MOV IAP_ADDRH,#01,MOV IAP_ADDRL,#00,MOV IAP_TRIG,#5AH,MOV IAP_TRIG,#0A5H,NOP,MOV A,IAP_DATA,ACALL IAP_Disable;,关闭,IAP,功能,RET,Byte_Program:,MOV IAP_CONTR,#82H,MOV IAP_CMD,#02 ;,设置命令,MOV IAP_ADDRH,DPH,MOV IAP_ADDRL,DPL ;,低,8,位地址,MOV IAP_DATA,A,MOV IAP_TRIG,#5AH,MOV IAP_TRIG,#0A5H ;,触发启动编程操作,NOP,ACALL IAP_Disable;,关闭,IAP,功能,RET,Sector_Erase:,MOV IAP_CONTR,#82H ;,打开,IAP,功能,MOV IAP_CMD,#03H ;,设置命令扇区擦除模式,MOV IAP_ADDRH,DPH ;,高,8,位地址,MOV IAP_ADDRL,DPL ;,低,8,位地址,MOV IAP_TRIG,#5AH,MOV IAP_TRIG,#0A5H ;,触发启动扇区擦除操作,NOP,ACALL IAP_Disable;,关闭,IAP,功能,RET,8.4 STC,系列单片机片上,A/D,转换器的使用,STC,系列单片机片内,8,路,A/D,转换器,可作为温度检测、电池电压检测、频谱检测、按键扫描等用。,8.4.1,片上,A/D,转换器工作原理,与,A/D,转换有关的特殊功能寄存器如下表:,1,A/D,功能设置寄存器,P1ASF,P1ASF,是将,P1,口设置为,A/D,模拟功能的特殊功能寄存器,字节地址为,9DH,,不能进行位寻址,复位时为,00H,。,P1ASF,格式说明如下:,例如:,把用做,A/D,转换器使用时,,将,P1ASF.3=1,即可,2,A/D,转换控制寄存器,ADC_CONTR,ADC_CONTR,是选择通道和启动,A/D,转换的特殊功能寄存器,字节地址为,BCH,,不能进行位寻址。,ADC_ CONTR,格式说明如下:,(1)CHS2,、,CHS1,、,CHS0,是模拟输入通道选择位,,(2)ADC_START,是,A/D,转换启动控制位。,(3)ADC_FLAG,是,A/D,转换结束标志位。,(4)SPEED1,、,SPEED0,是,A/D,转换速度选择控制位,转换速度设置如下:,(5),ADC_POWER,是电源控制位。,1,时,,接通,A/D,转换器电源;,0,时,,关闭,A/D,转换器电源。,(6),AUXR1,是辅助控制寄存器。,ADRJ=0,,,10,位,A/D,高,8,位,放入,ADC_RES,,,低,2,位,存放在,ADC_RESL,。,A/D,计算公式如下:,取,10,位结果,理论计算值,=2,10,*(Vin/Vcc,),取,8,位结果,理论计算值,=2,8,*(Vin/Vcc,),ADRJ=1,,,10,位,A/D,高,2,位,放入,ADC_RES,,,低,8,位,存放在,ADC_RESL,。,A/D,计算公式如下:,取,10,位结果,理论计算值,=2,10,*(Vin/Vcc,),8.4.2,片上,A/D,转换器的使用,例,1,用,STC12C5A60AD,单片机口作为模拟输入端,实现,A/D,转换。,程序设计方法:,1,、设置,ADRJ=0,2,、打开,A/D,转换电源,3,、选择口为模拟输入端,4,、设置转换周期,选择通道,5,、启动,A/D,转换,延时,1ms,6,、检测,A/D,转换是否结束,7,、如果转换结束,清除标志,停止,A/D,转换,8,、读取,A/D,转换结果,例,2,用,STC12C5A08AD,单片机的,A/D,转换通道,(P1.2),扩展,4,个按键,要求编程实现按键扫描。,程序段如下:,KEY_IN:ACALLGet_ADC;,读,A/D,转换值,(,键值,),CJNEA,#00,JK1;,键值比较判断识别,AJMPPK0;,跳转到处理,K0,键,JK1:CJNEA,#80H,JK2,AJMPPK1;,跳转到处理,K1,键,JK2:CJNEA,#0AAH,JK3,AJMPPK2;,跳转到处理,K2,键,JK3:CJNEA,#0C0H,EXT,AJMPPK3;,跳转到处理,K3,键,EXT:RET,8.5.1 PCA/PWM,功能部件工作原理,四种工作模式:,上升,/,下降沿捕捉模式,软件定时器模式,高速输出模式,脉宽调制,(PWM),模式,PCA,模块结构如下图:,PCA/PWM,部件有关的特殊功能寄存器如下表:,1,控制寄存器,CCON,CCON,是,PCA,计数溢出检测和中断控制寄存器。,CCON,字节地址为,D8H,,不能进行位寻址操作。,CCON,格式说明如下:,2,模式寄存器,CMOD,CMOD,是设置,PCA,工作模式的寄存器,字节地址为,D9H,,不能进行位寻址。第,4,、,5,、,6,位未用保留。,CMOD,格式说明如下:,(1)CIDL,是计数器阵列空闲工作模式控制位。,(2)ECF,是中断允许控制位。,软件定时器模式,1A/D功能设置寄存器P1ASF,当CL的值小于EPCnL和CCAPnL的值时,输出为低电平;,IAP_ADDRL EQU 0C4H,与A/D转换有关的特殊功能寄存器如下表:,IAP_ADDRHEQU 0C3H,上升/下降沿捕捉模式,2、打开A/D转换电源,IAP_ADDRL EQU 0C4H,IDLE_WDT:看门狗“IDLE”位。,1 PCA/PWM功能部件工作原理,用PWM可以很方便地实现低速D/A转换功能。,(15)内置复位功能,3PCA高速方波输出,(5)SMOD:波特率倍速位。,(3)CPS2,、,CPS1,、,CPS0,是,PCA,计数器时钟输入源选择控制位。选择配置如下:,3,比较,/,捕获模块工作方式寄存器,CCAPMn,CCAPMn(n=0,1),工作方式寄存器,每一模块对应一个,16,位比较,/,捕捉寄存器,(CCAPnH,和,CCAPnL),。,CCAPMn,格式说明如下:,(1)ECOMn,是比较器使能控制位。,(2)CAPPn,是正捕获功能控制位。,(3)CAPNn,是负捕获功能控制位。,(4)MATn,是匹配设置位。,4,计数寄存器器,PCA,模块还有三组计数值寄存器,其中:,CL,、,CH,是,16,位工作计数器,(,寄存器,),CCAP0L,、,CCAP0H,是模块,0,比较,/,捕捉寄存器,CCAP1L,、,CCAP1H,是模块,1,比较,/,捕捉寄存器,当工作计数器与比较,/,捕捉寄存器的值匹配相等时,将产生中断或改变输出信号。,5,PCA,中断控制,PCA,计数器溢出中断、,PCA/PWM,中断,,中断入口地址都是,003BH,(如下图),由和位控制打开,PCA,中断和总中断。,(1)PCA,计数器溢出中断,若,PCA,计数器溢出的中断允许控制位,ECF=1,,且,EPCA_LVD=1,、,EA=1,,就会响应中断,进入,003BH,入口地址执行程序。,(2)PCA/PWM,中断,若对应的中断使能位,ECCFn=1,,且,EPCA_LVD=1,、,EA=1,,就会响应中断。,8.5.2 PCA/PWM,的工作模式,PCA,模块可以编程实现四种工作模式:,上升,/,下降沿捕获模式,软件定时器模式,高速输出模式,脉宽调制模式,(PWM),。,1,、,PCA,捕获模式,CCAPMn,寄存器中的,CAPNn,和,CAPPn,至少,1,位置,1,。,CAPNn=1,时,下降沿捕获有效;,CAPPn=1,时,上升沿捕获有效;,这,2,位都置,1,时,上升沿和下降沿都进行捕获。,2,、软件定时器模式,MATn=1,时,,PCA,模块在软件定时模式下工作,即对,CCAPMn,寄存器的,ECOMn,位和,MATn,位设置,1(,其它位清,0),。,3,高速输出模式,高速输出模式也是一种软件定时方式。,若,TOGn=1,,,PCA,在高速,PCA,输出模式下工作,模块的,CEXn,输出端将发生翻转。,4,PWM,脉宽调制输出模式,PWM,输出模式功能有,2,种用途:,(1),方波发生器,PWM,输出模式可输出周期和占空比均可调的方波,由软件实现方波的产生,不需要外围电路,成本低,输出方波范围大。,CCAPMn(n=1,0),的,PWMn=1,,,ECOMn=1,时,,PCA,模块用作,PWM,输出,输出频率取决于,PCA,定时器的时钟源。,输出方波的占空比与使用的捕获寄存器,(EPCnL,,,CCAPnL),有关。,由,EPCnL,与,CCAPnL,组合构成一个,9,位工作计数器,,,EPCnH,与,CCAPnH,组合构成一个,9,位备份计数器,。,当,CL,的值小于,EPCnL,和,CCAPnL,的值时,输出为低电平;,当,CL,的值大于,EPCnL,和,CCAPnL,的值时,输出为高电平;,PWM,的频率计算公式为:,PWM,脉宽调制输出模式结构图,(2)D/A,转换器。,用,PWM,可以很方便地实现低速,D/A,转换功能。,使用,PWM,输出模式做,D/A,转换器与直接采用标准,D/A,器件相比,在同样的输出分辨率的情况下,使用,PWM,输出模式时成本更低。,8.5.3 PCA/PWM,编程使用,1,用,PCA,扩展外部中断,例,1,在,CCP0,、,CCP1,引脚输入,2,个不同频率的方波使,2,个,PCA,模块工作于中断方式,模块,0,为下降沿中断,模块,1,为边沿触发中断。模块,0,发生中断后对取反,模块,1,发生中断后对取反。,2,用,PCA,作定时计数器使用,例,2,用,PCA,功能做定时器,实现在输出脉冲宽度为,500ms,的方波。,PCA,定时器每隔,5 ms,中断溢出一次,(T=5 ms),,如果选择时钟输入频率,f,osc=12 MHz,,则,PCA,计数值为:,如果定时,500 ms,则要中断,100,次。用,R2,记录,PCA,定时中断次数。,3,PCA,高速方波输出,例,3,用,STC12C5A08AD,单片机高速输出,f,out=125 kHz,的方波,(,假设晶振,f,osc=20 MHz),。,使用单片机,PCA,功能模块,1,的,CCP1,引脚输出,f,out=125 kHz,的方波,计算比较,/,捕获寄存器的初值,Value,:,4,PWM,输出,例,4,利用,PCA,模块的,PWM,功能输出占空比可变的脉冲信号。,假设,PWM,脉宽最大值为,0F0H,,则占空比为,93.75%,,脉宽最小值,10H,,占空比为,6.25%,;改变脉冲宽度步长为,38H,,输出占空比可变的脉冲波形。,8.6 STC,单片机看门狗部件与节电模式,设计一种用于监测单片机程序运行状态的看门狗部件,俗称“硬件看门狗”。,8.6.1,看门狗工作原理及应用,1,看门狗工作原理,硬件看门狗利用定时器监控主程序的运行。,在系统运行后启动看门狗的计数,每隔一段时间喂狗。,2,看门狗特殊功能寄存器,WDT_CONTR,WDT_CONTR,是控制看门狗的特殊功能寄存器,其字节地址为,0C1H,,复位值为,xx00 0000B,。各位格式定义如下:,WDT_FLAG,:看门狗计数器溢出标志位。,EN_WDT,:看门狗允许位。,CLR_WDT,:看门狗清零位。,IDLE_WDT,:看门狗“,IDLE”,位。,(5)PS2,、,PS1,、,PS0,:看门狗定时器预分频值,(,Pre_scal,),。,看门狗溢出周期,T,计算公式:,3,看门狗编程应用,例,1,设使用,STC,单片机实现键盘扫描和显示功能,采用看门狗监测系统的状态,要求看门狗溢出周期达,1,秒钟左右。如果,f,osc=12 MHz,,设置预分频值为,32,,则实现程序如下:,ORG0000H,LJMPMAIN,ORG0050H,MAIN:MOVWDT_CONTR,#3CH;,启动看门狗,设置预分频值为,32,;,程序初始化,LOOP:ACALLKEY_IN;,调用键盘扫描,ACALLDISP;,调用显示,MOVWDT_CONTR,#3CH;,看门狗清,0(,喂狗,),SJMPLOOP,KEY_IN:,RET,DIPS:,RET,END,例,2,WDT_FLAG,是,看门狗计数器溢出标志位,通过检测这个标志位,可以识别出是由系统复位还是由看门狗计数器溢出复位。程序如下:,ORG0000H,LJMPMAIN,ORG0050H,MAIN:MOVA,#WDT_CONTR;,检测是否为看门狗复位,ANLA,#1000 0000B,JNZWDT_RST;WDT_CONTR=1,,跳转,WDT_RST,MOVWDT_CONTR,#3DH;,启动看门狗,设置预分频值为,64,SETBPW_LED;,上电复位灯,PW_LED,亮,CLRWDT_LED;,看门狗灯灭,SJMP$,WDT_RST:SETBWDT_LED;,看门狗灯亮,CLRPW_LED;,上电复位灯灭,SJMP$,8.6.2 STC,单片机掉电模式与节电模式,1,空闲节电模式,空闲节电模式又称为待机模式,这种模式由软件产生。,2,掉电模式,当单片机进入掉电模式时,外部晶振停振,,CPU,、定时器和串行接口全部停止工作,此时只有外部中断继续工作。,3,PCON,寄存器,PCON,是,STC,单片机设置控制掉电、节电模式的特殊功能寄存器,字节地址为,87H,,复位值为,0011 0000B,。寄存器各位格式定义如下:,(1)POF,:上电复位标志位。,(2)PD,:掉电模式控制位。,(3)IDL,:节电模式控制位。,(4)GF1,、,GF0,:通用工作标志位,(5)SMOD,:波特率倍速位。,软件可设置系统进入掉电、节电模式。,例如:,MOVPCON,#0000 0010B;,置,PD=1,,进入掉电模式,MOVPCON,#0000 0001B;,置,IDL=1,,进入空闲模式,区别:,1,、掉电模式下定时器不工作,串行也不发数据。由外部中断或复位唤醒。,2,、空闲模式下定时器能够正常工作,串口也会将没发完的,1,字节数据继续发完。可由任意中断或复位唤醒。,掉电模式和节电模式由中断唤醒,所以在使用节电模式时,应该安排好中断功能。,8.7 STC,单片机,ISP,编程,ISP-,是在系统编程。,ISP,典型编程电路,用,ISP,下载程序方法:,(,1,)在,PC,机上运行一个下载软件,并通过,COM1,串口通信传输数据来进行改写单片机内部的,Flash,存储器。,(,2,)在单片机端,通过,SPI,或串行接口功能,接收上位机传送来的数据并写入存储器中。,STC,单片机的,ISP,功能,STC,单片机采用串行口经过,MAX232,电平转换后连接到,PC,机的,RS-232,串口(,COM1,)上,实现,ISP,在系统编程,电路 如下:,8.7.2 ISP,编程下载软件,STC12C,系统单片机程序下载方法如下:,(1),设计、连接好接口电路;在,PC,机端安装好,STC_ISP,软件,(,如,可从网站上下载,),。,(2),在,PC,机端执行,STC_ISP,软件出现操作界面;,(3),在,MCU Type,栏上选择单片机芯片;,(4),点击“,Open File”,选择需要下载的*,.hex,程序;,(5),选择串行接口、波特率以及其它选项;,(6),点击“,Download,下载”程序。,STC_ISP,软件操作界面,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服