单片机与嵌入式系统

上传人:cn****1 文档编号:571476838 上传时间:2024-08-11 格式:PPT 页数:35 大小:464KB
返回 下载 相关 举报
单片机与嵌入式系统_第1页
第1页 / 共35页
单片机与嵌入式系统_第2页
第2页 / 共35页
单片机与嵌入式系统_第3页
第3页 / 共35页
单片机与嵌入式系统_第4页
第4页 / 共35页
单片机与嵌入式系统_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《单片机与嵌入式系统》由会员分享,可在线阅读,更多相关《单片机与嵌入式系统(35页珍藏版)》请在金锄头文库上搜索。

1、注意事项注意事项1. 51(2)寄存器除寄存器除PC外,所有寄存器都有内外,所有寄存器都有内部地址部地址(=80H),叫,叫SFR;用地址直接访问,;用地址直接访问,它们都有名字(它们都有名字(ACC、B、P0、PSW)。)。2. 十六进制下末位是十六进制下末位是0和和8的能够位寻址,位的能够位寻址,位可以用地址带可以用地址带“.”访问,访问,寄存器寄存器.bit,位名字或,位名字或别名可访问。如别名可访问。如PSW.0、P、0D0H.0、208.0是一样滴!是一样滴!3. 累加器累加器A是隐含寻址,是隐含寻址,ACC则显式寻址。则显式寻址。第四章汇编语言程序设计汇编语言程序设计4.1常用的伪

2、指令定义汇编起始位置伪指令ORGnn;nn为16位地址例如:ORG2000H;定义了下面指令的地址是从2000H开始MOVSP,#80H;设堆栈.赋值伪指令字节名称EQU数字(或地址)例如:LED_ABEQU2000H;LED_AB等于2000HNUMBEQU30H;赋值后不能更改,需要更改要用DL重新定义赋值数据地址赋值伪命令DATA表达(还有有XDATA,PDATA,IDATA)例如:TAB1DATA12HTAB2DB44HDATA命令功能与EQU类似,但有一下差别:1)EQU定义的字符名必须先定义再使用,而DATA定义的字符名可以后定义先用;2)用EQU伪指令可以把一个汇编符号赋给一个名

3、字,而DATA只能把数据赋给字符名;3)DATA语句中可以把一个表达式的值赋给字符名,其中的表达式应是可求值的。4)可以在编译中被统计data的内存使用情况。定义字节常量(查表用)标号:DB8位二进数表例如:TAB1:DB12H,34H,77H,TAB2:DB07H,44H,定义字常量(查表用)标号:DW16位二进数表例如:(每个字占二个字节,高8位在先,低8位在后)TAB:DW1234H,7766H,留存储空间伪指令在汇编时,从定义地址开始保留DS之后表达式的值所规定的存储单元,以备后用。例如:ORG1000HDS08HDB30H,8AH汇编以后,从1000H保留8个单元,然后从1008H开

4、始给内存赋值,即(1008H)=30H(1009H)=8AH定义汇编结束指令标号:END地址或标号END指令一定要放到程序的最后,否则不会编译!位地址符号伪指令位名称BITI/O口(或位地址)例如:CLKBITP1.4;P1.4=CLKAD_CSBITP1.6;P1.6=AD_CSFLGBIT00H;00H是位地址定义汇编结束指令标号:END地址或标号END指令一定要放到程序的最后,否则不会编译!;NAMESERIALTH2 DATA0CDHTL2 DATA0CCHT2CONDATA0C8HET2 BIT 0A8H.5BSEG AT00Hsendactive:DBIT 1 ;发送有效标志发送有

5、效标志time_tick:DBIT 1 ;1秒定时标志秒定时标志sendfull:DBIT 1 ;发送缓冲区满标志发送缓冲区满标志display:DBIT 1 ;显示显示cnt值标志值标志temp_bit:DBIT 1 ;临时位变量临时位变量DSEGAT30Ht_1000ms:DS 1t_100ms:DS 1t_set:DS 1ISEGAT80Hinbuf:DS 32; /接收缓冲存储数组接收缓冲存储数组outbuf:DS 32; /发送缓冲区存储数组发送缓冲区存储数组; ; CSEGAT0000HLJMPmain 复习 单片机I/O端口逻辑结构 80518051有有4 4个个8 8位并行位并

