《单片及应用技术PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《单片及应用技术PPT讲稿.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片及应用技术单片及应用技术第1页,共25页,编辑于2022年,星期五一、将下列数分别转换为二进制、十六进制、一、将下列数分别转换为二进制、十六进制、BCD数。数。1、124.625=(1111100.101)B=(7C.A)H =(0001 0010 0100.0110 0010 0101)BCD 2、45279.25=(1011000011011111.01)B=(B0DF.4)H =(0100 0101 0010 0111 1001.0010 0101)BCD二、用原码、补码表示下列十进制数二、用原码、补码表示下列十进制数1、(127)原原=011111111B,(127)补补=0111
2、11111B2、(-63)原原=10111111B,(-63)补补=11000001B三、运算下列带符号数,并判断是否溢出三、运算下列带符号数,并判断是否溢出1、11000001+11110000=(10110001)没溢出没溢出2、11001001+10000001=(01001010)溢出溢出第2页,共25页,编辑于2022年,星期五1、MCS-51单片机的单片机的 信号有何功能?在使用信号有何功能?在使用8031时时 信号引信号引脚应如何处理?脚应如何处理?答:答:引脚为访问程序存储器控制信号。引脚为访问程序存储器控制信号。(1)当引脚)当引脚 接成高电平时,接成高电平时,CPU 首先从
3、片内程序存储器首先从片内程序存储器0000H 字节单元开始取指令执行程序。当指令地址寄存器字节单元开始取指令执行程序。当指令地址寄存器 PC 中的内容超过中的内容超过 0FFFH 后,就自动转向片外扩展的程序后,就自动转向片外扩展的程序存储器中取指令执行。存储器中取指令执行。(2)当引脚)当引脚 接成低电平时,复位后接成低电平时,复位后 CPU 直接从片外直接从片外 ROM 的的 0000H 字节单元开始取指令执行,这时芯片内部字节单元开始取指令执行,这时芯片内部 0000H 0FFFH 的的 4KB 单元被忽略不用。单元被忽略不用。使用使用 8031时,由于其内部没有程序存储器,必须使用外部
4、时,由于其内部没有程序存储器,必须使用外部扩展程序存储器,它的扩展程序存储器,它的 引脚应该接成低电平,引脚应该接成低电平,CPU 直接从片外扩展的直接从片外扩展的 EPROM 中取指令执行。中取指令执行。第3页,共25页,编辑于2022年,星期五2、内部、内部RAM低低128单元划分为哪单元划分为哪3个主要部分?说明各个主要部分?说明各部分的使用特点。部分的使用特点。答:内部答:内部RAM低低128B 单元,按功能特点划分为单元,按功能特点划分为3个不个不同的区,分别如下:同的区,分别如下:(1)工作寄存器区:地址范围为)工作寄存器区:地址范围为 00H 1FH 的的 32B 存储器单元,分
5、为存储器单元,分为 4 个组,每组有个组,每组有 8个字节单元,定个字节单元,定名为名为 R0R7。通过改变程序状态字特殊功能寄存器。通过改变程序状态字特殊功能寄存器 PSW 中中 RS1、RS0两位的内容,每组工作寄存器均两位的内容,每组工作寄存器均可选作可选作 CPU 的当前工作寄存器组。的当前工作寄存器组。(2)位寻址区:地址为)位寻址区:地址为 20H 2FH 的的 16个字节单元个字节单元中共中共 128位,每一位都有相应的位地址,可用位寻址位,每一位都有相应的位地址,可用位寻址方式对其进行置位、复位、内容传送、逻辑运算等操方式对其进行置位、复位、内容传送、逻辑运算等操作。作。(3)
6、一般数据存储区:地址范围为)一般数据存储区:地址范围为 30H 7FH 的区的区域,可用于原始数据及运算结果的存储。堆栈一般开域,可用于原始数据及运算结果的存储。堆栈一般开在此区。在此区。第4页,共25页,编辑于2022年,星期五3、堆栈的作用是什么?堆栈示器(、堆栈的作用是什么?堆栈示器(SP)的作用是什么?在程序)的作用是什么?在程序设计时,为什么要对设计时,为什么要对 SP 重新赋值?重新赋值?答:堆栈的主要作用是暂时存放数据和地址,通常用来保答:堆栈的主要作用是暂时存放数据和地址,通常用来保护断点和现场。护断点和现场。SP始终存放堆栈顶部字节单元的地址始终存放堆栈顶部字节单元的地址(栈
7、顶指针)。进行堆栈操作有两种方式,一种叫数据(栈顶指针)。进行堆栈操作有两种方式,一种叫数据压入压入(PUSH)堆栈,另一种叫数据弹出(堆栈,另一种叫数据弹出(POP)堆)堆栈。数据压栈时,栈。数据压栈时,SP 首先自动加首先自动加 1,然后数据压入,然后数据压入 SP 内容指示的字节单元中;而数据出栈时,内容指示的字节单元中;而数据出栈时,SP 内容指示内容指示的字节单元中的数据弹出,然后的字节单元中的数据弹出,然后 SP 自动减自动减 1,这样,这样 SP 始终指向堆栈顶部字节单元。系统复位后,始终指向堆栈顶部字节单元。系统复位后,SP 初始化初始化为为 07H,使得堆栈事实上由,使得堆栈
8、事实上由 08H 开始。因为开始。因为 08H 1FH 单元为工作寄存器区,单元为工作寄存器区,20H 2FH 为位寻址区。为位寻址区。在程序设计中很可能要用到这些区,所以用户在编程时在程序设计中很可能要用到这些区,所以用户在编程时要对堆栈指针要对堆栈指针 SP 重新赋值,最好把重新赋值,最好把 SP 初值设为初值设为 2FH 或更大值。或更大值。第5页,共25页,编辑于2022年,星期五9、什么是拍节、状态、指令周期和机器周期?若单片机外接、什么是拍节、状态、指令周期和机器周期?若单片机外接12MHz晶振,试分别计算拍节、状态和机器周期晶振,试分别计算拍节、状态和机器周期 答:拍节:振荡脉冲
9、的周期,为最小的时序单位答:拍节:振荡脉冲的周期,为最小的时序单位 状态(状态(周期周期):振荡频率经单片机内的二分频器分频后提:振荡频率经单片机内的二分频器分频后提供给片内供给片内CPU的时钟周期。因此,一个状态周期包含的时钟周期。因此,一个状态周期包含2个个振荡周期振荡周期。机器周期:机器周期:MCS-51规定机器周期包含规定机器周期包含12个拍节;个拍节;指令周期:执行一条指令所需要的时间;指令周期:执行一条指令所需要的时间;12MHz晶振,晶振,状态状态 S=2P=2*0.088=0.1666s机器周期机器周期=0.088 12=1s 第6页,共25页,编辑于2022年,星期五5、程序
10、计数器(、程序计数器(PC)有哪些特点?)有哪些特点?程序计数器程序计数器 PC 存放着下一条将要从程序存储器中取出的指令存放着下一条将要从程序存储器中取出的指令的地址。程序计数器的地址。程序计数器 PC 的数据长度决定了程序存储器可以的数据长度决定了程序存储器可以直接寻址的范围。程序计数器直接寻址的范围。程序计数器 PC 不可寻址,即不能对其赋不可寻址,即不能对其赋值,其内容变化方式有:值,其内容变化方式有:1)自动加)自动加 1,此为最基本的变化,此为最基本的变化方式。方式。2)执行条件或无条件转移指令时,其内容由转移指)执行条件或无条件转移指令时,其内容由转移指令直接修改,改变原程序执行
11、方向。令直接修改,改变原程序执行方向。3)执行调用指令或响)执行调用指令或响应中断时,应中断时,PC 的内容变化过程如下:的内容变化过程如下:PC 的当前值,即下一的当前值,即下一条将要执行的指令的地址送入堆栈,加以保护;将子程序的条将要执行的指令的地址送入堆栈,加以保护;将子程序的入口地址或者中断矢量地址送入入口地址或者中断矢量地址送入 PC,改变原程序执行方向,改变原程序执行方向,执行子程序或中断服务程序;子程序或中断服务程序执行完执行子程序或中断服务程序;子程序或中断服务程序执行完毕,遇到返回指令毕,遇到返回指令 RET 或或 RETI时,将栈顶的内容送到时,将栈顶的内容送到 PC 中,
12、程序又返回到原来的地方,继续执行主程序。中,程序又返回到原来的地方,继续执行主程序。第7页,共25页,编辑于2022年,星期五若要完成以下数据传送,如何应用若要完成以下数据传送,如何应用80C51指令予以实指令予以实现?现?(1)R1的内容传送到的内容传送到 R0:MOV A,R1 MOV R0,A(2)外部)外部 RAM 20H 单元的内容送入单元的内容送入 R0:MOV R1,#20H MOVX A,R1 MOV R0,A(3)外部)外部 RAM 0020H 单元内容送内部单元内容送内部 RAM 20H 单元:单元:MOV R0,#20H MOVX A,R0 MOV 20H,A第8页,共2
13、5页,编辑于2022年,星期五(4)外部)外部 RAM 1000H 单元内容送内部单元内容送内部 RAM 20H 单元:单元:MOV DPTR,#1000H MOVX A,DPTR MOV 20H,A5)外部)外部 ROM 2000H 单元内容送单元内容送 R0:MOV A,#00H MOV DPTR,#2000H MOVC A,A+DPTR MOV R0,A第9页,共25页,编辑于2022年,星期五(6)外部)外部 ROM 2000H 单元内容送内部单元内容送内部 RAM 20H 单元:单元:MOV A,#00H MOV DPTR,#2000H MOVC A,A+DPTR MOV 20H,A
14、(7)外部)外部 ROM 2000H 单元内容送外部单元内容送外部 RAM 0020H 单单元:元:MOV A,#00H MOV R0,#20H MOV DPTR,#2000H MOVC A,A+DPTR MOVX R0,A 第10页,共25页,编辑于2022年,星期五(8)外部)外部 RAM 2000H 单元内容送外部单元内容送外部 RAM 3000H 单元:单元:MOV DPTR,#2000H MOVX A,DPTR MOV DPTR,#3000H MOVX DPTR,A 第11页,共25页,编辑于2022年,星期五1、把长度为、把长度为10H的字符串从内部的字符串从内部RAM起始起始地址
15、为地址为40H的单元输出到外部的单元输出到外部RAM起始地起始地址为址为5000H的单元中。的单元中。MOV R0,#40H MOV DPTR,#5000H MOV R2,#10HLOOP:MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R2,LOOP SJMP$第12页,共25页,编辑于2022年,星期五2、三字节无符号数相加,被加数在内部、三字节无符号数相加,被加数在内部RAM的的50H、51H、52H单元中,加数在内部单元中,加数在内部RAM的的53H、54H、55H单元中,要求把相加之和存放在单元中,要求把相加之和存放在50H、51H、中中52H单元
16、中,进位存放在位寻址区的单元中,进位存放在位寻址区的00H位中。位中。MOV A,50HADD A,53HMOV 50H,AMOV A,51HADDC A,54HMOV 51H,AMOV A,52HADDC A,55HMOV 52H,AMOV 00H,C第13页,共25页,编辑于2022年,星期五3、拆字。将片内拆字。将片内RAM 20HRAM 20H单元的内容拆成两单元的内容拆成两段,每段四位。并将它们分别存入段,每段四位。并将它们分别存入21H21H与与22H22H单元中。单元中。MOV A,20HMOV A,20HANL A,#0FHANL A,#0FHMOV 21H,AMOV 21H,
17、AMOV A,20HMOV A,20HSWAP ASWAP AANL A,#0FHANL A,#0FHMOV 22H,AMOV 22H,A第14页,共25页,编辑于2022年,星期五MOV R0,#INBUFFMOV DPTR,#OUTBUFFMOV R1,#10HLOOP:MOV A,R0CLR CSUBB A,#0DHJZ LOOP1MOV A,R0 MOVX DPTR,AINC R0INC DPTRDJNZ R1,LOOPLOOP1:SJMP$P97 (二二):1、把长度为、把长度为10H的字符串从内部的字符串从内部RAM的输入缓冲区的输入缓冲区inbuf向位向位于外部于外部RAM的输出
18、缓冲区的输出缓冲区outbuf传送,一直进行到遇见回车符传送,一直进行到遇见回车符CR或整个或整个字符串传送完毕。字符串传送完毕。第15页,共25页,编辑于2022年,星期五 4、MOV DPTR,#bufMOV A,byteMOV R2,#08HLOOP:RRC AMOV R1,AJC LOOP1MOV A,#30H SJMP LOOP2LOOP1:MOV A,#31HLOOP2:MOVX DPTR,A MOV A,R1 INC DPTRDJNZ R2,LOOPSJMP$6、MOV R0,#42HMOV R1,#52HMOV 40H,#00HLOOP:MOV A,R0CLR CSUBB A,
19、R1JNZ LOOP1INC R1INC R0DJNZ 41H,LOOPSJMP LOOP2LOOP1:MOV 40H,#0ffHLOOP2:SJMP$第16页,共25页,编辑于2022年,星期五1、存放在片内、存放在片内RAM的的 80H单元中的自变量单元中的自变量 X 是一个无符号是一个无符号数,试编写程序求下面函数的函数值,并存放到片内数,试编写程序求下面函数的函数值,并存放到片内 RAM 的的 81H单元中。单元中。X(X 50)5X(50 X 20)2X(X 20)Y=MOV A,80HCJNE A,#32H,LOOPJNC DONECJNE A,#14H,LOOP1JC LOOP2
20、RL ARL AADD A,80HSJMP DONERL AMOV 81H,ASJMP HERE LOOP1:LOOP:LOOP2:DONE:第17页,共25页,编辑于2022年,星期五2、假定、假定10个数连续存放在外部个数连续存放在外部 RAM 2000H为首的单元中,为首的单元中,使用冒泡法进行降序排序编程。使用冒泡法进行降序排序编程。SORT:MOV DPTR,#2000H MOV R7,#09H CLR TR0LOOP:MOVX A,DPTRMOV 2BH,AINC DPTRMOVX A,DPTR MOV 2AH,A CLR C SUBB A,2BH JC NEXT MOV A,2B
21、H MOVX DPTR,ADEC DPLMOV A,2AH MOVX DPTR,AINC DPTR SETB TR0NEXT:DJNZ R7,LOOPJB TR0,SORT第18页,共25页,编辑于2022年,星期五3、从内部、从内部RAM 20H单元开始存放一组带符号数,字节个单元开始存放一组带符号数,字节个数存在数存在1FH中。请统计出其中大于中。请统计出其中大于0、等于、等于0、和小于、和小于0的数的个数,并把统计结果分别存入的数的个数,并把统计结果分别存入one、two、three三三个单元中。个单元中。INC ONEAJMP LOOP1NEG:INC THREE AJMP LOOP1
22、ZERO:INC TWOLOOP1:INC R0DJNZ 1FH,LOOPSJMP$CLR AMOV ONE,AMOV TWO,AMOV THREE,AMOV R0,#20HLOOP:MOV A,R0JZ ZEROJB ACC.7,NEG第19页,共25页,编辑于2022年,星期五1、单片机晶振频率为、单片机晶振频率为6MHz,定时器,定时器/计数器计数器1使用工作方式使用工作方式1进行外部事件进行外部事件计数。每计数计数。每计数1000个脉冲后,定时器个脉冲后,定时器/计数器计数器1转为定时工作方式,定时转为定时工作方式,定时10ms后,又转为计数方式,如此循环不止后,又转为计数方式,如此循
23、环不止1)工作方式)工作方式12)计算初值:机器周期)计算初值:机器周期2s定定时时初初值值:x=65536-10000/2=60536=EC78H计计数初数初值值:x=65536-1000=64536=FC18H3)控制字)控制字定定时时 TMOD=10H计计数数TMOD=50H ORG 0000H LJMP MAIN ORG 0100H MAIN:CLR TR1MOV TMOD,#50H MOV TH1,#0FCH MOV TL1,#18H SETB TR1LOOP1:JBC TF1,LOOP2 SJMP LOOP1LOOP2:CLR TR1 MOV TMOD,#10H MOV TH1,#
24、0ECH MOV TL1,#78H SETB TR1LOOP3:JBC TF1,MAINSJMP LOOP3第20页,共25页,编辑于2022年,星期五2、单片机晶振频率为、单片机晶振频率为6MHz,要求每隔,要求每隔100ms,从外部,从外部RAM以以data开始的开始的数据区传送一个数据到数据区传送一个数据到P1口输出,共传送口输出,共传送100个数据。要求以两个定时个数据。要求以两个定时器串行定时方法实现器串行定时方法实现 1)工作方式)工作方式12)计算初值:机器周期)计算初值:机器周期2s定定时时初初值值:x=65536-50000/2=40536=9E58H3)控制字)控制字定定时
25、时 TMOD=11H MOV TMOD,#11HMOV DPTR,#DATAMOV R1,#64H MAIN:CLR TR1 MOV TH0,#9EH MOV TL0,#58H SETB TR0LOOP1:JBC TF0,LOOP2 SJMP LOOP1LOOP2:CLR TR0 MOV TH1,#9EH MOV TL1,#58H SETB TR1LOOP3:JBC TF1,LOOP4SJMP LOOP3LOOP4:MOVX A,DPTRMOV P1,A INC DPTRDJNZ R1,MAINSJMP$第21页,共25页,编辑于2022年,星期五3、以中断方法设计单片机秒、分脉冲发生器。假定
26、、以中断方法设计单片机秒、分脉冲发生器。假定P1.0每秒钟每秒钟产生一个机器周期正脉冲,产生一个机器周期正脉冲,P1.1每分钟产生一个机器周期正每分钟产生一个机器周期正脉冲脉冲ORG 0000H LJMP MAIN ORG 000BH LJMP PITO ORG 0100HMAIN:MOV SP,#60H MOV TMOD,#01H MOV 30H,#08HMOV TL0,#0DCHMOV TH0,#0BHSETB EASETB ET0 SETB TR0MOV 73H,#00HSJMP$第22页,共25页,编辑于2022年,星期五PITO:MOV TL0,#0DCH MOV TH0,#0BH
27、MOV A,30H DEC A MOV 30H,A JNZ RET0 SETB P1.0 CLR P1.0 MOV 30H,#08H INC 73H MOV A,73H CLR C SUBB A,#60 JNZ RET0 SETB P1.1 CLR P1.1 MOV 73H,#00HRET0:RETI第23页,共25页,编辑于2022年,星期五第六章、设计并画出一个单片机应用系统的硬件第六章、设计并画出一个单片机应用系统的硬件原理图,要求如下:原理图,要求如下:单片机采用单片机采用89C51(内含(内含4K闪存)闪存)在内部有在内部有4K闪存的基础上,再扩展闪存的基础上,再扩展8K的外部程的外部程序存储器。序存储器。外部扩展外部扩展8K数据存储器。数据存储器。要有复位电路要有复位电路(带有按键复位带有按键复位)和时钟电路。和时钟电路。地址空间分配采用地址空间分配采用74LS138译码法译码法 写出所有写出所有RAM、EPROM的地址范围。的地址范围。第24页,共25页,编辑于2022年,星期五Y0Y1Y774LS373GALEP0.0P0.7A0A7A8A12D0D72764A0A7A8A12D0D76264138P2.5P2.7P2.0P2.4ABC80C51XTAL1XTAL2RSTVcc第25页,共25页,编辑于2022年,星期五