下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章-单片机主要技术指标 :位数:4位、8位、16位、32位MCS48 (4 位)、 MCS-51 (8 位)和 MCS-96 (16 位)-位一字节一字位(bit):二进制数中的一位,其值不是“1”,就是“ 0”。字节(byte): 一个8位的二进制数为一个字节。字节是计算机数据的基本单位。字(word):两个字节就是一个字,又叫双字节。第二章-SCM一一将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统SCM = CPU理序存储器+数据存储器+定时器/计数器+内外中断+可编程I/O+可编程全双工 串行口 +-80C51=(8 位)CPU + 4KBROM +128BRA
2、M + (2< 16)T/C + (4。8)I/O + 1 个 UART +5个中断源-MCS-51单片机的内部结构:出录系列i:熊片内做Mi形式,匕;片内片内R4M:容量击'KriJi 寻址花圉r一jip :l/D特性T卜周 无;ROMEP就麻ROM容量计数藉国I- 1!井行口 j事行口 51805187514 KB一:职 ,-B-»- fl if 112gB 2X64 KB2X164XB一一800|80C51OC51',* ' F k 11+4KB128BI 1 胃*,"ilXMCV 11疆;MP?3052*由2Jf 吧 1怅取I 8七其
3、K752-I256B , JlJ T * 2X64KB3X1«4Xg"Y二 ri'dm列前0280C5230c52 yX a j256B卜.'* j-fc' "2X64KB;j "圃 4X8t金.m 44-新一代高性能80C51系列单片机,其主要发展技术如下:(1) 提供不同类型的存储器。除掩模ROM、EPROM以外,还能提供 EEPROM FlashEEPROM(2) 扩展存储器容量。目前 ROM已扩至64KB, RAM扩至48KR(3) 提高运行速度,时钟频率已达 100MHz。(4) 发展低电压专用芯片,工作电压可低于1.8
4、V。(5) 扩大接口功能,如设置高速I/O 口,扩展I/O数量,增加外部中断源以及将ADCPWM嵌入到片内。-CPU (中央处理器, Central Processing Unit )CPU =控制器+运算器控制器的用途:统一指挥和控制各单元协调工作控制器的任务:从 ROM中取出指令一译码一执行指令控制器的组成:程序计数器PC数据指针寄存器 DPTR运算器的用途:对数据进行算术运算和逻辑操作运算器的任务:计算缓冲器内容一暂存一修改运行标志运算器的组成:累加器 ACG程序状态字寄存器 PSWA-程序计数器(Program CounterPC)位一指向ROM存储单元的地址指针(引导程序运行)i.
5、永远存放着下一条指令的地址ii. 具有16位字长一可寻址范围 216 ( = 65536字节=64KB)iii. 具有自动加1功能一顺序运行程序功能iv. 具有可被指令修改功能一跳转运行程序功能v. 复位时,PC值为0 一复位后程序从0开始运行-数据指针寄存器(Data Pointer DPTR)指向ROM或RAM存储单元的地址指针(引导数据传送) 具有16位字长,可寻址范围 216 (64KB)具有可被指令修改功能一可变更数据地址 可拆为2个8位的独立寄存器 DPL和DPH-累力口器(ACCUMULATERA)存放操作数或中间运算结果的8位寄存器i. 具有8位字长ii. 是利用率最高的寄存器
6、iii. 具有可被指令修改功能iv. 指令示例:PUSH ACCADD A,32HADD ACC,32H-程序状态字寄存器( Program State WordPSW)-存放程序运行过程中的各种状态信息的寄存器1具有8位字长2各位都具有特殊含义 3状态信息通常自动形成,但也可用指令修改位置定义的名称PSW+1 PSf. 6 PSW. 5 PSW, 4 PSW. 3 PSW. 2 PSff. 1 PS*. 0CYACF0RS litRSOOVFlP位7位(3位5位4 位3位2位1位0,按功能定义的名称CY (PSW.7)进位标志在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置
7、“ 1”,否则清“0”。用途:1、根据CY判断有无进位或借位;2、在位操作中CY可作为位累加器用。RS1和 RS0 ( PSW.4和PSW.3) 工作寄存器组指针用途:用于指定 CPU的当前工作寄存器组RSIRSO联小摄号RORIR2R3R4R5R6R70oOOHC1H02H03H04HOSH8HiW V1. .KH©SHOAHCBHOCHODH< F HGFHt0IffH11H12H13 H14HUH17HI131SHiah:】BH1CH1DHLEHI FHP ( PSW.。 奇偶标志位该位始终跟我累加器 A中含“1”个数的奇偶性;如果 A中有奇数个“ 1”,则P置“1”,
8、否则置“ 0”举例:若 A =1001 1111,贝U P=0若 A =1100 0001,则 P=1用途:用于串行通讯中的数据校验,判断是否存在传输错误。-MCS-51引脚及功能(课本 P18)51系列单片机一般采用 40只引脚的双列直插式(DIPDual In-line Package)封装结构(1) 电源及晶振引脚VCC (40脚):+5V电源引脚VSS (20脚):接地引脚XTAL1 (19脚);外接晶振引脚(内置放大器输入端)XTAL2 (18脚):外接晶振引脚(内置放大器输出端)(2) 控制引脚RST/VPD (9)复位/备用电源引脚ALE/PROG (30)地址锁存使能输出/编程
9、脉冲输入PSEN (29)输出访问片外程序存储器读选通信号EA/ VPP (31):外部ROM允许访问/编程电源输入(3) 端口引脚共计8只/组X 4组=32只引脚:P0.0P0.7 (3932 脚)P0 口;P1.0P1.7 (1 8 脚) P1 口;P2.0P2.7 (21 28 脚)P2 口;P3.0P3.7 (1017 脚)P3 口。 P0 口P3 口是单片机对外联络的重要通道补充:信号引脚的第二功能信号引脚赋予双重功能,即“复用”。第二引脚功能主要集中在P3 口。-1.常见的第二功能信号(1)P3 口线的第二功能P3 口线都定义有第二功能,详见表 2-1。表P3口的第二功能引脚第二功
10、能P3.0RXD (串行输入口)P3.lTXD (串行输出口)PI2(外部中断0请求输入端)P3.3(外部中断1请求输入端)P3.4TO (定时器/计数器。请求脉冲输入端)P35(定时器/计数器1请求脉冲输入端)P3.6(片外数据存储器写选通信号输出端)P3.7(片外数据存储器读选通信号输出端)-1.存储器划分方法计算机存储器地址空间的两种结构形式:普林斯顿结构(RAM和ROM统一编址)和哈佛结构(RAM和ROM分别编址)。存储单元地址空间:RAM: 80HFFH片内RAM:00H7FH(128B),特殊功能存储器占用的片外 RAM:0000HFFFFH片内 ROM:0000H0FFFH片外
11、ROM:0000HFFFFH2 .程序存储器(ROM)(课本P25)作用:存放程序、表格或常数,具有非易失性字长:8位数量:4KB (80C51)ROManH(FFFHROM当EA引脚接高电平(开关接A点)时,4 KB以内的地址在片内 ROM,大于4KB的地址在片外ROM中(图中折线),两者共同构成64KB空间;当EA引脚接低电平(开关接B点)时,片内ROM被禁用,全部64KB地址都在片外 ROM 中(图中直线)。3 .片内数据存储器(RAM)(课本P21)作用:存放程序运行结果字长:8位数量:128B+128B (80C51)J 低 128B ( 00H-7FH )为普通RAM区I高128B
12、 (80HFFH)为特殊功能寄存器区低128字节的区域工作寄存器区(00H-1FH)可位寻址区(20H-2FH)用户 RAM区(30H-7FH)区共有32个存储单元;每个单元都有一个 8位地址(字节地址)也有一个寄存器名称(R0R7)32个单元分为4组(第0 第3组);CPU只能选一组为当前工作寄存器组。区共有16个存储单元;每个单元都有一个字节地址,每个单元又可拆分为8个不同的位地址;区共有128个位地址。区可以字节地址和位地址两种方式存取数据。区共有80个存储单元;每个单元都有一个字节地址,但没有位地址,也没有寄存器名。此区可作为堆栈区和中间数据存储区使用一一用户RAM区【注意】:区和区只
13、能按字节进行数据存取操作,区则可按字节和位两种方式存取操 作。堆栈指针SP堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。假若有8个RAM单元,每个单元都在其右面编有地址, 栈顶由堆栈指针 SP自动管理。每 次进行压入或弹出操作以后, 堆栈指针便自动调整以保持指示堆栈顶部的位置。这些操作可评W数据A5以后押"数据A4 .一43A2以后用图说明。JK入数据A3以后仄人数据A4、A5以后1JTA*入6766656463626160(2)高128字节RAM区每个存储单元都有一个字节地址,但只有
14、其中21个单元可以使用,并有相应寄存器名称。51单片机共有 21个特殊功能寄存器(Spetial Function Register)SFR承担着51单片机内部资源的管理工作字节地址末位是 0或8的SFR都具有位地址。-闪速存储器(Flash EEPROM可以用来存放程序,但由于其读写方便,也可以像RAM样存放经常需要修改的数据,所以又称为Flash Memory。新一代闪速存储器的特点及其功能。1)低电压在线编程,使用方便,可多次擦写2)按块/按扇区擦除,按字节编程3)完善的数据保护功能1、时钟电路(课本 P28)时钟脉冲的频率(相当于 PC的主频)越高,CPU的处理速度就越快。MCS-51
15、的时钟频率为 612MHz可调1)两种时钟方式: 内部时钟方式该电路产生的时钟信号的振荡频率就是晶振的固有频率,也是系统的时钟频率,用fosc表示。(一般晶振 6Mhz , 12Mhz, 11.0592Mhz)外部时钟方式多机同步通信中,为使得各单片机之间的时钟信号严格同步,应采用公共外部脉冲信号为各单片机振荡脉冲,系统的时钟频率由外部脉冲提供,无需内部的振荡器。2、CPU时序(课本P29)(1)时序的概念时序是各种微操作在时间上的顺序关系PSTW5ZXTAL I2控制总线地址序线融寓忘鼓 一个状态(S)包含2个拍(P); 一个机器周期由6个S或12个P组成: 个指令周期约为14个机器周期.例
16、:外接晶振为12MHz时,MCS-51单片机的四种时序周期的具体关系为:振荡周期=1/12 us 机器周期=1 us状态周期 =1/6 us指令周期 =14 us(一)51单片机的取指/执行时序CPU的指令都是按照时序要求设计的任何一条指令分为:取指令阶段和执行指令阶段 每条指令的执行都是从 S1P2开始的每个机器周期最多可执行2个字节指令 ALE信号每出现一次,CPU就进行一次取指令操作。单片机三总线结构:地址、数据和控制80C51三总线具有以下特点: P0 口的地址/数据复用。 两个独立的并行扩展空间。外围数据存储器扩展的统一编址。二、P0P3并行口的基本用途(课本 P30)(1)、可作为
17、并行IO输入通道(伤如,按键/开关连接通道)(2)、可作为并行IO输出通道(例如,数码管显示器连接通道)(3)、可作为串行通信通道(例如,双机通讯的连接通道)(4)、可作为外部设备的连接通道(例如,存储器扩展通道)关于上拉电阻:a) P1、P2、P3不需要上拉电阻,片内已有。P0b) P0 作为扩展总线的数据/地址复用线时,也不需要上拉电阻,这种情况下,口内部是两个 MOS管推拉输出,可以同时驱动 8个TTL电路。c) P0 作为普通I/O 使用时,由于上面的MOS管截止,只有下面一个管子工作,处于开漏状态,此时需要外接上拉电阻,才能输出高电平。1. P1 口P1 口包含P1.0P1.7共八个
18、相同结构的电路P1.n = 1个锁存器+ 1个场效应管驱动器 V + 2个三态门缓冲器P1.0P1.7中的8个锁存器组成 P1 SFR (90H)Pl 只有一种功能:通用输入 /输出接口。2. P3 口与P1.n差别:第二功能控制单元一双功能P3.0P3.7中的8个锁存器组成 P3 SFR ( B0H)3. P0 口与P1.n差别:输出控制电路、输出驱动电路一总线功能P0.0P0.7中的8个锁存器组成 P0 SFR (80H)P0 口有两种功能;地址/数据分时复用总线和通用I/O接口。4. P2 口P2 口有两种用途:通用I/O接口或高8位地址总线P2.0P2.7中的8个锁存器组成 P2 SF
19、R (A0H)与P1.n差别:输出控制单元一总线功能-P0P3小结1 .结构P0P1P2P3D钺存骞MUX开关*1输出控制内部上拉电阻2.功能P0PlP2P3推双向10 口总蟋端口第二功能SFR地址80H90HAOHBOH本章总结:51单片机采用哈佛结构存储器,共有 3个逻辑存储空间和 4个物理存储空间。片内低128字节RAM中包含4个工作寄存器组、128个位地址单元和 80个字节地址单元。片内高128字节RAM中离散分布有21个特殊功能寄存器。X51和52的区别:51内部ROM存储器:4k RAM : 128B 中断源数目:5个52内部ROM存储器:8k RAM : 256B 中断源数目:6
20、个第三章一汇编语言汇编语言优点一一代码精炼、执行速度快,但不便于编写较复杂的程序;汇编程序处理过程一一输入源程序一检查语法正确性(如有语法错误,输出错误信息)一翻译成二进制目标程序。1data代表一个8位的立酯数MOV A,#35H2-d3talS代表一个16也的立即戮(常家)MOV DPTR,#1305H3Rn代表R5R7中的某个H作寄存器60-力ADD A.R54Ri或R1工作寄存器0«0-1>SUBB A,R05direct秋海128日危国内播个RAM的具f抑蚊t或SFR蓟名称MOV A, 25H或PSW6addrl6代表64KB范围内某个RAM或ROM的具脩地址UMP
21、12A0H7addrll代袤2KB覆国内某个RAM含ROM的具体燃址ACALL 3FFH8rel代表256B 71固内某个RAM或ROM地址的情善JC start9 Jbit传表RAM或SFR中某个曲擎元的具体地址CLR 20H10/代表鞫丽后的也状态取反ORL C/P1X11$代表当前指令的所在地址SJMP $12传表以蠢存器中的数据作为单元地址MOVX DPTRjA-寻址方式寻址方式一一汇编指令中反映操作数存在形式的表示方式;寻址方式越多,单片机的功能就越强;51单片机共有七种寻址方式:直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址、相对寻址。(见课本P37)寄存器间接寻
22、址的其他例子如下:PUSH ACC ; SP+1 SP, ACC 以SP为地址的内部 RAM单元POP 20H ;以SP为地址的内部 RAM中的内容 20H内部RAM;单元,SP-1 SP关于各种寻址方式的寻址的范围:(网上搜索的内容)1、立即寻址:立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是 包含在指令字节中的。如:MOV A,#20H,此时数据范围:00HFFH再如:MOV DPTR,#1000H 此时数据范围:0000HFFFFH;2、直接寻址:A:可以访问内部数据存储器RAM低128单元007FHB:如果是高位则一定是特殊功能寄存器如P0, P1,SBUF IE等
23、等,而且也只有直接寻址可 以访问特殊功能寄存器。C:位寻址空间 20H2FH3、寄存器寻址:A:四个工作寄存器组也就是00H1FHB:其他特殊功能寄存器如 A, B, PSW, DPTR等等4、寄存器间接寻址:A:用Ri可以寻址内部或外部 00HFFH.B:用DPTR可以寻址0000H到FFFFHC:用PUSH或POP可以访问范围 00FFH5、基址寄存器加变址寄存器的变址寻址A:以PC为基址范围为256个字节B:以DPTR为基址范围为 64K6、位寻址:A: 20H2FH的位寻址空间B:能被8整除的专用寄存器如 P0, P1等等。7、相对寻址:偏移量+指令单元地址,所以范围为 00HFFH寻
24、址方式寻址范围直接寻址内部RAM的低128B特殊功能寄存器寄存器寻址R0-R 7ACC. Ik CY (位). DPI R (双字节),AU (双字节)寄存器间接寻址内部数据存储器MA、1H1)外部数据存储器(叵R0、金RI、DPTR)(立即寻址程序存储器(操作码常数)变址寻址程序存储器(前A+DPTR-A+PC)位寻址内部RAM 中的20H7FH的 1281ftbitSFR中的128个可寻址位相对寻址程序存储器rel-指令系统一一计算机中全部指令的集合。51单片机共有111条指令,按功能可划分为四大类:数据传送与交换类(31条)算术运算类(24条)逻辑运算类(34条)转移控制类(位操作也可作
25、为第五类考虑)(22条)1.数据传送与交换类指令(课本P38)以实现RAM、SFR和ROM之间的数据互传或交换为目的。族型助记符恪式执行触赚作指专设朋指与克S思片内 RAM 传送MOV /RnARn以索加器A为目的操作效的传送Move cyte vanaoieMOV A.RiA+ (Ri)MOV A,MataMOV AlfredA -directMOV Rn.ARn*-AIX阳|为目的蜿 1HUNHEMew byte vanaMehov Rn,directRn*-dixsctMOV RndataMOV dirertAdirftct*-A以direct为目的 揉族的传送Move byte van
26、abieMOV drectRndlTGCt*-MMOV drectdirectdirecV-directMOV direct FRidirecr*- (Ri)mov drect,#dataHOV0W.A响)f以»为目械Move byte wrMOV 酬Meetmov Rb*dara(Ri)ditaMOV DPTR,»datai6DPTR*datil6'以DPTR为目的 掾作鼓的传送,Data Pointer.MOVCYMJitf位磷传送/IMM Ql dataMOVbltX*7brt-Of.牌和 AM. 传送MOVXA,R3Ay (Ri)/以累加卷A为目的操怫的传送
27、Mow External data *MOVX ArDPTRA*-(DPTR) /MOVX 出,如(Ri)*-A w以»为目的捶 作我的传送MOVX 0FTRA(DPTR)-A以©DPTR为目的操作轨的传送ROM能送*_KOVCA,$A+FCA-CA*PC) .以累加器A为目 的撮忸运Move CodebefMOVCA>A+DPT 鼠二A+CA+Dmpi交所XCH A.Rn,N-*Rn-数据相互交换Exchange AccimJldlor with Oyte variablesXCH A,R/A+ (Ri)XCH Afreet J件-directXCHD A,Ri*A
28、0->-k (Ri) 0-3-SWAP A;AU-3*"fA4-7Svvap nibbles wthn the Accumulator博校push direstSPSIMIJ(SP) *-direcH堆程教堂传送.Push onto stack-POP direct*7directSP*-SP-l*1Pop tom stack*2.算术运算类指令(课本 P40)以实现加、减、乘、除和增减1等运算为目的。特点:除加1和减1外,都需要有累加器 A参与运算;算术运算指令一般都会影响PSW中的CY AC OV三个标志位。助记栩6式执行期冰*®nt®ADD %RnAA
29、+Rn不带i跄加涉管等MdADD A,RrA+A+ (Ri)ADD A,#dataA<-A+dataADD A,directA*-A+directADDC A.RnA*-A+Rn+CYAdd wfth carryADOCA.$Rj(RO +crADOCA,rc!MA*-A+data*CYADDCA*-A+direct+CYSUBB AfRnA+A-Rn-CY帚借粒福麻|盼SuOtract wrtnSUBB ArA-A- (Ri) <YSUBBAA-d 忒才 CYSUBB A.directA-A-direa-CY卜 一,W3.逻辑运算及移位类指令(课本P42)以实现与、或、异或、求反
30、、置 1、清零、移位等逻辑操作为目的。类型助词符格式执行嬲作指令说朗指好笑文意思马ANLArRnA*-A ARn字节逻制与指等 通常用于将T字 节中的指定位滑 零.其它位不变Logical-AND fet byte vanabies*NL A丽AT A CRiJ1ANL Af*dataAf AdataANL AfreetAf A directANL direct. Adirect-direct AAanl d*rear #datadirect direct AdataANL CJ>KC*-CAfait他法的播令Logical-AND W bl vanabresANL GMC*CA/bt或
31、ORL A.RnA-AVRn字节逻辑或指等 遒常用于个字 书中射跄位 1 而其余位不变Log>cai-OR forDyie vanaDiesORLA廊 RiA-AV (RJORL A,#dataA-AVdataORL AxlireaA*-AVdireaORL dtrea, adirect-direct VAORL direct, #datad(rect-drrect VdataORL CMOK: V bt蝇曲楷3gg©R bhMMflMCRLQ/bit8c V/titXRL ArRnAf (Rd企辑耳或指令 通常用于使一个字 节中的指定位不变 而其余位取反Logical-X2&
32、gt;Rforbyte artat)iesxfy. AdataAA # dataXR1 A.directA-A drrectxrl direct, AErect-direct,AXRL direct, #datadirect-directCPLAA- A累加事反指令CompiemeniAccCPLCCTC通取朗a令Compietnvit bt位SETBCcr”1做Set BitSETB bitbiElCLRAA+ 0Clear AccCLRCC*-Q位沿零揩吟Clear bil(XRbitbit"-。VILA昌左移T1值环左移律令Rotate acc L eDRLC AA碎位左移一住
33、带迸位循环左修指 令Rotate Acc left throui carryRR AA右移T值环右移指令Rotate Acc R 中ARC AA帚逐隹右移一也带进位簿环后移揩 令Rotate Acc %grt由中u5 Carry4.控制转移类指令(课本 P45)以改变程序计数器 PC值,进而改变程序的流向为目的。典型助记符格式执行瓶t作AJMPaddriiaddrll始对转后指净,2K 内蛇对寻址AbsokieJump无条 件*sjmp relPC-PC+rel相对幡移指令.80H?FH运转移Short Jumpljmp addi5PC*-addrl6始转移揩令,64K内顿捋址Long Jum
34、pJMPA+DPTRPC*-A+DPTR间搭寻址转移, 64K内|日对寻址Jump tndirea孑程 序调 用及 膏AOALLoimiPC*PC+2P*5l*lJ SP-PC。-75 - sin1f SP*-PC;5FPC*-addm她对调用指令调用范围同AJMPAbsolute calllcall addriePC*PC “石P*-SJ*L SPPCOTSPSP+l, 5aMS16长调用掐令调用南LJMPLong CallRETpcensn. sptp PC0-7+CSP), SP*-SP-1Re<um fiwn subnMJtineREHPCB-15*-£ff>t
35、SFF-iPOVACSPL ABIReturn from IntonifA条件 mpJZ rel*'若*=o.则pc-pcm,否叫弱序遵行一照加as a判等巧称Jump if acc Zero*JNZ rel-若20,则FC-FOra否则嗓序进行Jump if Acc Not Zero-ONE若则 Q-Ft+nl,否则10序邃行:等 A4 4at. J|CY=1.香剧ICMP比籁条怦君卷指令Compare and jump IF "ot EqutPONEAttract jell若 人(a>rt<tLJUPC«-rc+T 否副" 序进行;若 X
36、Oir»U«nCT=lft| CT=OCINE看则re-ictt.香则国序进行:若ht*. Rlmi.否则CTR*CINE和酎-dag则PC+PCfriX者B1脱序进行;若舐< a,则mi,香刚cm).DJNZ Rnfrek1RfRn “,若氐射0,则就3兀.否则随序造行谶1非利蜂指令,Decrernem and Jump rf Not Zero*DJNZ directjeK(dirtct)*-(dirtct) T,若 Edinetld0. IWrC十PC+nl.苦则阙序迸行*K rtk若CT=1, JWTC+tC*T0.若Ml照呼执行匐以CY内容为条件Jump if
37、 Carry 也)NC 同。 ct-L m rcrctKa苦划照存执行的列移”Jump ff Ctny tB NOTJB bt/el-若feit±L#JrC*PC+rtL否则嗖耳执行,目夜建址内容力条 件ew移指令,Jump if Bit set-JNB bit1fwP看£* 一 】.剃壮-FC+r.l,若创依序执 1JPJump if BitNotseKJBCbrt.reb'若 i>it=L 则汽-pc*#*L bit*o.舌剧 取序执行/Jump if Bit Is 5t and Clear bit*1空推NORPC*-(PC)+1*交嶙作指令,洎发 T机
38、IM网.Nc Opefattcn5.伪指令(课本P53)汇编语言指令的两类指令:硬指令(指令性语句)一一汇编后可以产生机器码的指令,如前介绍的 111条指令;伪指令(指示性语句)一一用于对汇编过程提供必要信息的指令,汇编后不会产生机器码常用的伪指令:ORG END EQUk DATA BIT DS伪指令属于非执行指令,用于对汇编过程提供必要辅助信息,汇编后不会产生机器码。位操作指令在课本 P51伪指令名称一格式产功能描述一RG (Oringin)=程序起始地址产ORG 16位地址一用以说明此语句后的源程序或数据 块被存放的ROM起始地址aDB <Define Byte)*定义字节标号:D
39、8 项或项表)尸把项或项表中的字节(8位)数值 依次存入标号开始的存储单元中DW( Define word定义务如1;DW 方巴;尸表把项或项表中的字(16位)数值依 次存入库号开始的存储单元中3EQU (Equate) *等值指令a标示符EQU数或汇编符号卡将数或汇编符号赋给本语句的标示 符DATA (Data) ”数据地址赚值研标示符DATA教改汇编符号将数或汇编符号赋给本语句的标示将#BIT (Bit) #位地址赋值一标示符BIT位地址将位地址噫给本语句的标示符*卡END (End) #结束汇编产ENDa指示汇编程序源程序段造束/第四章-C51的程序结构(课本 P68) 程序由函数组成(
40、一个主函数,或一个主函数和若干自定义函数); 利用预处理命令对变量或函数进行集中定义或说明; 函数和变量都需遵循先定义后使用的基本原则;主函数中的所有语句执行完毕,则程序结束。-C51的数据结构(课本 P71)C51变量定义的四要素:【存储种类】数据类型【存储类型】变量名基本数据类型和长度及其值域见课本P72表格sfr 或 sfr16 型:关键词sfr或sfr16用于定义SFR字节地址变量(对应课本P25表格中没有位地址的部分),语法规则: sfr或sfr16 sfr_name =字节地址常数;例如,sfr P0 = 0x80;/ 定义 P0 口地址 80Hsfr PCON = 0x87;/
41、定义 PCON地址 87Hsfr16 DPTR=0x82; 定义DPTR的彳氐端地址 82Hsbit型:(对应课本P25表格中有位地址的部分需要此定义) 关键词sbit用于定义SFR位地址变量,三种定义形式: 1)将SFR的绝对位地址定义为位变量名sbit bit_name =位地址常数;例如,sbit CY = 0xD7;2)将SFR的相对位地址定义为位变量名 sbit bit_name = sfr字节地址 A位位置; 例如,sbit CY = 0xD0A7;头文件a 函数类型说明 全局变量定义 mainOt局部变量定义 程序体A局部变量定义程序体funcN()局部变量定义 v程序体3)将S
42、FR的相对位位置定义位变量名sbit bit_name = sfr_name A 位位置;例如,sbit CY = PSWA7;C51存储类型与存储空间的对应关系见P74图4-4C51的存储类型与存储空间对应关系表见P75表4-2-变量名的声明变量名具有字母大小写的敏感性,如SUMF口 sum代表不同的变量。强调:头文件中定义的变量都是大写的,若程序采取小写变量则需要重新定义。变量名可以由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线,变量名长度随编译系统而定。举例说明C51指针定义的用法(SMAL阁译模式下)指针详见课本P77例1char xdata a =' A
43、39;char * ptr = &a;ptr是一个指向char型变量的指针变量;它本身位于SMALL编译模式默认的 data存储区里;它的值是位于xdata存储区里的char型变量a的地址;存储器地址空间容量访问速度C51编译器中变(常量存储器类型在汇编语言中寻 址方式内部数 据区工作寄存器区OOHMFH32最快data寄存器寻址, 直接寻址位地址 区20H-2FH16快data bdata位寻址 直接寻址数据缓 冲区30H7FH80data 快, i data 中datajdata直接寻址.寄存器间接寻址80H-FFH(52系列)12B中idata存春器间接寻址SFR区80HFFH1
44、2B快(sfr(sfr16t Sbit)位寻址,直接寻址内(外)程序区0000H- FFFFH65536最慢code变址寻址立即寻址外部数据区OQOOH-FFFFH65536pdata 慢, xdata最慢xdata, pdata寄存器间接寻址-C51的运算符和表达式“=”符号是用来进行相等关系的运算。“二”符号是用来对变量进行赋值。一些不熟的运算符:=测试等于!=测试不等于逻辑与:条件式1 &&条件式2。逻辑或:条件式1 |条件式2。逻辑非:!条件式。& 按位与一|按位或A按位异或_这六个是位运算按位取反.一> < 左移> > 右移> C
45、51的应用技巧(1)灵活选择变量的存储器类型先内部后外部,使用频繁放内部减少变量的长度,char, unsigned char, bit(2)避免使用浮点变量避免浪费大量的存储器资源和程序执行时间(3)灵活设置变量,高效利用存储器能用 bit 或 sbit,不用 unsigned char尽量使用局部变量,不随便使用全局变量-行列式键盘原理与编程fomcqi Ml1键盘扫描key_scan口 = 0xef, 0xdf, 0xbf, 0x7f按键判断读P3:若P3低4位为f或(P3 & 0x0f)=0x0f 一无键压下 若P3低4位w f或(P3 & 0x0f)丰0x0f 一有键
46、压下键值计算键模 key_buf 口 = 0xee, 0xde, 0xbe, 0x7e,0xed, 0xdd, 0xbd, 0x7d,0xeb, 0xdb, 0xbb, 0x7b,0xe7, 0xd7, 0xb7, 0x77;for (j = 0 ; j < 16 ;j+) /查找按下键键值if (key_buf j = P3)return j;-iitclude <res5Lh>法ar-侬。界0& 他指& 0K4£ 0耳6民配/、0KoM"1田U欣衽,乐槌#&77,&?5山弱<k温品79»QxT123cha
47、r keyjbuf O = fOGab Qb& QniwQeM tab4 QeU Z/VKOxeb, Oxcb» Qsbh G孤 Os看;.Qxb?« fitsTT;i /=key_«ftni;«F3 & OxQf) !» <hOf) /3HLSMfar G = C ; j < 16 : j+) ;if gjbuftil第五章1、51单片机有哪些合法的中断源80C51具有五个中断源:引脚INT0上的外部中断信号达标一一外部中断0内部定时/计数器T0溢出一一定时器 T0中断引脚INT1的外部中断信号达标一一外部中断1内
48、部定时/计数器T1溢出一一定时器 T1中断一帧串行数据发送/接收完成一一串口中断【说明】外部中断信号达标一一引脚上出现低电平信号,或脉冲下降沿信号 定时/计数器溢出一一定时/计数器里的数值超过最大允许值 串行数据发送/接收完成一一一帧数据已从缓冲器中送出或送入1中断号内中断源中断向量0外部中断00003H1定时器0OOOBH2外部中断1OOI3H3定时器1001BH4事行口002311中断请求标志外部中断信号0达标,IEOTCONA1外部中断信号1达标,IE1 TCON7【ED(【El)nri有中断请求0无中断请求TFl TRi TFO TRO; IE18fH aew aw 18al :晒 5
49、56* ,一 TCON,定时器控制寄存器,88H定时用数器0溢出,TF0TCONA5一定时/计数器1溢出,TF1TCONA7TFl :7R1: TFO: TVO IE1 Ill IBO ITO;OT : I 8tH| jBOH | aCH| BBI| BiH| 8SH| 8BH:ftT 1 : «5 : "fi?filST- 1rt*TCON,定时器控制寄存器,88Hri有中断请求TF0(TFl) =1。无中断请求一帧串口数据发送(T1)完成,T1SCONl 一帧串口数据接收(R1)完成,RISCON八0 :TI I RI iI I I 一而:T向:I;ft7 他6 a &
50、#171;e4 ftj 物 a 【敬;一. L-SCON,串行口控制寄存器,98H TirDn_ p有中断请求 “网尸卜无中断请求CPU怎样管理中断处理过程? a)系统为每个中断源设立了中断允许标志。当该标志为1时,可自动执行相应中断函数,否则不予响应。中断允许标志可在程序中由软件修改;b)系统为每个中断源设立了中断优先级标志。当该标志为1时,可优先执行相应中断函数,否则按请求先后顺序响应。中断优先级标志可在程序中由软件修改;c)系统为外部中断源设立了中断触发方式标志,可据此指定相应信号类型。 优先级原则:1)高级中断请求可以打断正在执行的低级中断;2)同级或低级中断请求不能打断正在执行的中断
51、;3)同级中断源同时提出请求时按自然优先级响应:INTOf T0 INT1-T1 一TI/RI4)单片机复位时,IP各位都被置0,所有中断源为低级中断第5章单片机的中断系统中断允许标志中断总允许标志,EAIEA7串口中断允许标志,ESIEA4定时中断1允许标志,ET1IEA3外部中断1允许标志,EX1IEA2定时中断。允许标志,ETOIEA1外部中断0允许标志,EXOIEAO=ui<hiik 1 hjsbitpl JJ = P1 优tlltO ”(卜 LikMTUpt 0中断函数p匚ipljh反转PL 0rro-i;设置脉冲方式EX(t-k,开 INTO 中断EAT."开总中断wJul*( IkEAES ET1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国兵器工业第二三研究所招聘笔试历年参考题库附带答案详解
- 2025陕西延长石油物流集团有限公司包装制品分公司人员招聘32人笔试历年参考题库附带答案详解
- 2025重庆两江新区燃气有限责任公司外包岗招聘5人笔试历年参考题库附带答案详解
- 2025贵州黔南州招聘国有企业人员考察(第二批)笔试历年参考题库附带答案详解
- 2025贵州省施秉县杉木河旅游开发有限公司招聘笔试历年参考题库附带答案详解
- 2025贵州凯里凯盛国有资本投资运营(集团)有限责任公司招聘工作人员缴费成功人数与招聘岗位人数达不到31比例岗位截止9月22日笔试历年参考题库附带答案详解
- 2025福建莆田市城市建设投资开发集团有限公司招聘岗位人员拟聘笔试历年参考题库附带答案详解
- 野外作业野兽侵袭处置方案
- 煤矿重大隐患排查及管理制度
- 2026年新疆吐鲁番市中小学教师招聘考试试题解析及答案
- 2026年英语四级写作真题模拟卷含解析
- 传染病学(中级312)相关专业知识卫生专业技术资格考试知识点试题集精析(2025年)
- 切割混凝土施工方案(3篇)
- 工厂无水乙醇安全培训
- 新能源项目(风电、光伏)成本控制分析
- 山东省网络与信息安全应急预案
- 2025年辽宁选调笔试真题及答案
- 《被讨厌的勇气》读书分享演讲稿模版
- 酸碱反应实验教学总结与改进
- 烧箔画课件讲解
- 宁夏区委党校在职研究生考试真题(附答案)
评论
0/150
提交评论