收藏 分销(赏)

浙大微机原理考试复习.docx

上传人:仙人****88 文档编号:9231135 上传时间:2025-03-17 格式:DOCX 页数:15 大小:252.02KB
下载 相关 举报
浙大微机原理考试复习.docx_第1页
第1页 / 共15页
浙大微机原理考试复习.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述
第一章 单片机: 把中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器、输入/输出(I/O)接口电路等主要的计算机部件集成在一块集成电路芯片上的单片微型计算机。简称单片机。 第二章 单片机内部结构: Ø 一个8位CPU Ø 128字节内部数据存储器(RAM) Ø 4K内部程序存储器 Ø 2个16位的定时/计数器 Ø 四个8位的I/O口 Ø 一个全双工的串行口 Ø 5个中断源:2个外部中断,2个定时/计数中断,1个串行中断 Ø 时钟电路 Ø 总线 外部引脚:40个(名称) Ø 四个8位并行口(32):P0口、P1口、P2口、P3口 Ø 电源(2) Ø 晶振(2):XTAL1、XTAL2 Ø 控制线(4): ALE:地址锁存控制信号 :外部程序存储器读选通信号 EA:访问程序存储器控制信号 RST:复位信号 内部RAM:地址:00H-FFH Ø 00H-1FH:寄存器区 Ø 20H-2FH:位寻址区 Ø 30H-7FH:用户RAM区 Ø 80H-FFH:特殊功能寄存器区 1、 寄存器区(分组选择:RS0、RS1),8个通用寄存器R0-R7 2、 位寻址区 字节中的每一个位都具有地址,可直接对位进行操作。位地址:00H-7FH,128单元 3、 3用户RAM区: 30H-7FH,在该区设置堆栈。 1)堆栈:按照“先进后出,后进先出”的原则进行存取的内存区域。用于保护程序断点和数据。 2)堆栈的开辟:用SP指针设置栈底。 堆栈区: (SP)初+1—>7FH SP的初值为07H 3)堆栈的使用: 进栈操作:PUSH 出栈操作: POP 进栈操作:先SP加1,后写入数据; 出栈操作:先读出数据,后SP减1。 4、特殊功能寄存器:80H-FFH 共有21个特殊寄存器(SFR),离散地分布在该区域中,有些寄存器还可以进行位寻址。 分类: CPU: PC(16位,程序计数器), ACC, B, PSW, DPTR, SP 并行口:P0, P1, P2, P3 中断: IE, IP 定时计数器:TMOD,TCON,TL0,TH0, TL1, TH1 串行口: SCON, SBUF, PCON IE中断允许控制寄存器 IP中断优先级控制寄存器 PCON电源控制寄存器 SCON串行口控制寄存器 SBUF串行数据缓冲寄存器 TCON定时器控制寄存器 TMOD定时器方式选择寄存器 内部ROM: 4K ROM,地址为0000H-0FFFH 并行I/O口: 4个端口在结构上相同之处: P0 -- P3都是准双向I/0口,作输人时,必须先向相应端口的锁存器写人 “1”。 4个端口在结构上不同之处: P0口无内部上拉电阻,不能提供拉电流输出,而P1--P3则带内部上拉电阻,可以提供拉电流输出。 当P0口作通用I/0口输出使用时,需外接上拉电阻才可输出高电平。 引脚复用: P0口:扩展时作为8位数据总线和低8位地址总线。 P2口:扩展时作为高8位地址总线。 P3口第二功能 1)振荡周期:振荡电路产生的方波信号的周期。T振=1/fosc 2)机器周期:计算机完成一种最基本的操作所需的时间。T机=12T振 3)指令周期:执行一条指令所需要的时间,用机器周期数表示。 复位电路: 功能:复位启动单片机。 复位条件:在RST引脚输入2个机器周期以上的高电平。正常工作时保持为低电平。 1) 初始化单片机,使PC初始化为0000H;2)初始化存储器。 寄存器 内容 寄存器 内容 PC 0000H TMOD 00H ACC 00H TCON 00H B 00H TL0 00H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H P0-P3 FFH SCON 00H IP 00H SBUF 不定 IE 00H PCON 00H 第三章 单片机指令系统 机器语言:用二进制编码表示的指令。 汇编语言:用助记符表示的指令。 指令系统:计算机所能执行的指令集合。 寻址方式:寻找操作数地址的方法。操作数的表示方法。 7种寻址方式: 1) 立即寻址:操作数在指令中。 MOV A,#70H MOV DPTR,#1234H 2)直接寻址:内部RAM地址在指令中 MOV A,10H ANL 70H,#48H 地址范围:内部RAM128字节,SFR 3)寄存器寻址:操作数在寄存器中。 MOV A, R1 MOV R7, #100 寄存器:R0-R7, A, B, DPTR 4)寄存器间接寻址:操作数地址在寄存器中。 MOV A,@R1 ANL A,@R0 寄存器:R0, R1, DPTR, SP 5)变址寻址:操作数地址在基址寄存器和变址寄存器中。 MOVC A, @A+DPTR MOVC A, @A+PC 访问ROM单元数据。 6)相对寻址:转移地址(目的地址)的相对偏移量在指令中。 JC 80H 实际使用中使用标号,偏移量由汇编程序自动计算。 JC NEXT 7)位寻址:位地址在指令中。 MOV C,20H 位的表示方法:位名称,字节名称带点,字节地址带点,位地址。 MOV C, F0(PSW.5, D0H.5, D5H) 程序存储器数据传送 MOVC A, @A+PC MOVC A, @A+DPTR 例:将ROM2000H单元数据送到A. MOV DPTR,#2000H MOV A,#0 MOVC A,@A+DPTR 数据交换指令 字节交换 XCH 半字节交换 XCHD 低四位交换,高四位不变。 累加器高四位与低四位互换 SWAP A DEC A(Rn, direct, @Ri) 减1指令 INC 多一条 INC DPTR 控制转移指令 一、无条件转移指令 1)长转移: LJMP addr16; 64K 2)绝对转移:AJMP addr11; 同一个2K 3)相对转移:SJMP rel ;-128~+127 4)散转指令:JMP @A+DPTR 实际编程时使用目的地址标号 例: LJMP MAIN SJMP NEXT JBC bit, rel ; bit为1转移,且位bit清零 CJNE A, #data(direct),rel 不等转移 CJNE Rn, #data, rel CJNE @Ri, #data, rel 对Cy位有影响。 返回:RET RETI ;中断子程序返回 空指令NOP 非:CPL C CPL bit 汇编:将汇编语言翻译成机器语言; 伪指令:告诉汇编程序汇编方法的命令,不生成机器代码。 EQU:等值命令(定义常量) 例:X EQU 20H Y EQU 21H Z EQU 22H 程序中可用XYZ替代20H,21H,22H DATA:数据地址赋值 X DATA 20H Y DATA 21H 只能对累加器进行移位(RL、RR、RLC、RRC)A CLR A CPL A 第四章 汇编程序设计 顺序程序 例:将40H单元中8位无符号二进制数转换成三位BCD码,并存放在BAI, SHI, GE三个单元中。 ORG 0000H BAI DATA 30H SHI DATA 31H GE DATA 32H MOV A, 40H MOV B,#100 DIV AB MOV BAI, A MOV A,B MOV B, #10 DIV AB MOV SHI, A MOV GE, B SJMP $ END 分支程序 例:设变量X存放于R2, Y存放在R3,试按下式给Y赋值。 MOV A,R2 JNZ L1 ;累加器判非零转移 MOV R3,#0 SJMP L3 L1: JB ACC.7, L2 MOV R3, #1 SJMP L3 L2: MOV R3, #0FFH L3: SJMP L3 END 循环程序 例:将内部RAM30H为首地址的20个数据传送到外部RAM3000H开始的单元。 MOV R0, #30H MOV DPTR, #3000H MOV R7, #20 LOOP: MOV A, @R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7, LOOP HERE: SJMP HERE 子程序 例1:编程实现c=a2+b2 XA DATA 40H XB DATA 41H XC DATA 42H MOV A, XA ACALL SQR MOV XC, A MOV A, XB ACALL SQR ADD A, XC MOV XC, A SJMP $ SQR: MOV B, A MUL AB RET 例2: 多重循环 5ms延时程序,设fosc=6MHz 机器周期为2μs DELAY: MOV R6, #5 ;循环5次 DEL1: MOV R7, #250 ;循环250次 DEL2: DJNZ R7, DEL2 ;2× 250×2μs=1ms DJNZ R6, DEL1 ;5×1ms=5ms RET ;DJNZ为两个机器周期 查表程序设计 1.表格的定义: 使用伪指令:DB,DW 例:TAB: DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH,7DH, 07H, 7FH, 6FH DB 77H, 7CH 2.表格的访问: MOVC A, @A+DPTR MOVC A, @A+PC 例:已知R0低4位有一个十六进制数(0-F),编程转换成相应的ASCII码并送入R0. MOV A, R0 ANL A, #0FH ADD A, #03H ;PC本身是一个程序计数器, 计算偏移量(查表指令的下一条指令首地址到表格首地址之间的字节数) MOVC A, @A+PC MOV R0,A 1个字节 SJMP $ 2个字节 ASCTAB: DB ‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’ DB ‘8’,’9’,’A’,’B’,’C’,’D’,’E’,’F’ 上例用DPTR做基址的程序如下: MOV @DPTR,# ASCTAB MOV A, R0 ANL A, #0FH MOVC A, @A+DPTR MOV R0,A SJMP $ ASCTAB: DB ‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’ DB ‘8’,’9’,’A’,’B’,’C’,’D’,’E’,’F’ 把内部RAM中起始地址为BLK1的数据块传送到外部RAM中以BLK2为起始地址的区域,直到遇到“#”为止。数据块长度放在R1中。 1)循环程序包含分支程序。 2)计数循环,采用间接寻址。 BLK1 EQU 30H BLK2 EQU 1000H MOV R0, #BLK1 MOV DPTR, #BLK2 XH: CLR C MOV A,@R0 PUSH ACC SUBB A,#23H JZ JS POP ACC MOVX @DPTR,A INC R0 INC DPTR DJNZ R1, XH JS: SJMP $ 编程实现下面的功能: LED0 EQU P3.0 LED1 EQU P3.1 LED2 EQU P3.2 LOOP: MOV A, P1 CLR C SUBB A,#100 JZ EQUAL JC SMALL CLR LED0 CLR LED1 SETB LED2 SJMP OK EQUAL: CLR LED0 SETB LED1 CLR LED2 SJMP OK SMALL: SETB LED0 CLR LED1 CLR LED2 OK: SJMP LOOP 例3: 在P1.0引脚输出1HZ方波信号。 ORG 0000H LOOP: MOV R1,#100 WAIT: LCALL DELAY DJNZ R1, WAIT CPL P1.0 SJMP LOOP 第五章 单片机内部资源 中断:由外设向CPU提出请求,在满足一定条件下,CPU暂停现有程序的运行,而去运行中断服务程序(中断子程序),执行结束后返回原先的程序继续运行。 中断源:向CPU请求中断的事件。 中断响应条件 1)中断源的请求 2)中断允许位开放 3)中断总允许位开放 4)若有多个中断源同时请求,则本中断源优先级最高 5)CPU没有执行中断任务或本中断优先级高于正在执行的中断源的优先级 定时方式与计数方式区别:脉冲来源 定时方式:计数脉冲来自单片机内部,每个机器周期加1。 计数方式:计数脉冲来自单片机外部引脚 串行口 通讯方式: 并行通讯:多位数据同时传送。速度快,效率高。需要有与数据位相等的数据线。 串行通讯:数据按位传送。使用较少的数据线,成本低。速度较慢。 数据格式: 起始位(低电平)+数据位+停止位(高) +空闲位(高) 数据位:低位在前,高位在后。 波特率:串行通讯中,每秒钟传送二进制数码的位数。 通讯方向: 单工方式:一方固定为发送,另一方固定为接收,数据单向传送。 双工方式:数据可以双向传送。 半双工: 可以双向传送,但在同一时刻,数据的传送方向只能有一个。 全双工:数据可以同时收发。 . 串行口引脚 接收引脚: RXD(P3.0) 发送引脚: TXD(P3.1) 数据缓冲寄存器:SBUF,(99H) 结构:一个发送寄存器,一个接收寄存器 作用:用于收发数据 发送: MOV SBUF,#10H MOV SBUF,A 读取: MOV A, SBUF MOV 20H,SBUF 波特率设计 1)方式0: 固定 fCLK=fosc/12 2)方式2: 固定 波特率=2SMOD*fosc/64 3)方式1,3: 可变 波特率=(2SMOD/32)*T1的溢出率 第六章 单片机系统扩展 一、总线扩展 总线:连接系统中各个扩展部件的一组公共信号线。分为数据总线、地址总线和控制总线。 总线的构成 1)数据总线:8位 P0.0~P0.7:D0~D7 2)地址总线:16位 P0.0~P0.7, P2.0~P2.7: A0~A15 3)控制总线:3 PSEN, RD,WR 构成接口芯片片选信号的两种方法: 1)线选法:用高位地址线直接作为接口芯片的片选信号。 2)译码法:用译码器对高位地址线进行译码后作为片选信号。 译码器: 2-4译码器: 74LS139 3-8译码器: 74LS138 4-16译码器:74LS154 扩展方法 芯片的数据线与数据总线相连, 地址线与地址总线或片选信号线相连, 控制线与控制总线相连。 访问方法: 1)以PSEN作为控制线: 与片外ROM统一编址 读: MOVC A,@A+DPTR MOVC A,@A+PC 2)以RD,WR作为控制线: 与片外RAM统一编址 读: MOVX A,@DPTR MOVX A,@Ri 写: MOVX @DPTR,A MOVX @Ri,A 二、存储器扩展 程序存储器型号 1)ROM 2)EPROM:电可编程只读存储器 2716: 16Kbit, 2Kbyte 2732: 32Kbit 2764: 64Kbit 27128: 27256:64Kbyte 3)EEPROM:电擦除电编程ROM 2817: 2Kbyte 2864: 64Kbit 数据存储器型号 采用静态RAM(Static RAM) 6116: 16Kbit 6264: 64Kbit or 8Kbyte 62256: 32Kbyte 628128: 128Kbyte 三、键盘接口 接口形式 1)独立式键盘:每个键单独地接I/O线。 特点:接口简单,但需较多的I/O线。 2)行列式键盘:每个键跨接在行线和列线上。 特点:占用较少的I/O线,编程较复杂 去抖动: 原因:键被按下时,由于机械触电的弹性以及电压突跳等原因,在触电闭合及释放的瞬间将出现电压抖动。 方法:软件和硬件 软件去抖动——延迟10-20ms进行再次扫描。 例:用A记录按键次数。 MOV A,#0 LOOP: JB P1.0, LOOP LCALL DELAY JB P1.0, LOOP INC A WAIT: JNB P1.0, WAIT SJMP LOOP 四、LED数码管: 类型:共阴数码管、共阳数码管 接口方式: 1)静态显示方式: 位选信号固定为高电平(共阳数码管)或低电平(共阴数码管),段选信号接I/O线。 特点:接口简单;容易编程;亮度较高;需要较多的I/O线,功耗高。 8*n 2)动态显示方式 所有数码管的段选线并联后连接I/O线,各数码管的位选单独连接到I/O线。 原理:动态轮流显示,输出数码管的显示码,然后输出位选信号,使得该数码管位选有效(共阴数码管为0,共阳数码管为1),而其他数码管无效;延时几毫秒,关闭位选,显示下一个数字。 特点:较少的I/O线,8+n,编程较复杂,占用较多的CPU时间 A/D接口 ADC0809: 8位,8通道,逐次逼近式A/D转换器,转换时间100us D/A转换器 D/A转换器主要技术指标 1)分辨率:最小输出电压与最大输出电压之比。 如:8位A/D 1/255, 10位A/D 1/1023 2)建立时间 3)输出方式:电流,电压 4)输入代码:二进制,BCD,串行 DAC0832 1.特点:8位分辨率,总线接口,单电源
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服