单片机原理及应用电子教案.ppt
《单片机原理及应用电子教案.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用电子教案.ppt(173页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片微型计算机原理单片微型计算机原理及其应用电子教案及其应用电子教案赵秀珍赵秀珍王乃钊王乃钊制作制作中国水利水电出版社中国水利水电出版社2001.8第一章单片微型计算机概述n本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。n单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。11 单片机的发展概况单片机的发展概况n综上所述,我们可以把单片机的发展历史划分为四阶段:n第一阶段(19761978年
2、):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。主要用于工业领域。n第二阶段(19781982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。n第三阶段(19821990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片
3、内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。n第四阶段(1990年):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。12 单片机的结构特点单片机的结构特点n(1)片内的RAM采用寄存器结构形式,这样可以提高存取的速度;n(2)在存储器结构上,严格的将程序存储器ROM和数据存储器RAM在空间上分开;n(3)它的引出管脚一般都设计成多功能的;n(4)增加了一个全双工的串行接口,以扩充I/O口和外接同步输入和输出设备;n(5)有21个特殊功能寄存器;n(6)有丰富的指令系统,
4、内部设置了可以位寻址的位地址空间。13 单片机的主要品种及系单片机的主要品种及系列列n一、4位单片机n二、8位单片机表格11MCS-51系列型号型号制造技术片内程序存储器片内数据存储器8051AHHMOSROM(4k)128字节8031AHAHMOS无128字节8751HHMOSEPROM(4K)128字节80C51CHMOSROM(4K)128字节80C31CHMOS无128字节8051HMOSROM(8K)256字节8031HMOS无256字节 14 单片机的应用单片机的应用n一、单片机在仪器仪表中的应用n二、单片机在机电一体化中的应用n三、单片机在智能接口和多机系统中的应用n四、单片机在
5、生活中的应用第二章MCS-51单片机的结构和原理n本章主要介绍MCS-51系列的8051的基本结构、工作原理、存储器结构、P0、P1、P2、P3四个I/O口的基本工作原理和操作特点。单片机的各种工作方式、单片机的时序等。21MCS-51单片机的结构原理n一、8051单片机的结构图21MCS-51单片机的基本结构二、8051单片机的内部结构和工作原理n8051单片机的内部结构框图如图22所示,下面分别进行介绍:图228051的内部结构框图图238051存储器组织结构字节地址位地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20HD7D6D5D4D3D
6、2D1D07FH7EH7DH7CH7BH7AH79H78H77H76H75H74H73H72H71H70H6FH6EH6DH6CH6BH6AH69H68H67H66H65H64H63H62H61H60H5FH5EH5DH5CH5BH5AH59H58H57H56H55H54H53H52H51H50H4FH4EH4DH4CH4BH4AH49H48H47H46H45H44H43H42H41H40H3FH3EH3DH3CH3BH3AH39H38H37H36H35H34H33H32H31H30H2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H1FH1EH1
7、DH1CH1BH1AH19H18H17H16H15H14H13H12H11H10H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02H01H00H图248051内部RAM位地址区图248051内部RAM位地址区表格22特殊功能寄存器表符号单元地址名称位地址符号地址*ACCE0H累加器ACC.7ACC.0E7HE0H*BF0H乘法寄存器B.7B.0F7HF0H*PSWD0H程序状态字PSW.7PSW.0D7HD0HSP81H堆栈指针DPL82H数据存储器指针(低8位)DPH83H数据存储器指针(高8位)*IEA8H中断允许控制器IE.7IE.0AFHA8H*IPB
8、8H中断优先控制器IP.7IP.0BFHB8H*P080H通道0P0.7P0.087H80H*P190H通道1P1.7P1.097H90H*P2A0H通道2P2.7P2.0A7HA0H*P3B0H通道3P3.7P3.0B7HB0HPCON87H电源控制及波特率选择*SCON98H串行口控制SCON.7SCON.09FH98HSBUF99H串行数据缓冲器*TCON88H定时控制TCON.7TCON.08FH88HTMOD89H定时器方式选择TL08AH定时器0低8位TL18BH定时器1低8位TH08CH定时器0高8位TH18DH定时器1高8位*:可位寻址的特殊功能寄存器图25P0口的位结构(1)
9、P0口位的结构(2)P1口位的结构图26P1口的位结构图26P1口的位结构图26P1口的位结构图26P1口的位结构图26P1口的位结构(3)P2口的位结构图27P2口的结构图(4)P3口的位结构图28P3口的结构图(4)P3口的位结构 图28P3口的结构图表格23P3口的第二功能表I/O口第二功能注释P3.0RXD串行口数据接收端P3.1TXD串行口数据发送端P3.2INT()0外部中断请求0P3.3INT()1外部中断请求1P3.4T0定时/计数器0P3.5T1定时/计数器1P3.6WR()外部RAM写信号P3.7RD()外部RAM读信号一、时钟周期、机器周期和指令周期图2-9基本定时时序关
10、系22 MCS-51单片机的时序单片机的时序1时钟周期图210MCS-51的取指/执行时序2机器周期3指令周期二、MCS-51单片机指令的取指和执行的时序三、访问外部ROM和RAM的时序图211访问外部ROM的时序1访问外部ROM的时序2访问外部RAM的时序图212访问外部RAM的时序23 MCS-51单片机的时钟和复位电路一、时钟电路图213MCS-51时钟接法1内部振荡器方式2外部时钟方式二、复位电路及复位状态1内部复位电路图2148051复位电路结构2外部复位电路图215复位电路3复位状态表格24各专用寄存器的复位值专用寄存器复位值PC0000HACC00HB00HPSW00HSP07H
11、DPTR0000HP0P3FFHIPXXX00000BIE0XX00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0XXX0000B24 MCS-51单片机的低功耗工作方式一、电源控制寄存器PCONPCOND7D6D5D4D3D2D1D0SMODGF1GF0FDIDL三、掉电方式二、等待工作方式第三章MSC-51单片机的指令系统 31 指令系统概述指令系统概述一、机器码指令与汇编语言指令机器码指令:机器码指令:汇编语言指令:汇编语言指令:二、指令格式汇编语言格式为:标号:操作码助记符目的操作数,源操作数;注释
12、单字节指令双字节指令三字节指令操作码24H操作数22HINCAADDA,#22HMOV5EH,4FH操作码04H操作码85H源操作数4FH目的操作数5EH图3-1机器码指令格式32寻址方式一、寄存器寻址二、直接寻址三、立即寻址四、寄存器间接寻址五、变址寻址六、相对寻址七、位寻址33 MSC-51单片机的指令系统单片机的指令系统按照指令的功能,可以把MSC-51的111条指令分成五类:l数据传送类指令(数据传送类指令(29条)条)l算术运算类指令(算术运算类指令(24条)条)l逻辑操作类指令(逻辑操作类指令(24条)条)l控制转移类指令(控制转移类指令(17条)条)l位操作类指令位操作类指令(1
13、7条)条)图3-2相对寻址过程第四章 MCS-51单片机的应用程序设计图4-1基本程序结构4 41 1 运算程序运算程序一、多字节数加法1多字节无符号数加法CLRCMOVR0,#40H;指向加数最低位MOVR1,#5OH;指向另一加数最低位MOVR2,#04H;字节数作计数初值LOOP1:MOVA,R0;取被加数ADDCA,R1;两数相加,带进位MOVR0,AINCR0;修改地址INCR1DJNZR2,LOOPl;未加完转LOOP1JNCLOOP2;无进位转LOOP2MOVR0,#01HLOOP2:DECR0RET2多字节有符号数加法MOVA,R0;复制保存地址指针MOVR2,AMOVA,RM
14、OVR7,ACLRCLOOP1:MOVA,R0ADDCA,R1;相加MOVR0,AINCR0INCR1;地址指针加1DJNZR7,LOOP1JBOV,ERR;若溢出,转溢出处理DECR0MOVA,R0JNBE7H,LOOP2SETB07H;和值为负,置位标志LOOP2:MOVA,R2;恢复地址指针MOVR0,ARETERR:;溢出处理RETSDADD:CLR07H;标志位清零图4-3多字节有符号数加法程序流程图二、多字节数减法MOVR0,#40H;指向被减数最低位MOVR1,#5OH;指向减数最低位MOVR2,#04H;字节数CLRCLOOP1:MOVA,R0SUBBA,R1;完成一个字节的减
15、法运算MOVR0,AINCR0INCR1DJNZR2,LOOP1RET三、多字节十进制数(BCD码)加法图4-4BCD码多字节加法程序流程图BCDADD:MOV20H,R0MOV23H,RCLRCLOOP0:MOVA,R0;取被加数ADDCA,R1;两数相加DAA;十进制调整MOVR0,AINCR0;指针加1INCR1DJNZR,LOOP0;作完加法否MOVR2.#23HJNCRETURN;有无进位MOVR0,#01HINCRRETURN:MOVR0,#20HRET四、多字节数乘法ZHENFA:MOVA,R0MOVB,R1MULAB;(R1)*(R0)MOVR,A;积的低位送到RMOVR4,B
16、;积的高位送到R4MOVA,R0MOVB,R2MULAB;(R2)*(R0)ADDA,R4;(R1)*(R0)的高位加(R2)*(R0)的低位MOVR4,A;结果送R4,进位在CY中MOVA,BADDCA,#OOH;(R2)*(R0)的高位加低位来的进位MOVR,A;结果送RRET五、多字节数除法DV:MOVR7,#08H;设计数初值DVl:CLRCMOVA,RRLCAMOVR,AMOVA,R6RLCA;将(R6)、(R)左移一位MOV07H,C;将移出的一位送07H位保存CLRC图4-5除法程序流程图SUBBA,R2;余数(高位)减除数JBO7H,GOU;若标志位为1,说明够减JNCGOU;
17、无借位也说明够减ADDA,R2;否则,恢复余数AJMPDV2GOU:INCR;商上1DV2:MOVR6,A;保存余数(高位)DJNZR7,DVlRET一、数据的拼拆4 42 2 数据的拼拆和转换数据的拼拆和转换例4-7设在30H和31H单元中各有一个8位数据:(30H)=x7x6xx4xx2x1x0(3lH)=y7y6yy4yy2y1y0现在要从30H单元中取出低5位,并从31H单元中取出低3位完成拼装,拼装结果送40H单元保存,并且规定:(40H)=y2y1y0 x4xx2x1x0解:利用逻辑指令ANL、ORL来完成数据的拼拆,程序清单如下:MOV4OH,3OH;将x7x0传送到40H单元A
18、NL4OH,#000111llB;将高3位屏蔽掉MOVA,31H;将y7y0传送到累加器中SWAPA;将A的内容左移4次RLA;y2y0移到高3位ANLA,#111000OOB;将低5位屏蔽掉ORL4OH,A;完成拼装任务二、数据的转换1ASCII码与二进制数的互相转换例4-10编程实现十六进制数表示的ASC1I代码转换成4位二进制数(1位十六进制数)。解:对于这种转换,只要注意到下述关系便不难编写出转换程序:“字符0”“字符9”的ASCII码值为“30H”“39H”,它们与30H之差恰好为“00H”“09H”,结果均0AH。“字符A”“字符F”的ASCII码值为“41H”“46H”,它们各自
19、减去37H后恰好为“0AH”“0FH”,结果0AH。根据这个关系可以编出转换程序如下,程序以R1作为入口和出口。ASCHIN:MOVA,R1;取操作数CLRC;清进位标志位CSUBBA,#30H;ASCII码减去30H,实现0-9的转换MOVR1,A;暂存结果SUBBA,#0AH;结果是否9?JCLOOP;若9则转换正确XCHA,R1SUBBA,#07H;若9则减37HMOVR1,ALOOP:RET2BCD码与二进制数的转换图4-6BCD码(十进制)转换成二进制数程序流程图程序清单如下:MAIN:MOVA,RMOVR2,A;给子程序入口参数ACALLBCDBIN;调用子程序MOVB,#64HM
20、ULABMOVR6,AXCHA,BMOVR,AMOVA,R4MOVR2,AACALLBCDBIN;调用子程序ADDA,R6MOVR4,AMOVA,RADDCA,#00HMOVR,ARET子程序如下:BCDBIN:MOVA,R2ANLA,#0F0H;取高位BCD码,屏蔽低4位SWAPAMOVB,#0AHMULABMOVR,AMOVA,R2ANLA,#0FHADDA,R3;加低位BCD码MOVR2,ARET43查表程序使用MOVCA,A+DPTR指令来查表,程序清单如下:MOVDPTR,#BS;子程序入口地址表首址RLA;键码值乘以MOVR2,A;暂存MOVCA,A+DPTR;取得入口地址低位PU
21、SHA;进栈暂存INCAMOVCA,A+DPTR;取得入口地址高位MOVDPH,APOPDPLCLRAJMPA+DPTR;转向键处理子程序BS:DBRK0L;处理子程序入口地址表DBRK0HDBRK1LDBRK1HDBRK2LDBRK2H4 44 4 散转程序散转程序一、采用转移指令表的散转程序例4-17编出要求根据R的内容转向各个操作程序的程序。即当(R)=0,转向OPRO(R)=1,转向OPRl(R)=n,转向OPRn解:程序清单如下:MOVA,RRLA;分支序号值乘2MOVDPTR,#BRTABL;转移指令表首址JMPA+DPTR;转向形成的散转地址BRTABL:AJMPOPR0;转移指
22、令表AJMPOPR1AJMPOPRn二、采用地址偏移量表的散转程序例4-19编出能按R的内容转向5个操作程序的程序。其对应关系如下:OPRD0:操作程序0OPRD1:操作程序1OPRD2:操作程序2OPRD3:操作程序3OPRD4:操作程序4解:程序清单如下:MOVA,RMOVDPTR,#TAB3;指向地址偏移量表首址MOVCA,A+DPTR;散转点入口地址在A中JMPA+DPTR;转向相应的操作程序入口TAB3:DBOPRDO-TAB3;地址偏移量表DBOPRDl-TAB3DBOPRD2-TAB3DBOPRD3-TAB3DBOPRD4-TAB3三、采用转向地址表的散转程序例4-20编程:要求
23、根据R的内容转向相应的操作程序中去。设备操作程序的转向地址分别为OPRD0,OPRDl,OPRDn。解:程序清单如下:MOVDPTR,#BRTABL;指向转向地址表MOVA,RADDA,R;(A)(R)*2JNCNAND;INCDPH;(R)*2的进位加到DPHNAND:MOVR,A;暂存变址值MOVCA,A+DPTR;取转向地址高8位XCHA,RINCAMOVCA,A+DPTR;取转向地址低8位MOVDPL,A;转向地址在DPTR中MOVDPH,RCLRAJMPA+DPTR;转向相应的操作程序BRTABL:DWOPRDO;转向地址表DWOPRD1DWOPRDn四、采用“RET”指令的散转程序
24、例4-21编出能根据R的内容转向各个操作程序的程序。设该操作程序的转向地址分别为OPRD0,OPRDl,OPRDn。解:程序清单如下:MOVDPTR,#TAB3;指向转移地址表MOVA,RADDA,RJNCNANDINCDPHNAND:MOVR,AMOVCA,A+DPTR;取转向地址高8位XCHA,RINCAMOVCA,A+DPTR;取转向地址低8位PUSHA;转向地址入栈MOVA,RPUSHARET;转向操作程序TAB3:DWOPRD0;转向地址表DWOPRDlDWOPRDn45I/O端口控制程序例4-22试编出能模拟图4-9中电路的程序。ORG0200HDBIT00HEBIT01HGBIT
25、02HLOOP1:ORLP1,#08H;准备P1.3输入LOOP2:MOVC,P1.3;检测K3状态JCLOOP2;若未准备好(K3断),则LOOP2ORLP1,#03H;若准备好,则准备输入P1.0和P1.1状态MOVC,P1.0;输入K0状态MOVD,C;送入DMOVC,P1.1;输入K1状态MOVE,C;送入EANLC,D;DE送CMOVG,C;送入GMOVC,EORLC,D;DE送CANLC,/G;(DE)(DE)MOVP1.2,C;输出结果SJMPLOOP1;准备下次模拟END4 46 6 子程序调用时的参数传递方法子程序调用时的参数传递方法一、通过寄存器或片内RAM传递参数例4-2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 电子 教案
限制150内