版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上第一章 单片机:把中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器、输入/输出(I/O)接口电路等主要的计算机部件集成在一块集成电路芯片上的单片微型计算机。简称单片机。 第二章 单片机内部结构:Ø 一个8位CPUØ 128字节内部数据存储器(RAM)Ø 4K内部程序存储器Ø 2个16位的定时/计数器Ø 四个8位的I/O口Ø 一个全双工的串行口Ø 5个中断源:2个外部中断,2个定时/计数中断,1个串行中断Ø 时钟电路Ø 总线外部引脚:40个(名称)
2、216; 四个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-R72、 位寻址区字节中的每一个位都具有地址,可直接对位进行操作。位地址
3、:00H-7FH,128单元3、 3用户RAM区: 30H-7FH,在该区设置堆栈。1)堆栈:按照“先进后出,后进先出”的原则进行存取的内存区域。用于保护程序断点和数据。2)堆栈的开辟:用SP指针设置栈底。 堆栈区: (SP)初1>7FH SP的初值为07H3)堆栈的使用: 进栈操作:PUSH 出栈操作: POP 进栈操作:先SP加1,后写入数据; 出栈操作:先读出数据,后SP减1。4、特殊功能寄存器:80H-FFH 共有21个特殊寄存器(SFR),离散地分布在该区域中,有些寄存器还可以进行位寻址。分类: CPU: PC(16位,程序计数器), ACC, B, PSW, DPTR, SP
4、 并行口:P0, P1, P2, P3 中断: IE, IP 定时计数器:TMOD,TCON,TL0,TH0, TL1, TH1 串行口: SCON, SBUF, PCONIE中断允许控制寄存器IP中断优先级控制寄存器PCON电源控制寄存器SCON串行口控制寄存器SBUF串行数据缓冲寄存器TCON定时器控制寄存器TMOD定时器方式选择寄存器内部ROM:4K ROM,地址为0000H-0FFFH并行I/O口:4个端口在结构上相同之处: P0 - P3都是准双向I/0口,作输人时,必须先向相应端口的锁存器写人 “1”。4个端口在结构上不同之处: P0口无内部上拉电阻,不能提供拉电流输出,而P1-P
5、3则带内部上拉电阻,可以提供拉电流输出。当P0口作通用I/0口输出使用时,需外接上拉电阻才可输出高电平。引脚复用:P0口:扩展时作为8位数据总线和低8位地址总线。P2口:扩展时作为高8位地址总线。P3口第二功能1)振荡周期:振荡电路产生的方波信号的周期。T振=1/fosc 2)机器周期:计算机完成一种最基本的操作所需的时间。T机=12T振 3)指令周期:执行一条指令所需要的时间,用机器周期数表示。复位电路:功能:复位启动单片机。复位条件:在RST引脚输入2个机器周期以上的高电平。正常工作时保持为低电平。1) 初始化单片机,使PC初始化为0000H;2)初始化存储器。寄存器内容寄存器内容PC00
6、00HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIP00HSBUF不定IE00HPCON00H第三章 单片机指令系统机器语言:用二进制编码表示的指令。汇编语言:用助记符表示的指令。指令系统:计算机所能执行的指令集合。寻址方式:寻找操作数地址的方法。操作数的表示方法。7种寻址方式:1) 立即寻址:操作数在指令中。 MOV A,#70H MOV DPTR,#1234H2)直接寻址:内部RAM地址在指令中 MOV A,10H ANL 70H,#48H地址范围:内部RAM128字
7、节,SFR3)寄存器寻址:操作数在寄存器中。 MOV A, R1 MOV R7, #100寄存器:R0-R7, A, B, DPTR 4)寄存器间接寻址:操作数地址在寄存器中。 MOV A,R1 ANL A,R0 寄存器:R0, R1, DPTR, SP5)变址寻址:操作数地址在基址寄存器和变址寄存器中。 MOVC A, A+DPTR MOVC A, A+PC访问ROM单元数据。6)相对寻址:转移地址(目的地址)的相对偏移量在指令中。 JC 80H实际使用中使用标号,偏移量由汇编程序自动计算。 JC NEXT7)位寻址:位地址在指令中。 MOV C,20H位的表示方法:位名称,字节名称带点,字
8、节地址带点,位地址。 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 低四位交换,高四位不变。累加器高四位与低四位互换 DEC A(Rn, direct, Ri) 减1指令INC 多一条 INC DPTR控制转移指令一、无条件转移指令1)长转移: LJMP addr16; 64K2)绝对转移:AJMP addr11; 同一个2K3)相对转移:SJM
9、P rel ;-128+1274)散转指令:JMP A+DPTR实际编程时使用目的地址标号 例: LJMP MAIN SJMP NEXTJBC bit, rel ; bit为1转移,且位bit清零CJNE A, #data(direct),rel 不等转移CJNE Rn, #data, rel CJNE Ri, #data, rel 对Cy位有影响。 返回:RET RETI ;中断子程序返回空指令非:CPL C CPL bit 汇编:将汇编语言翻译成机器语言;伪指令:告诉汇编程序汇编方法的命令,不生成机器代码。EQU:等值命令(定义常量)例:X EQU 20H Y EQU 21H Z EQU
10、22H程序中可用XYZ替代20H,21H,22HDATA:数据地址赋值X DATA 20HY DATA 21H只能对累加器进行移位(RL、RR、RLC、RRC)ACLR A CPL A第四章 汇编程序设计顺序程序例:将40H单元中8位无符号二进制数转换成三位BCD码,并存放在BAI, SHI, GE三个单元中。ORG 0000HBAI DATA 30HSHI DATA 31HGE DATA 32HMOV A, 40HMOV B,#100DIV ABMOV BAI, AMOV A,BMOV B, #10DIV ABMOV SHI, AMOV GE, BSJMP $END分支程序例:设变量X存放于
11、R2, Y存放在R3,试按下式给Y赋值。 MOV A,R2 JNZ L1 ;累加器判非零转移 MOV R3,#0 SJMP L3L1: JB ACC.7, L2 MOV R3, #1 SJMP L3L2: MOV R3, #0FFHL3: SJMP L3 END循环程序例:将内部RAM30H为首地址的20个数据传送到外部RAM3000H开始的单元。 MOV R0, #30H MOV DPTR, #3000H MOV R7, #20LOOP: MOV A, R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7, LOOPHERE: SJMP HERE子程序例1:编程实现c
12、=a2+b2XA DATA 40HXB DATA 41HXC 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 机器周期为2sDELAY: MOV R6, #5 ;循环5次 DEL1: MOV R7, #250 ;循环250次 DEL2: DJNZ R7, DEL2 ;2× 250×2s=1ms DJNZ R6, DEL1 ;5×1ms=5ms
13、 RET ;DJNZ为两个机器周期 查表程序设计1.表格的定义:使用伪指令:DB,DW例:TAB: DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH,7DH, 07H, 7FH, 6FH DB 77H, 7CH2.表格的访问: 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个
14、字节 SJMP $ 2个字节 ASCTAB: DB 0,1,2,3,4,5,6,7 DB 8,9,A,B,C,D,E,F上例用DPTR做基址的程序如下:MOV DPTR,# ASCTABMOV A, R0ANL A, #0FHMOVC 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 30HBLK2 EQU
15、 1000H MOV R0, #BLK1 MOV DPTR, #BLK2XH: CLR C MOV A,R0 PUSH ACC SUBB A,#23H JZ JS POP ACC MOVX DPTR,A INC R0 INC DPTR DJNZ R1, XHJS: SJMP $编程实现下面的功能:LED0 EQU P3.0LED1 EQU P3.1LED2 EQU P3.2 LOOP: MOV A, P1 CLR C SUBB A,#100 JZ EQUAL JC SMALL CLR LED0 CLR LED1 SETB LED2 SJMP OKEQUAL: CLR LED0 SETB LED
16、1 CLR LED2 SJMP OKSMALL: SETB LED0 CLR LED1 CLR LED2OK: SJMP LOOP 例3: 在P1.0引脚输出1HZ方波信号。 ORG 0000HLOOP: MOV R1,#100WAIT: LCALL DELAY DJNZ R1, WAIT CPL P1.0 SJMP LOOP第五章 单片机内部资源中断:由外设向CPU提出请求,在满足一定条件下,CPU暂停现有程序的运行,而去运行中断服务程序(中断子程序),执行结束后返回原先的程序继续运行。中断源:向CPU请求中断的事件。中断响应条件1)中断源的请求2)中断允许位开放3)中断总允许位开放4)若有
17、多个中断源同时请求,则本中断源优先级最高5)CPU没有执行中断任务或本中断优先级高于正在执行的中断源的优先级定时方式与计数方式区别:脉冲来源定时方式:计数脉冲来自单片机内部,每个机器周期加1。计数方式:计数脉冲来自单片机外部引脚串行口通讯方式:并行通讯:多位数据同时传送。速度快,效率高。需要有与数据位相等的数据线。串行通讯:数据按位传送。使用较少的数据线,成本低。速度较慢。 数据格式:起始位(低电平)+数据位+停止位(高) +空闲位(高)数据位:低位在前,高位在后。波特率:串行通讯中,每秒钟传送二进制数码的位数。通讯方向:单工方式:一方固定为发送,另一方固定为接收,数据单向传送。双工方式:数据
18、可以双向传送。半双工: 可以双向传送,但在同一时刻,数据的传送方向只能有一个。全双工:数据可以同时收发。. 串行口引脚 接收引脚: RXD(P3.0)发送引脚: TXD(P3.1)数据缓冲寄存器:SBUF,(99H)结构:一个发送寄存器,一个接收寄存器作用:用于收发数据发送: MOV SBUF,#10H MOV SBUF,A 读取: MOV A, SBUF MOV 20H,SBUF波特率设计1)方式0: 固定 fCLK=fosc/122)方式2: 固定 波特率=2SMOD*fosc/64 3)方式1,3: 可变 波特率=(2SMOD/32)*T1的溢出率第六章 单片机系统扩展一、总线扩展总线:
19、连接系统中各个扩展部件的一组公共信号线。分为数据总线、地址总线和控制总线。总线的构成1)数据总线:8位 P0.0P0.7:D0D72)地址总线:16位 P0.0P0.7, P2.0P2.7: A0A153)控制总线:3 PSEN, RD,WR 构成接口芯片片选信号的两种方法:1)线选法:用高位地址线直接作为接口芯片的片选信号。2)译码法:用译码器对高位地址线进行译码后作为片选信号。译码器:2-4译码器: 74LS1393-8译码器: 74LS1384-16译码器:74LS154扩展方法芯片的数据线与数据总线相连,地址线与地址总线或片选信号线相连,控制线与控制总线相连。 访问方法:1)以PSEN
20、作为控制线: 与片外ROM统一编址读: MOVC A,A+DPTR MOVC A,A+PC2)以RD,WR作为控制线: 与片外RAM统一编址读: MOVX A,DPTR MOVX A,Ri 写: MOVX DPTR,A MOVX Ri,A 二、存储器扩展程序存储器型号1)ROM2)EPROM:电可编程只读存储器 2716: 16Kbit, 2Kbyte 2732: 32Kbit 2764: 64Kbit 27128: 27256:64Kbyte 3)EEPROM:电擦除电编程ROM 2817: 2Kbyte2864: 64Kbit数据存储器型号采用静态RAM(Static RAM)6116: 16Kbit6264: 64Kbit or 8Kbyte62256: 32Kbyte: 128Kbyte三、键盘接口接口形式1)独立式键盘:每个键单独地接I/O线。特点:接口简单,但需较多的I/O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论