6、行I/OI/O端口,记做端口,记做P0P0、P1P1、P2P2和和P3P3。这四个口都是准双向的。这四个口都是准双向的I/OI/O口,共占有口,共占有3232条管脚,每一条条管脚,每一条I/OI/O线都能独立的用作输入或输出。线都能独立的用作输入或输出。 1 PO口(I/O、总线)2 P1口(I/O口) 3 P2口(I/O口、总线) 4 P3口(I/O口、复用功能)5 5 I/OI/O口的口的“读修改写读修改写”操作操作 从P0P3口的逻辑电路分析可知,读一个端口的数据有两类:一类是读引脚电平的,另一类是读锁存器的。“读修改写”指令是为了避免误读引脚电平 (需要保存的读的都是寄存器)。 例如,

7、ANL P1, A ;逻辑与指令. CPL P2.0 ;取反 INC P3 ;P3的内容增1.外扩外扩RAM、ROM时,使用锁存时,使用锁存器器一、扩展的基本信息(1)地址总线(AddressBus,AB)A15.A8,A7A0(2)数据总线(DataBus,DB)D7.D0(3)控制总线(ControlBus,CB)/WR、/RD、/PSEN、/EA、ALELED(Light Emitting Diode)LCD(liquid crystal display)液晶显示)液晶显示八段数码管八段数码管数码管外形数码管外形agdfecbdpabcdefgdp(a)共阴极gndVccabcdefgd

8、p编码编码 a b c d e f g dp D7 D6 D5 D4 D3 D2 D1 D0P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0 0 0 0 0 0 1 1数码管外形数码管外形agdfecbdp显示字形显示字形“0”,编码:编码:03H 1 0 0 1 1 1 1 1数码管外形数码管外形agdfecbdp显示字形显示字形“1”,编码:编码:9FH 0 0 1 0 0 1 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“2”,编码:编码:25H 0 0 0 0 1 1 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“3”,

9、编码:编码:0DH 1 0 0 1 1 0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“4”,编码:编码:99H 0 1 0 0 1 0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“5”,编码:编码:49H 0 1 0 0 0 0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“6”,编码:编码:41H 0 0 0 1 1 1 1 1数码管外形数码管外形agdfecbdp显示字形显示字形“7”,编码:编码:1FH 0 0 0 0 0 0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“8”,编码:编码:01H 0 0 0 0 1

10、0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“9”,编码:编码:09H 0 0 0 1 0 0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“A”,编码:编码:11H 1 1 0 0 0 0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“b”,编码:编码:0C1H 0 1 1 0 0 0 1 1数码管外形数码管外形agdfecbdp显示字形显示字形“C”,编码:编码:63H 1 0 0 0 0 1 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“d”,编码:编码:85H 0 1 1 0 0 0 0 1数码管外形数码管外形agdf

11、ecbdp显示字形显示字形“E”,编码:编码:61H 0 1 1 1 0 0 0 1数码管外形数码管外形agdfecbdp显示字形显示字形“F”,编码:编码:71H 0 0 1 1 0 0 0 0数码管外形数码管外形agdfecbdp显示字形显示字形“P.”,编码:编码:30H编码取决于:编码取决于:1.硬件结构硬件结构2.驱动方式驱动方式外部数据和常数访问方法外部数据和常数访问方法1. 外部数据访问外部数据访问 MOVX A, DPTR MOVX DPTR, A MOVX A, Ri MOVX Ri, A2. 常数访问常数访问 MOVC A, A+DPTR MOVC A, A+PC4.2汇编

12、程序设计过程明确课题的任务(硬件/功能/精度等);按功能,分块规划程序结构(模块设计/子程序);分配存储器资源(定义变量/设堆栈.);根据功能选择合适的指令组合;对源程序进行编译,调试和修改;烧写代码(下载代码.)。4.3汇编程序的结构 CLKBITP1.7;I/O口定义.NUBEQU2020H;常数或地址定义.;定义变量或常数ORG0000H;复位入口地址(上电)LJMPMAIN;跳到主程序ORG0003H;外部中断0入口地址(P3.2)LJMPT_INT0;跳到into中断程序ORG000BH;定时器0入口地址(P3.4)LJMPT_T0;跳到T0中断程序中断向量入口地址表中断向量入口地址

