




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/9/11,1,单片机原理及应用,2020/9/11,2,总结,第一章 51系列 第二章 I/O口,CPU,存储器 第三章 寻址方式,各类指令的格式、功能 字节数、周期数 第四章 子程序,查表程序,分支程序,循环程序,2020/9/11,3,第五章 1、中断TCON、SCON、IE、IP 各中断源的入口地址、请求标志、撤消 中断服务程序 2、定时器/计数器 TCON、TMOD T0、T1的定时、计数初值,启动,溢出 4种工作方式,2020/9/11,4,第六章 1、 SCON、PCON 发送、接收的SBUF,指令,完成标志 4种工作方式的帧数据、波特率 2、存储器的扩展:地址 3、I/
2、O口扩展:8155 4、LED显示,键盘 5、A/D、D/A,2020/9/11,5,指令应用实例,【例1】 在程序存储器中有一平方表,从2000H单元开始存放,如图所示,试通过查表指令查找出6的平方。 解:采用DPTR作为基址寄存器的查表程序比较简单,查表范围大,也容易理解。只要预先使用一条16位数据传送指令,把表的首地址2000H送入DPTR,然后进行查表就可以了。 相应的程序如下: MOV A,#6 ;设定备查的表项 MOV DPTR,#2000H ;设置DPTR为表始址 MOVC A,A+DPTR ;将A的平方值查表后送A 如果需要查找其他数的平方,只需要将累加器A的内容(变址)改一下
3、即可。,2020/9/11,6,指令应用实例,【例2】 试编程计算5678H1234H的值,结果保存在R6、R5中。 解:减数和被减数都是16位二进制数,计算时要先进行低8位的减法,然后再进行高8位的减法,在进行低8位减法时,不需要考虑借位,所以要在减法指令之前将借位标志清0。程序如下: MOV A,#78H;被减数低8位送累加器 CLR C;清进位标志位CY SUBB A,#34H;减去减数 MOV R5,A;保存低8位 MOV A,#56H;被减数高8位送累加器 SUBB A,#12H;减去减数 MOV R6,A;保存高8位,2020/9/11,7,指令应用实例,【例3】 拆字程序:在内部
4、RAM 40H单元保存有以压缩BCD码表示的2位十进制数,编程将它们拆开,分别保存在内部RAM的41H、42H单元。 解:程序如下: MOV A,40H;压缩BCD码送累加器 ANL A,#0FH;高4位清0,保留低4位 MOV 41H,A;保存低4位BCD码 MOV A,40H;取数据 MOV A,#0F0H;低4位清0,保留高4位 SWAP A;高低位交换 MOV 42H,A;保存高4位BCD码,2020/9/11,8,指令应用实例,【例4】 设(SP)=30H,符号地址PROG1指向程序存储器的5678H单元,当前PC值为0123H。从0123H处执行指令“LCALL PROG1”,分析
5、执行后PC、SP的值和相关存储器的内容。 解:执行过程为: (PC)+3=0123H+3=0126H。 将PC内容压入堆栈:向(SP)+1=31H中压入26H,向(SP)+1=32H中压入01H,(SP)=33H。 将PROG1=5678H送入PC,即(PC)=5678H。程序转向以5678H为首地址的子程序执行。 最终执行结果是:(PC)=5678H、(SP)=33H、(31H)=26H、(32H)=01H。,2020/9/11,9,指令应用实例,【例5】 比较内部RAM中40H、41H两个单元中的数据大小,将大的数送至42H单元。 解:程序如下: MOV A,40H ;取第一个数 CJNE
6、 A,41H,NEQU;比较,不相等转移至NEQU处 MOV 42H,40H ;相等, (40H)42H SJMP TOOFF;完成,转移至结尾退出 NEQU: JC LESS ;若CY=1,说明(40H)(41H)转移 MOV 42H,40H;(40H)(41H),(40H)40H SJMP TOOFF;完成,转移至结尾退出 LESS: MOV 42H,41H;(40H)(41H),(41H)40H TOOFF: RET,2020/9/11,10,程序设计实例,【例1】 P1口做输出口,控制8盏灯(P1口输出低电平时灯被点亮),编程使灯按以下规律显示:同一时间只有两盏灯点亮,从P1.7、P1
7、.6控制的灯开始,每盏灯闪烁5次,再移向下两盏灯,同样闪烁5次,循环往复,延时时间1s。晶振频率6MHz。 解:主程序是双重循环程序,循环移位是外循环,灯闪烁5次是内循环,内循环程序不能与外循环程序交叉。 延时1S采用三重循环程序。晶振频率为6MHz时,机器周期为2s,延时程序的延时时间计算方法如下: 1+1+(1+(1+1+2)125+2)200+25+22s =1006036s=1.006036s,2020/9/11,11,4.3.2 循环程序设计实例,主程序:,2020/9/11,12,延时子程序:,2020/9/11,13,中断的应用实例,【例1】 P1口做输出口,控制八只灯(P1口输
8、出低电平时灯被点亮),利用手控单脉冲信号作为外部中断信号,控制八只灯按一定的规律循环点亮。 解:手控单脉冲信号作为外部中断信号由INT0(P3.2)管脚输入,设置中断允许寄存器IE中的EA、EX0位为1;只有一个中断源可不设置优先级别;中断触发方式设为边沿触发,控制位IT0应设置为1。,2020/9/11,14,参考程序:,2020/9/11,15,T及应用实例,【例2】 在P1.0输出周期为1 ms(频率1kHz)的方波,采用定时器1方式0设计程序,晶振频率为12MHz。 解:根据题意,只要使P1.0每隔500s取反一次即可得到周期1 ms的方波,因而T1的定时时间为500s。 用定时器1方
9、式0时,定时器/计数器方式寄存器TMOD高4位中的M1M0应取00;可设定为软件启动定时器,故GATE取0;因为用定时功能,C/T取0;定时器方式寄存器TMOD低4位为无关位,一般都取0,所以TMOD应为00H。 晶振频率为12MHz,T机=12/fosc=12/(12106)=1s 定时初值 X=213-T/T机=213-500/1=8192-500=7692 =1E0CH=1111000001100B 因TL1的高3位未用,对计算出的定时初值X要进行修正,即在低5位前插入3个0,修正后的定时初值 X=11110B=F00CH,2020/9/11,16,6.3.2 方式0及应用实例,参考程序
10、:,2020/9/11,17,串行口应用举例,【例3】设甲乙机以串行方式1进行数据传送,fosc=11.0592MHz,波特率为1200b/s。甲机发送的16个数据存在内RAM 40H4FH单元中,乙机接收后存在内RAM 50H为首地址的区域中。,T1初值 = 256 - = 232 = E8H,32,121200,解:串行方式1波特率取决于T1溢出率(设SMOD=0),计算T1定时初值:,20,2020/9/11,18,甲机发送子程序:,MOV TMOD,#20H;置T1定时器工作方式2 MOV TL1,#0E8H;置T1计数初值 MOV TH1,#0E8H;置T1计数重装值 CLR ET1
11、;禁止T1中断 SETB TR1;T1启动 MOV SCON,#40H;置串行方式1,禁止接收 MOV PCON,#00H;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中断 MOV R0,#40H;置发送数据区首地址 MOV R2,#16;置发送数据长度MOVA,R0;读一个数据 MOVSBUF,A;发送 JNBTI,$;等待一帧数据发送完毕 CLRTI;清发送中断标志 INCR0;指向下一字节单元 DJNZR2,TRSA;判16个数据发完否?未完继续 RET ;,TXDA:,TRSA:,2020/9/11,19,MOV TMOD,#20H;置T1定时器工作方式2 MOV TL
12、1,#0E8H;置T1计数初值 MOV TH1,#0E8H;置T1计数重装值 CLR ET1;禁止T1中断 SETB TR1;T1启动 MOV SCON,#40H;置串行方式1,禁止接收 MOV PCON,#00H;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中断 MOV R0,#50H;置接收数据区首地址 MOV R2,#16;置接收数据长度 SETB REN;启动接收 JNB RI,$;等待一帧数据接收完毕 CLR RI;清接收中断标志 MOV A,SBUF;读接收数据 MOV R0,A;存接收数据 INC R0;指向下一数据存储单元 DJNZ R2,RDSB;判16个数据
13、接收完否?未完继续 RET ;,乙机接收子程序:,RXDB:,RDSB:,2020/9/11,20,线选法扩展二片2K容量,6116,一片4K容量,2716 2716:0000H07FFH 6116(1):0000H07FFH 6116(2):0800H0FFFH,2020/9/11,21,MCS-51单片机与8155的接口 【例8-4】试设计一个8031单片机与并行接口芯片8155的接口电路,并对8155进行初始化编程:让8155的PA口、PB口工作在基本输入/输出方式,其中,A口为输出,B口为输入,对输入脉冲进行32分频,定时器作为脉冲发生器,输出连续脉冲。 对8155I/O口地址分配如下: 命令/状态寄存器的地址: 7F00H PA口的地址:7F01H PB口的地址:7F02H PC口的地址:7F03H 定时器低8位的地址:7F04H 定时器高8位的地址:7F05H。 8031单片机与并行接口8155的接口电路如图所示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8 我们受特殊保护(教学设计)2024-2025学年统编版道德与法治六年级上册
- 10:原子弹大爆炸(教学设计)
- 2024-2025学年新教材高中生物 第2章 细胞工程 第2节 第1课时 动物细胞培养教学实录 新人教版选择性必修3
- 2024年五年级语文上册 第七单元 语文园地七配套教学实录 新人教版
- 15 坚持才会有收获 教学设计-2023-2024学年道德与法治二年级下册统编版
- 20 陀螺教学设计-2024-2025学年四年级上册语文统编版
- 6 狼牙山五壮士教学设计-2024-2025学年六年级上册语文统编版
- 2024-2025学年高中地理 第1章 环境与环境问题 第3节 解决环境问题的基本思想教学实录 新人教版选修6
- 2024-2025学年高中政治 专题2 4 切实保护知识产权教学实录 新人教版选修5
- 六年级上册语文《青山不老》公开课教学设计
- 2025年内蒙古巴彦淖尔市交通投资集团有限公司招聘笔试参考题库附带答案详解
- 2025年新公司法知识竞赛题库与答案
- 2025年新人教版物理八年级下册全册教案
- 微量注射泵培训
- 形象设计师三级习题库及答案
- 2025年度能源行业员工聘用合同范本
- 户外广告安装安全施工方案
- 2025上半年四川绵阳市北川县事业单位招聘工作人员拟聘高频重点提升(共500题)附带答案详解
- 厂中厂安全知识培训
- GB/T 45083-2024再生资源分拣中心建设和管理规范
- 高速铁路设计规范-12.综合接地(第一稿)提交
评论
0/150
提交评论