资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,考试形式:闭卷,单片机原理及应用,总复习,第,1,章,计算机基础知识,第,2,章 单片机的硬件结构和原理,第,3,章 汇编指令系统,第,4,章 单片机程序设计,第,5,章 中断与定时,第,7,章 单片机存储器扩展,第,8,章 单片机,I/O,口扩展,第,9,章 单片机,A/D,与,D/A,扩展,课程讲授内容,练习,第,3,章内容总结:,MCS-51,指令集,(五大类功能),重点掌握各指令的功能,数据,传送,类指令 (,29,条,),算术,运算类指令 (,24,条,),逻辑运算及移位类指令 (,24,条,),控制,转移,类指令 (,17,条,),位,操作,(,布尔操作,),类指令 (,17,条,),80C51,单片机指令的寻址方式,第三章 汇编指令系统,第,3,章习题答案:,第,3,章习题答案:,第,3,章习题答案:,第,4,章内容总结:,汇编程序的基本结构形式,顺序、分支(单、多分支)、循环等,汇编语言伪指令的格式、功能,汇编语言程序设计例,第四章单片机程序设计,单片机应用系统设计,教学课件,ORG1000H,MOVR1,,,#60H,MOVR5,,,#20,NEXT,:,MOVA,,,ACALLSEPA,MOVR1,,,A,INCR1,DJNZ,,,NEXT SJMP$,SEPA,:,ADDA,,,#00H,PSW.0,,,SRET ORLA,,,SRET,:,例,:,1.,有一长度为,20,字节,的,字符串,存放在,8051,单片机,内部,RAM,中,其首地址为,60H,。要求将该字符串中每一个字符,加偶校验位,。(以调用子程序的方法来实现。)阅读程序并填空,算法:字符,ACSII,码最高位用于奇偶校验;如,“,1,”,的,ACSII,码,00110001B,;偶校验,则,10110001B,;奇校验,00110001B,R1,R5,JNB,#80H,RET,练习:,2.,从内部,RAM30H,单元开始,有,10,个单字节数据。编写如下程序,把,其中的正数、负数分别送,40H,和,50H,开始的内部,RAM,单元。请分析填空。,MOV,R0,,,#30H ;,源数据指针,R0,MOV,R1,,,#40H ;,正数数据指针,R1,MOV,A,,,#50H ;,负数起始地址暂存,A,MOV,R7,,,#10,;,数据长度送,R7,LOOP,:,MOV,20H,,,R0,;,取数存入,20H,JB,,,FS ;,最高位为,1,,转负数,ZS,:,MOV,,,20H ;,最高位为,0,,存入正数,RAM,INC,R1,SJMP,;,进入下一次取数,FS,:,XCH,A,,,R1 ;,正负数指针交换,MOV,R1,,,A ;,XCH,,,R1 ;,正负数指针再次交换,INC,A ;,NEXT,:,DJNZ,,,LOOP;,未处理完,转移,SJMP,;主程序原地跳转,20H.7,R1,NEXT,A,R7,$,3,假定,80C51,的晶振频率为,12 MHz,,执行下列程序后,,在,P1,0,引脚产生的方波周期为,(),。,CLR P1.0 ;P1.0,清零,1T,NEXT:MOV R5,#05 ;R5,置初值,1T,DL0:MOV R6,#0E0H ;R6,置初置,1T,DL1:DJNZ R6,DL1 2T 2x224,DJNZ R5,DL0 2T (2x224+2+1)x5,CPL P1.0;P1.0,取反,1T,SJMP NEXT 2T,机器周期,=1us,半方波周期,=(2x224+2+1)x5x1+1+2+1=2259us,方波周期,=2259x2=4520us=4.518ms,4,下列程序中,,E,和,F,为,1,位逻辑输入信号,,D,为输出的逻辑运算,结果。试写出该程序的逻辑表达式。,D BIT 20H,E BIT 21H,F BIT 22H,MOV C,F,ANL C,/E,MOV D,C,MOV C,E,ANL C,/F,ORL C,D,MOV D,C,SJMP$,D=F/E E/F,中断概念,响应条件,处理原则,中断服务,;,定时器,/,计数器工作方式,1,2,的,用法,;,第,5,章内容总结:,重点:,定时器,/,计数器工作方式,1,2,的应用,定时器计数初始值的计算方法,利用定时器产生定时,利用定时器产生脉冲方波,第五章 中断与定时,练习,简单叙述,80C51,单片机定时,/,计数器有关专用寄存器的作用。,TMOD,TCON,TL0,、,TH0,TL1,、,TH1,例:,设:晶振,=6MHz,。利用,T1,定时中断,,T1,采用工作方式,1,,实现从,P1.0,脚输出频率,=0.5Hz,方波。,1,)要求,T1,产生,100ms,定时,写出定时器的方式控制字和计数初值(分别写出,TH0,与,TL0,值)。,2),编写完整实现程序(要求有注解。),答:,0.5Hz,方波周期,=1/0.5=2S,半个方波周期,=1S,工作方式,1,时,,T1,最大定时时间约为,131ms,。可采用,100msx10,实现,1S,定时。,T1,产生,100ms,定时的,初值计算,fosc =6MHz,1,机器周期,=2,S,方式,1,工作 初值,=65536,100000/2=15536=3CB0H,编程要求有注解。程序为参考程序,ORG 0000H,AJMP MAIN,ORG 001BH,;,T1,的中断向量,AJMP TIME1,;转到中断服务子程序,MAIN:MOV TMOD,#10H,;设,T1,的工作,1,MOV TH1,,,#3CH;,设置定时初值,MOV TL1,#0B0H,MOV IE,,,#84H,;打开全局中断和中断,T1,SETB TR1,;启动定时器,1,MOV R7,#10,;定时计数,10,次,SJMP$,;原地等待中断,TIME1:,MOV TH1,,,#3CH,;,进入中断重新赋初值,MOV TL1,,,#0B0H,DJNZ R7,,,L1,;没有到,10 x100ms,中断返回,CPL P1.0,;,P1.0,取反,MOV R7,#10,;,R7,重新赋值,10,L1,:,RETI,END,例:,若,8051,的晶振频率,fosc,为,6MHz,,定时器,/,计数器,T0,工作在工作方式,1,,要求产生,10ms,定时,写出定时器的方式控制字和计数初值(分别写出,TH0,与,TL0,值)。,解:,T0,:定时方式,工作在方式,1,。方式字,TMOD=01H,fosc=6MHz,,,16,位计数器,,10ms,定时,,Tm,12/fosc=12/6000000=2us,10ms,2us,10000,2,5000,计数初值,X,=65536,5000,60536=EC78H,即,TH0=ECH,TL0=78H,所以:,TMOD=01H,TH0=ECH,TL0=78H,例:,设:晶振,=12MHz,。利用,T1,定时中断,,T1,采用工作方式,2,,实现从,P1.0,脚输出频率,=2KHz,方波。,1,)计算定时初值,2),编写完整实现程序(要求有注解。),答:,计算定时初值,分析:,fosc =12MHz,1,机器周期,=1,S,2KHz,方波周期,=0.5 mS,半个方波周期,=250,S,250uS,1 uS=250,若选择方式,2,工作,8,位定时器最大数值为:,256=0FFH+1,可以满足要求。,计算初值:,256,250=6,第七章存储器,扩展,重点:,片外,RAM,与片外,ROM,扩展(参考范例应用)。,第,7,章内容总结:,单片机并行扩展原理,扩展的片选技术,片外,RAM,与片外,ROM,扩展,思考与练习:,51,单片机扩展了一片,6116,(,2KB,)作为数据存储器,线已接好,请将相应符号填入数字编号处。注:粗线表示多线,细线表示单根线。,解:,P2.0-P2.2 ALE P0.0-P0.7/WR/RD/WE/OE A0-A7 A8-A10/CE,说明,6116,基本地址范围。,思考与练习:,51,单片机扩展了一片,2716,(,2KB,)作为程序存储器,线已接好,请将相应符号填入数字编号处。注:粗线表示多线,细线表示单根线。,解:,P2.0-P2.2 ALE P0.0-P0.7 G/PSEN,5/OE A0-A7 A8-A10/CE,说明,2716,基本地址范围。,第八章:单片机,I/O,口扩展,第,8,章内容总结:,简单,I/O,扩展 (选用锁存器与驱动器),;,扩展,8255,(初始化,电路及应用),;,LED,显示,(,静态与动态),重点:,扩展,8255,(初始化,电路及应用),;,LED,显示,(,动态),D7 D6 D5 D4 D3 D2 D1 D0,特征位,=1,A,组,方式选择,0 0,:方式,0,0 1,:方式,1,1 X,:方式,2,A,口,B,口,C,L,口,C,H,口,B,组,方式选择,=0,,方式,0,=1,,方式,1,=0,,输出,=1,,输入,=0,,输出,=1,,输入,=0,,输出,=1,,输入,=0,,输出,=1,,输入,8255,控制寄存器,接受控制命令,告诉,8255,以何种方式工作。,其地址是:,A1,A0=11,。它可以接受两条命令,第一条,命令叫,“,方式控制字,”,,方式控制字格式如下:,A,组,B,组,注意:,对同一控制寄存器可写,两种,命令,故必须在命令本身用,“,特征位,”,加以区别。第二条命令的,特征位,=0,8255,的编程应用,例:,8051,单片机扩展,8255I/O,口接线如图,,初始化,A,口,B,口,C,口为基本,I/O,输出口,AT89C51,8255,74LS373,P0.0-P0.7,ALE,8D,Q0Q1Q7,CS,RESET,A0A1,D0-D7,G,EA,OE,RESET,RD,WR,WR,RD,+5V,PA,PC7PC0,微型 打印机,PB,Q7,接片选,/CS,端,8255,的,(,一组,),寄存器地址,可以是,:,PA,口,:,0000H,PB,口,:,0001H,PC,口,:,0002H,命令口,:,0003H,也可以是:,00,7CH,00,7D,H,00,7E,H,00,7F,H,8255,的编程应用,初始化,A,口,B,口,C,口为基本,I/O,输出口,MOV DPTR,#,007FH,;,指向控制字寄存器,MOV A,#,80H,;A,B,C,口均为输出口,MOVX DPTR,A ;,装入,按照,8255,控制寄存器,方式控制字格式写命令:,D7 D6 D5 D4 D3 D2 D1 D0,特征位,=1,A,组,方式选择,0 0,:方式,0,0 1,:方式,1,1 X,:方式,2,A,口,B,口,C,L,口,C,H,口,B,组,方式选择,=,0,,方式,0,=1,,方式,1,=,0,,输出,=1,,输入,=,0,,输出,=1,,输入,=,0,,输出,=1,,输入,=,0,,输出,=1,,输入,单片机应用系统设计,教学课件,例,:已知,下列程序段执行后,,(,R1,),=_,,(,6EH,),=_,,(,6FH,),=_.,MOV R1,,,#6FH,MOV 6EH,,,#0,MOV 6FH,,,#30H,DEC R1,DEC R1,DEC R1,例,:,已知(,SP,),=40H,,(,DPTR,),=8912H,,在执行下列指令后,(,SP,),=_,,内部,RAM,(,41H,),=_,,(,42H,),=_,PUSH DPL,PUSH DPH,结果:,42H 12H 89H,结果,:,6EH FFH 2FH,单片机应用系统设计,教学课件,例,:,阅读下列程序段,写出每条指令执行后的结果,说明程序段完成什么功能?,MOV R1,,,#40H,;(,R1,),=(),MOV A,,,#79H,;(,A,),=(),ADD A,,,#69H,;(,A,),=(),(,CY,),=(),
展开阅读全文