13、表INT0和和INT1T0、T1位置位置ORG0013H;外部中断1入口地址(P3.3)LJMPT_INT1;跳int1中断程序ORG001BH;定时器1入口地址(P3.5)LJMPT_T1;跳T1中断程序ORG0023H;串口入口地址(P3.0,P3.1)LJMPT_CK;跳串口中断程序.; ORG0100HT_INT0:.;外部中断0子程序RETIT_INT1:;外部中断1子程序RETIT_T0:;定时器/计数0中断子程序RETIT_T1:;定时器/计数1中断子程序RETIT_CK:;串口中断子程序RETI;其他子程序.;C语言中表示方法语言中表示方法包括interrupt,将把所声明的函

14、数定义为一个中断服务程序。另外,可以使用using定义此中断服务程序所使用的寄存器组。中断函数的定义格式为:void函数名(void)interruptnusingm关键字interrupt后面的n是中断号,n的取值范围为031;关键字using后面的m是所选择的寄存器组,取值范围03,该项可以省略。对于interrupt后面n的取值,编译器从8n+3处产生中断向量。C语言中表示方法语言中表示方法/* Time0中断服务程序中断服务程序,使用寄存器组使用寄存器组 */voidmTime0Interrupt( ) interrupt 1 /using 2/TH0 = 0xDC;/TL0 = 0x

15、00; /* 串行口中断服务程序串行口中断服务程序,使用寄存器组使用寄存器组1 */voidmSelInterrupt( ) interrupt 4 using 1 / using 1MAIN:MOVSP,#90H;设堆栈(主程序部分)MOVIE,#00H;其他指令END;结束1MCS-51系列单片机内部包含哪些主要逻系列单片机内部包含哪些主要逻辑功能部件辑功能部件? 各有什么特点?各有什么特点?2MCS-51单片机的时钟周期、机器周期、单片机的时钟周期、机器周期、指令周期是如何分配的指令周期是如何分配的?当主频为当主频为12 MHz时,时,一个机器周期为几微秒?执行一条最长的指令一个机器周期

16、为几微秒?执行一条最长的指令需几微秒需几微秒? 3MCS-51设有设有4组工作寄存器,有什么组工作寄存器,有什么特点,如何选择?与特点,如何选择?与RAM关系,应如何使用?关系,应如何使用?4MCS-51的并行的并行I/O端口信息有哪两种读端口信息有哪两种读取方法?读取方法?读修改修改重写操作是针对并行重写操作是针对并行I/O口口的哪一部分进行的?有什么优点?的哪一部分进行的?有什么优点?5程序计数器程序计数器(PC)作为不可寻址寄存器,作为不可寻址寄存器,它有哪些特点?程序中能否知道某条指令的它有哪些特点?程序中能否知道某条指令的PC值?值? 680C51的的ALE线的作用是什么?线的作用是

17、什么?7简述简述MCS-51内部数据存储器的空间分配。内部数据存储器的空间分配。访问外部数据存储器和程序存储器有什么本质访问外部数据存储器和程序存储器有什么本质区别区别?8堆栈有哪些功能?堆栈寄存器堆栈有哪些功能?堆栈寄存器(SP)的作的作用是什么?在程序设计时,为什么还要对用是什么?在程序设计时,为什么还要对SP重重新赋值?复位时内容是多少?新赋值?复位时内容是多少?9MCS-51单片机引脚信号中,信号名称带单片机引脚信号中,信号名称带上划线和下划线的意义上划线和下划线的意义.10单片机系统复位后,单片机系统复位后,(PSW)00H,因,因此内部此内部RAM寄存区的当前寄存器是第几组,与寄存区的当前寄存器是第几组,与R0-R7对应关系。对应关系。11. 简述入栈和出栈简述入栈和出栈SP的操作过程。的操作过程。12. 影响标志位影响标志位C、P、OV的指令有哪几类,的指令有哪几类,具体给出几条例子。具体给出几条例子。13. 8052中中SP最大使用空间可以是多少最大使用空间可以是多少?位位于何处?于何处?14. LCALL执行前执行前SP=6FH,进行后,进行后SP=?89C52复位后执行如下程序:MOVR0,#90HMOVA,#55HMOVR0,ACPLAPUSHACCMOV90H,ADB00,00问:执行完毕后P1的输出是多少,SP中的值是多少?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号