资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,总复习,1,.,第一章:,1,、什么是单片机?单片机的基本概念。它的几个名称,2,.,3,2.1 51内核单片机的内部基本结构,51,内核单片机的内部结构框图,外部晶体振荡器与内部振荡电路共同产生单片机运行所需的时钟信号,负责运算、控制和调度,用于存放用户程序、常数、表格等信息,用于存放单片机运行过程中的运算数据及运算地址等,用来对片内各功能模块进行管理、控制和监控的寄存器和反映各功能运行状态的寄存器,4,个,8,位的并行,I/O,口,1,个全双工异步串行口,2,个,16,位的定时,/,计数器,实现定时和计数功能,5,个中断源、,2,级中断优先级 的中断系统,3,.,1,、,16,位寄存器,2,、存放下一条将要执行的指令地址,.,程序中的指令是按照顺序存放在存储器中的某个连续区域,.,每条指令都有自己的地址,CPU,根据,PC,中的指令地址从存储器中取出将要执行的指令,.,3,、具有自动加,1,功能,从而指向下一条将要执行的指令地址,.,4,、,PC,的值可以修改,一般程序是按顺序执行指令的,.,若改变了的,PC,的值,则程序将不再按顺序执行。,算术逻辑运算部件,主要用来完成数据的算术和逻辑运算。,ALU,有,2,个输入端和,2,个输出端,其中一端接至累加器,接收由累加器送来的一个操作数;另一端接收暂存器中的第二个操作数。参加运算的操作数在,ALU,中进行规定的操作运算,运算结束后,一方面将结果送至累加器,同时将操作结果的特征状态送标志寄存器,4,CPU的内部结构图,存放指令码所在存储单元的地址编码,用于存放从程序存储器中读出的指令代码,作为指令译码器的输入锁存器,用来对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号,单片机的控制中心,1,、,8,位寄存器,2,、累加器是一个特殊的寄存器,它的字长和微处理器的字长相同,累加器具有输入输出和移位功能,,微处理器采用累加器结构可以简化某些逻辑运算。,8,位寄存器,进行乘除法运算时,存放参与运算的一个操作数。除此之外,作为一般,REG,使用,8,位寄存器,用于记录运算过程中的状态,如是否借位、溢出等。,4,.,STC12C5A60S2,单片机内部资源和特点:,1T,运行模式(,1,时钟,/,机器周期),8,位,CPU,;,程序存储器,60KB,;,数据存储器:,256B,片内,RAM+1024B,片内扩展,RAM,;,特殊功能寄存器;,2,个,16,位定时,/,计数器,T0,、,T1,;,2,个全双工异步串行口;,4,个,8,位并行,I/O,口,P0,、,P1,、,P2,、,P3,10,个中断源、,4,级优先级的中断系统,8,通道,10,位高速,AD,、,1,个同步串行通信接口,SPI,2,路,PCA/PWM,5,.,-,LVD_P4.6,ALE_P4.5,NA_P4.4,-,-,-,-,P4SW,功能切换寄存器,每个并行口的功能要知道。,6,.,引脚,符号,功能,P1.0,CLKOUT2,独立波特率发生器的时钟输出引脚,P1.2,RxD2,串行口,2,数据接收端,ECI,PCA,计数器外部脉冲输入端,P1.3,TxD2,串行口,2,数据发送端,CCP0,PCA,模块,0,的外部捕获触发信号输入、脉冲输出及,PWM,输出,P1.4,SPI,同步串行接口的从机选择信号端,CCP1,PCA,模块,1,的外部捕获触发信号输入、脉冲输出及,PWM,输出,P1.5,MISO,SPI,同步串行接口的主入从出(主器件的输入和从器件的输出),P1.6,MOSI,SPI,同步串行接口的主出从入(主器件的输出和从器件的输入),P1.7,SCLK,SPI,同步串行接口的时钟信号,7,.,程序状态字寄存器,PSW,:保存指令执行结果的状态,D7,D6,D5,D4,D3,D2,D1,D0,CY,AC,F0,RS1,RS0,OV,F1,P,PSW,寄存器中的四个状态标志位有哪四个?,怎么通过计算得到四个状态标志的值?其它四个位起到什么作用?,8,.,1FH,00H,20H,2FH,7FH,30H,用户,RAM,区和堆栈区,位寻址区,工作寄存器区,2.5.2,片内,RAM,低,128,字节,内部,RAM,区,(通用,RAM,区),高,128,字节,内部,RAM,区,特殊功能寄存器,SFR,00H,7FH,FFH,80H,注意:虽然高,128,字节的,RAM,和,特殊功能寄存器,地址都是,80-FFH,,但是在物理空间上二者是独立的,使用时需要用不同的寻址方式加以区分。,9,.,2.6 I/O,口工作方式及配置,各种工作方式的特点:,准双向口,:输出拉电流,150-250uA,较小;输入灌电流,20mA,较大。,要注意:,读外部引脚状态前,要先输出高电平,读回来的状态才是正确的。,强推挽输出方式,:输入输出都可达到,20mA,电流,适合,需要较大输出电流,的情况。,仅为输入:,所有输出均截止,对外是高阻状态,对输入没有影响。,开漏输出:,内部上拉电阻断开。做输入输出时需要外加上拉电阻。,MOV P1M1,,,#00H,MOVP1M0,,,#00H,MOV P1,#0FFH,MOVA,,,P1,D7,D6,D5,D4,D3,D2,D1,D0,1,0,1,0,0,0,0,0,P2M1寄存器,D7,D6,D5,D4,D3,D2,D1,D0,1,1,0,0,0,0,0,0,P2M0寄存器,10,.,第三章 指令系统,寻址方式,寄存器寻址,,MOV A,,,R0,直接寻址,,MOV A,,,30H,立即数寻址,,MOV A,,,#33H,寄存器间接寻址,,MOV A,,,R0,变址寻址,,MOVC A,,,A+DPTR,相对寻址,,SJMP$JZ L1,位寻址,MOV C,07H,11,.,1,、下列数据传送指令是否有问题?如果有问题该如何改正?,MOV A,,,#1000H,;,(A)1000H,MOVX A,,,1000H,;,(A),片外,RAM(1000H),MOVC A,,,1000H,;,(A),片外,ROM(1000H),MOVX 60H,,,A,;片外,RAM(60H)(A),MOV R0,,,#60H,;片内,RAM(61H)(60H),MOV 61H,,,R0,MOVX 60H,,,DPTR,;,片内,RAM(60H),片外,RAM(DPTR),MOV 50H,#0FCB0H,12,.,简单编程,片内,RAM 50H,单元的内容送到片外,RAM 2000H,单元。,将片内,RAM 01H-FFH,单元的内容清零。,外部,RAM 1000H,的内容传送到内部,RAM20H,程序存储器,2000H,的内容传送到,R1,13,.,第7章 中断控制、定时/计数器,及PCA/PWM的应用,14,.,继续执行原程序,中断,中断是计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。,当前程序,响应中断请求,中断服务程序,7.1,中断的概念,中断包括以下几个过程:,中断源,:产生中断的请求源。,中断响应,:中止当前程序,,准备处理异常事件。,中断服务程序,:对异常事件的处理。,中断返回:,处理完毕,返回到原程序。,15,.,图,7,2 STC12C5A60S2,单片机中断系统的结构图,16,7.2中断系统的结构,中断源、中断请求,中断允许寄存器IE和IE2,PCA,使能只与,EA,有关,16,.,1.,中断允许寄存器,IE,和,IE2,2.,中断优先级控制寄存器,IP,、,IP2,和,IPH,、,IP2H,TCON,8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,TF1,TF0,IE1,IT1,IE0,IT0,(88H),3,、中断请求寄存器,(TCON),17,.,外部中断举例,要求:,每次按键,使外接发光二极管,LED,改变一次亮灭状态。,解:,INT0,输入按键信号,,P1.0,输出改变,LED,状态。,ORG 0000H,AJMP MAIN,ORG0003H,;,中断入口,CPL P1.0,;,改变,LED,RETI,;,返回主程序,ORG0030H,;,主程序,MAIN,:,SETBEA,;,开总允许开关,SETBEX0,;,开,INT0,中断,SETBIT0,;,负跳变触发中断,Here,:,SJMPHere,;,相当于执行其它任务,END,INT0,P1.0,5V,5V,18,.,定时,/,计数器的控制:,TM,O,D,方式寄存器(,89H,),AUXR,(,8EH,),定时器,T0T1,的前三种工作方式的特点。最大计数值和最大定时时间分别为多少?,定时计数初值的计算,程序的编写,19,.,例 若单片机时钟频率为,12MHz,,请计算定时,2ms,所需的定时器初值(,12T,模式),各种方式定时时间比较:,方式,0,:,2,13,*1us=8192us=8.192ms,方式,1,:,2,16,*1us=65.536ms,方式,2,、方式,3,:,2,8,*1us=0.256ms,所以只能采用方式,0,、,1,方式,0,时:(,2,13,TC,)*,1us=2ms TC=1830H,;,TH0=C1H,、,TL0=10H,方式,1,:(,2,16,TC,)*,1us=2ms,TC=F830H;TH0=F8H,、,TL0=30H,20,.,21,【例72】利用STC12C5A60S2单片机的定时/计数器T0功能,在P1.0引脚输出周期为2ms的方波,假设系统时钟频率为6MHz,编写相应的程序。,分析:,若要产生2ms的方波,只需要每定时1ms对P1.0引脚的输出取反。,采用,T0,、方式1定时中断的方式实现。,机器周期,T=2us,(,12T,模式),初值计算:,1ms,1ms,P1.0,引脚,21,.,22,【例73】设STC12C5A60S2单片机的系统时钟频率为12MHz,编程实现从P1.1引脚输出,周期为1s,的方波。,分析:,P1.1引脚的输出应每隔500ms取反一次,即定时时间为500ms,长时间定时。,定时/计数器方式,1,最大定时,65.5ms,。可用定时/计数器T1进行10ms的定时,然后用寄存器R7对10ms定时中断次数计数50次来实现。,定时初值:,500ms,500ms,P1.1,引脚,22,.,23,【例74】用T0作为计数器计数一生产流水线上的工件,每生产100个工件,发出一包装命令,包装成一箱,并记录其箱数,,23,100,个,包装命令,23,.,第8章 串行口通信,串行同步通信、异步通信各自的特点。,串行口,1,的工作方式有哪些?每种工作方式下的波特率和帧格式是什么样的?,可以做为波特率发生器的是()、(),SM0,SM1,方式,功能说明,波特率,0,0,方式0,同步串行移位寄存器方式,当AUXR寄存器中的位UART_M0 x6=0时,波特率等于fosc/12;UART_M0 x6=1时,波特率等于fosc/2,0,1,方式1,8位异步通信,(2,SMOD,/32)(定时/计数器T1的溢出率或独立波特率发生器的溢出率),1,0,方式2,9位异步通信,(2,SMOD,/32)fosc,1,1,方式3,9位异步通信,与方式1相同,24,.,25,.,串行口方式,0,的应用:作为串并转换和并串转换。,串行口方式,1,、,3,的应用:可变波特率的串口通信,而且串口,3,多用于有校验的或者多机通信。,如何初始化串行口?编程。,(1),设置SCON寄存器中各个相关位,由SM0、SM1两位确定工作方式,将TI、RI清0,如果需要接收,将REN位置1;,(2),设置合适的波特率,选择波特率发生器,设置定时/计数器T1的工作方式、给TL1、TH1赋初值,启动T1工作;或者使用独立波特率发生器时,给BRT赋初值,并初始化AUXR寄存器的BRTR及BRTx12两位;,(3),根据需要确定是否需要开放中断及中断优先级;,(4),编写相应的中断或查询方式的服务程序。,26,.,27,例如:要求串行通信的波特率为,62.5kbps,,,fosc=12MHZ,,,12T,模式,,SMOD=1,,使用定时器,T1,做波特率发生器,计算计数初值。,使用串行口方式,1,和方式,3,,,波特率,=,(,2,SMOD,/32,),定时器,/,计数器,T1,或,BRT,溢出率,定时计数器,1,如果使用方式,2,定时方式,,8,位自动重装初值的计数。,机器周期,1us,。,定时器定时时间,=,(,2,8,-C,)*,1us,所以:,27,.,单片机与,PC,机的通讯,PC,机的串口一般为,RS-232C;,它采用负逻辑电平:,-3,-15v,为逻辑,1,;,+3,15v,为逻辑,0,;,-3,+3v,为过渡区,不作定义。,RS-232C,的逻辑电平与,TTL,不兼容,;,要实现,51,单片机与,PC,的串口连接,要加,电平转换电路,。,28,.,11,章:,什么是单片机的最小系统?最小系统构成。,三总线。,单片机扩展片外存储器,怎么连接?用什么指令访问?如何确定存储器的地址空间?,29,.,30,单片机和独立键盘 的连接,【,例,11,6】STC12C5A60S2,单片机的,P3.2,口连接一个按键,命名为,S1,,,P2.7,引脚接发光二极管,D1,。如果按一次,S1,按键,让,D1,熄灭,再一次按下,S1,,让,D1,点亮,如此循环,请编程实现。,P3.2=0,?,CPL P2.7,P3.2=0,?,延时,15ms,去抖动,Y,Y,N,N,30,.,单片机驱动,LED,,区分共阳、共阴极,LED,,会求段码,会写程序代码使,LED,显示某个数值,31,.,32,单片机和,LED,的连接,驱动方法:静态、动态,【,例,11,9】,在两位,LED,上循环显示,00,99,的数值。从,00,开始,每延时,1s,后,数值加,1,。令,P1,口驱动的,LED,作为个位,,P3,口驱动的,LED,作为十位。,32,.,33,.,34,.,
展开阅读全文