版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章
I/O应用技术第一节
MCS-51单片机的中断系统中断源与中断标志位分类中断源SFR中的中断申请标志位中断原因中断入口外部中断源外部中断0IE0(TCON.1)P3.2/脚上的信号可以引起中断申请0003H外部中断1IE1(TCON.3)P3.3/脚上的信号可以引起中断申请0013H内部中断源T0:定时器/计数器0中断IF0(TCON.5)T0计数溢出后引起中断申请000BHT0:定时器/计数器1中断IE0(TCON.7)T1计数溢出后引起中断申请001BH串行口中断RI(SCON.0)串行口接收完一帧数据后引起中断申请0023HTI(SCON.1)串行口发送完一帧数据后引起中断申请INT1INT0INT0INT1外部中断TF1TR1TF0TR0IE1IT1IE0IT0TCON.7.6.5.4.3.2.1TCON.0TCON:用于T0和T1
用于外部中断IT0(TCON.0)——外部中断0触发方式控制位IE0(TCON.1)——外部中断0中断申请标志位IT1(TCON.1)——触发方式控制位,功能同IT0IE1(TCON.1)——中断申请标志位,功能同IE0INT1INT1中断允许寄存器IEEAESET1EX1ET0EX0IE.7.6.5.4.3.2.1IE.0IE:总中断允许EX0(IE.0)——外部中断允许位ET0(IE.1)——
T0中断允许位EX1(IE.2)——中断允许位ET1(IE.3)—— T1中断允许位ES(IE.4)—— 串行口中断允许位EA(IE.7)—— 总中断允许位INT0INT1中断优先级寄存器IP——————PSPT1PX1PT0PX0 IE.4.3.2.1IP.0IE:保留位INT0优先级T0INT1T1串行口优先级中断入口中断源中断入口地址0003HT0000BH0013HT1001BH串行口0023HINT0INT1堆栈应用用堆栈保护断点的方法堆栈区与SP应注意的五点:
1)从栈底到栈顶 2)数据先进后出 3)PUSH与POP成对使用 4)堆栈区字节再做数据缓冲区使用 5)必须对SP置初值中断响应全过程中断申请的准备中断申请的提出响应中断申请的条件CPU响应一个中断之后的操作中断嵌套在中断服务子程序执行完的操作中断实例——管脚输入单脉冲的实验图中的按键S每被压下一次,则单片机P1口上点亮的一个发光二极管VL将向下循环移一位。1111R1R0R6R7VL1VL0VL6VL7…P1.0P1.1P1.6P1.7……INT1+5VR9S8031STR_ADD EQU 4000HBRK_ADD EQU 4013H ;中断服务子程序入口 ORG STR_ADD AJMP MAIN ORG BRK_ADD AJMP BREAK ORG STR_ADD+#30H ;MAIN=4030HMAIN: MOV A,#01H SETB IT1 ;设置成沿触发方式 MOV IE,#10000100B ;开中断 MOV P1,#0 ;关灯ROTATE: NOP SJMP ROTATE ORG STR_ADD+#60H ;BREAK=4060HBREAK: MOV P1,A ;点亮一个灯 RL A ;循环左移一位 CLR IE1 ;清中断申请标志 RETI ;中断返回 END第二节
定时器/计数器及其应用与定时器/计数器有关的特殊功能寄存器计数器定时器/计数器方式寄存器TMODGATEC/TM1M0GATEC/TM1M0TMOD.7.6.5.4.3.2.1TMOD.0TMOD: T1方式字段 T0方式字段GATE(位TMOD.3)——门控位。与TCON.4都为高电平 时才能启动T0C/T(位TMOD.2)——定时或计数功能选择位。M1和M0(TMOD.1和TMOD.0)——工作方式选择位。TF1TR1TF0TR0IE1IT1IE0IT0TCON.7.6.5.4.3.2.1TCON.0TCON:定时器控制 外部中断控制定时器/计数器控制寄存器TCONTR0(
TCON.0)——T0的运行控制位。TF0(
TCON.0)——T0溢出兼中断申请标志位。TR1——
T1的运行控制位。TF1——
T1溢出兼中断申请标志位。
注:TMOD和TCON的复位值都是00H定时器/计数器的四种工作方式(一)方式0——13位定时器/计数器1。晶振电路机器周期C/T=0C/T=1TL0(5位)TH0(8位)TF0T0溢出标志位门控开关中断允许GATE位门控信号≥1&TR0位门控信号门控电平S6S5外部计数脉冲P3.4/
T0P3.2/INT0门控脚定时器/计数器的四种工作方式(二)方式1——16位定时器/计数器方式2——可自动重装初值的 8位定时器/计数器方式3——两个8位定时器/计数器定时器/计数器应用实例·方式0应用
例1
已知单片机晶振频率为6MHz,要求使用T0定时器1ms,使单片机P1.0脚上连续输出周期为2ms的方波。 解: 1、计算并确定T0的初值; 2、写程序(如下)
ORG 0000H ;复位入口RESET: AJMP START ORG 000BH ;T0中断入口 AJMP T0INT ORG 0030HSTART: MOV SP,#60H ;初始化程序 MOV TH0,#0F0H ;T0赋初值 MOV TL0,#0CH SETB TR0 ;启动T0 SETB ET0 ;开中断 SETB EA ;开总中断MAIN: AJMP MAIN ;主程序T0INT: CPL P1.0 ;P1.0脚取反 MOV TL0,#0CH ;重装初值 MOV TH0,#0F0H RETI精度不高,原因: 1,中断服务子程序执行时间未计入T0定时 2,从中断申请到CPU响应该中断所经历的 时间未计入T0定时将中断服务子程序改为:T0INT: CLR EA ;关总中断 CLR TR1 ;停止T0计数 MOV A,#0F0H ;取高8位计算的初值 ADD A,TH0 ;加修正值 MOV TH0,A ;修正后送TH0 MOV A,#0CH ;取低5位计算的初值 ADD A,#0EH ;加14个机器周期 JNB ACC.5,MMM ;加修正值 JNC TH0 ;判低5位有进位否 ANL A,#0001111BMMM: MOV TL0,A ;修正后闭塞TL0 CPL P1.0 SETB TR1 ;启动T0 SETB EA RETI补偿方法,原理: 1,在中断服务子程序执行过程中关掉总中断 防止其它中断嵌套影响定时精度 2,用CLRTR0指令停止T0计数定时器/计数器应用实例·方式1应用
例2
试用单片机定时器/计数器T1的方式1完成对某生产线的传送带上不断传送的产品进行计数.+6V11+5V7V灯控S4010640106R3R2R1R5R4VTHL1红传送带光电开关HL2C5C48031P3.3/INT0P3.5/T1其它电路
ORG 0000H ;复位入口 AJMP START ;T1中断入口 ORG 001BH AJMP 0500H ORG 0100HSTART: MOV SP,#65H ;初始化程序 MOV TCON,#00H ;可省略 MOV TMOD,#0D0H MOV TH0,#00H ;可省略 MOV TL0,#00H ;可省略 MOV R0,#00H ;清中断次数计数单元 MOV P3,#28H ;设置P3.5第二功能 SETB TR1 ;启动T1 SETB ET1 ;开T1中断 SETB EA ;开总中断MAIN ACALL XSZ ;主程序,调显示子程序 ……………… ORG 0500HT1INT: INC R0 ;中断服务子程序 RETI ORG 0600HXSZ: ……………… ;显示子程序,略 RET方式2应用例3 设单片机8031使用的晶振频率为6MHz,编程使P1.7脚输出1kHz连续方波。
ORG 0
AJMP 0050H
ORG 000BH
AJMP 0250H
ORG 0050H
START: MOV SP,#60H
MOV TMOD,#2
MOV TH0,#6
MOV TL0,#6
MOV IP,#2
SETB TR0
MOV IE,#82H
MAIN: AJMP MAIN
ORG 0250H
T0INT: CPL P1.7
RETI例4 8031型单片机晶振为6MHz,设定8031和T1做为串行口波特率发生器,此时T1没有申请中断的功能。要求使用T0完成对某高频发射机同步头信号的宽度进行监测。
ORG 0
AJMP 0030H
ORG 001BH
AJMP 0700H
ORG 0030H
START: MOV SP,#60H
MOV IP,#8
MOV TMOD,#00101001B
MOV TL0,#0
MOV TH0,#0
MOV IE,#10001000B
MOV TCON,#01010000B
MAIN: AJMP MAIN
… …
ORG 0700H
T1INT: MOV TCON,#0
PUSH A
MOV A,TL0
CJNE A,#23H
JC AAA1
CLR PSW.5
AJMP AAA2
AAA1: SETB PSW.5
AAA2: MOV TL0,#
MOV TH0,#
MOV TCON,#01010000B
POP A
RETI第三节
并行接口应用举例P1口的简单应用例1
P1口作为八个键盘S1~S8的状态检测输入口,键盘码读入内部40H单元.ST_ADDR EQU 0000H ORG ST_ADDR LJMP S1 ORG ST_ADDR+100HS1: MOV P1,#0FFH ;P1口先置全1START: MOV A,P1 ;读入P1口 MOV 40H,A …… …… ;消抖程序,省略 SJMP START ;循环 ENDP1.0P1.1P1.6P1.78031+5VS1S2S7S8………例2
P1口各位线经反相器74LS04各接一个发光二极管VL.要求编写一个程序,每隔1S循环点亮一只发光二极管.
ORG 0000H LJMP START ORG 0030HSTART: MOV A,#01H ;先点亮第一个发光二极管LOOP: MOV P1,A ;输出到P1口 MOV R1,#10 ;延时1SDEL1: MOV R2,#200DEL2: MOV R3,#126 NOPDEL3: DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RL A ;左移一次 LJMP LOOP ;循环 END1VL61VL71VL01VL1P1.0P1.1P1.6P1.78031…+5V1VL51VL4P3.5P3.4P1.6P1.78031+5V+5VS6S774LS04例3 如图,用P1.6和P1.7脚上的两个开关S6、S7分别控 制P3.5和P3.4脚上的两个发光二极管VL4、VL5的亮 与灭。
ORG 0000H
AJMP 4100H
ORG 4100H
START: MOV P1,#0FFH
MOV C,P1.6
MOV P3.5,C
NOP
MOV C,P1.7
MOV P3.4,C
SJMP START
END例4 设A、B两条道路的交叉路口上有四组红黄绿交通灯。A道路的两组灯用8031型单片机脚P1.0~P1.2控制,B道路的两组灯用脚P1.3~P1.5控制。并加一紧急事件处理键S0。 P1.0P1.1P1.2P1.3P1.4P1.5INT08031+5V红黄绿红黄绿A道路6个灯B道路6个灯
ORG 0000H
RESET: AJMP START
ORG 0003H
AJMP 0200H
ORG 0030H
START: MOV SP,#50H
MOV TMOD,#1
MOV IP,#0
MOV IE,#81H
CLR 0F0H
AA0: MOV P1,#11001100B
MOV R0,#0A3H
MOV R1,#2
LCALL YSZ
SETB 0F0H
AA2: MOV P1,#11100001b
MOV R0,#0A3H
MOV R1,#2
LCALL YSZ
AA3: CLR 0F0H
MOV P1,#11010001B
MOV R0,#26H
MOV R1,#1
LCALL YSZ
AJMP AA0
ORG 0150H
YSZ: MOV TCON,#10H
MOV TH0,#0
MOV TL0,#0
AA4: CLR TF0
AA5: JNB TF0,AA5
DJNZ R0,AA4
DJNZ R1,AA4
RET ORG 0200H
INT0Z: PUSH 00H
PUSH 01H
JNB 0F0H,MM1
MOV 01,#11010001B
AJMP MM5MM1: MOV P1,#11001010B
MM5: MOV R0,#20
MOV R1,#1
LCALL YSZ
MOV R1,#11001001B
MM7: JR IE0,MM7
CLR EA
MOV R7,#7FH
MOV R6,#0
MM8: DJNZ R6,MM8
DJNZ R7,MM8
SETB EA
JNB 0F0H,MM9
MOV P1,#11100001B
SJMP MM10
MM9: MOV P1,#11001100B
MOV R0,A
MM10: POP 01H
POP 00H
RETI第四节
串行I/O接口及其应用串行通信的概念及数据格式异步方式同步方式D0D1D2D3D4D5D6D7标志位停止位空闲D6标志停停D0D0D6D7D8空闲起始位同步字符1同步字符2数据块(几个字节)校验符1校验符2起始结束与串行口有关的特殊功能寄存器串行口数据缓冲器SBUF
串行口为接收方式时,SBUF为数据接收缓冲器 串行口为发送方式时,则为数据发送缓冲器。串行口控制寄存器SCON电源控制寄存器PCON:PCON.7=SMODSM0SM1SM2RENTB8RB8TIRISCON.7.6.5.4.3.2.1SCON.0SCON:SM0,SM0——定义串行口四种工作方式SM2——多机通信时的接收允许标志位REN——串行接收允许位TB8——方式2、方式3中为发送的第九位数据,传送用户定义的信息RB8——方式2、方式3中为接收的第九位数据TI——发送一帧数据的结束标志位兼发送中断申请标志位RI——接收一帧数据的结束标志位兼接收中断申请标志位串行口的四种工作方式串行口方式0——移位寄存器方式 用外接移位寄存器芯片扩展并行I/O口方式D0D7…DATACLKSTBCD4094QS并行输出口P3.0/RXDP3.1/TXDP1.08031D0D7…DATACLKSTBCD4094QS并行输出口DATA…CLK并行输出口P3.0/RXDP3.1/TXD8031QAQH…CLK74LS164并行输出口DATA74LS164CLKSTBCLKQAQHABAB串行口方式0输出状态的两种电路图P8P1…CLKCD4014DS并行输入口P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版木材产业链:木屑深加工与销售合同
- 2024年度授权合同:关于二零二四年授权范围及权限的具体协议
- 2024年度广告代理合同代理范围界定
- 电安装合同范本
- 2024年度健身房管理与运营合同
- 2024版装饰材料供应与验收合同
- 2024年度短视频内容创作与分发合作协议
- 2024年度企业碳达峰与碳中和技术服务合同
- 2024年度砂石料采购合同价格调整合同
- 2024至2030年立方氮化硼双端面磨砂轮项目投资价值分析报告
- 宁夏回族自治区银川市2025届高三上学期第三次月考数学试卷含答案
- 2024-2030年中国家禽饲养行业发展前景预测和投融资分析报告
- 2024-2030年中国净菜加工行业市场营销模式及投资规模分析报告
- 2024-2025学年广东省佛山市九年级(上)期中数学试卷(含答案)
- 湖南省长沙市雅礼教育集团2024-2025学年高一上学期期中考试数学试题 含解析
- 中国视觉小说行业现状调查与竞争趋势分析研究报告(2024-2030版)
- 仓储物流中心物业安全管理
- 第二章 空气、物质的构成(选拔卷)(原卷版)
- 咨询师基础心理学课件
- 医疗器械注册专员培训
- 云南省昆明市昆十中教育集团2024-2025学年七年级上学期期中测试地理试卷(无答案)
评论
0/150
提交评论