矿大徐海单片机实验考试用.ppt_第1页
矿大徐海单片机实验考试用.ppt_第2页
矿大徐海单片机实验考试用.ppt_第3页
矿大徐海单片机实验考试用.ppt_第4页
矿大徐海单片机实验考试用.ppt_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例4.P1.4P1.7接有四个发光二极管,P1.0P1.3接有四个开关,通过INT0负跳变向CPU申请中断,要求:初时发光二极管全黑,每中断一次,P1.0P1.3所接的开关状态反映到发光二极管上,且要求开关闭合的对应发光二极管灭:,ORG 0000H AJMP MAIN ORG 0003H ;INT0中断入口 AJMP INT ; 转中断服务程序 ORG 0030H ;主程序 MAIN: MOV P1,#0FH ;全灯灭,低四位输入 SETB IT0 ; 边沿触发中断 SETB EX0 ;允许外中断0中断 SETB EA ;开中断开关 SJMP $ ;动态停机,等待外部Int0中断的发生 IN

2、T: MOV A,P1 ;输入开关状态 SWAP A CPL A ORL A,#0FH ;低4位置1 MOV P1,A ;输出到P1高4位 RETI END,ORG 0000H LJMP MAIN ORG 0003H LJMP wzd_0 ORG 0030H MAIN: MOV A,#10H MOV P1,A SETB PX0 SETB IT0 SETB EX0 SETB EA SJMP $;动态停机,等待外部Int0中断的发生,wzd_0: RL A CJNE A,#01H,LOOP MOV A,#10H LOOP: MOV P1,A MOV R2,#05H ACALL DELAY SJMP

3、 wzd_0 RETI END,例5. 外部中断0申请中断后,从P1口高4位输出使LED管循环左移发光的数据(每次使一个LED点亮,循环左移。每位点亮1秒),例6.设计程序,要求在单片机实验箱显示器的右1位上首先显示一个数字“8”,然后每按动一次中断申请开关、申请一次中断后,使显示器上显示的数字“8”左向移动一位。,ZWM EQU 8002H ;字位码锁存器地址 ZXM EQU 8004H ;字形码锁存器地址 ORG 0000H LJMP START ORG 0003H LJMP INT0S,START:SETB PX0 SETB IT0 SETB EX0 SETB EA MOV A,#7FH

4、 MOV DPTR,#ZXM MOVX DPTR,A MOV A,#01H LOOP: MOV DPTR,#ZWM MOVX DPTR,A ;送出字位码 LJMP LOOP;不断输出字位码,INT0S:RL A RETI END,例7. 使外部0中断奇数次申请中断后,从P1口高4位输出使LED管循环左移发光的数据,偶数次申请中断后P1口高4位输出状态停止不变。,ORG 0000H LJMP MAIN ORG 0003H LJMP wzd_0,ORG 0030H MAIN: MOV P1,#00H MOV R3,#00H MOV R1,#10H SETB PX0 SETB IT0 SETB EX

5、0 SETB EA REP: MOV A,R3 JB ACC.0,LOOP;判断中断次数的奇偶性 SJMP REP LOOP:MOV A,R1 MOV P1,A RL A MOV R1,A CJNE R1,#01H,REP MOV R1,#10H SJMP REP;动态停机,等待外部Int0中断的发生,wzd_0:INC R3 ;中断次数累加 RETI,在实验箱显示器上显示左移的数字“8”,要求每过1秒“8”字左移一位,循环不断。,ZWM EQU 8002H ; 字位码输出口地址 ZXM EQU 8004H ; 字形码输出口地址 ORG 0000H LJMP MAIN ORG 000BH LJ

6、MP CT0S ORG 0030H MAIN: MOV TMOD,#01H MOV TH0,#3CH;确定定时时间常数 MOV TL0,#0B0H SETB ET0 SETB EA SETB TR0 MOV R7,#0AH;定时扩展倍数 MOV A,#7FH MOV DPTR,#ZXM MOVX DPTR,A MOV DPTR,#ZWM MOV A,#01H LOOP: MOVX DPTR,A SJMP LOOP,CT0S: MOV TH0,#3CH MOV TL0,#0B0H DJNZ R7,BYE MOV R7,#0AH RL A BYE :RETI END,要求每当T0计数满3之后(即输

7、入了3个外部脉冲之后),在中断服务程序中修改输出的字型码,使显示器上显示字符“8”左移一位。,ZWM EQU 8002H ; 字位码输出口地址 ZXM EQU 8004H ; 字形码输出口地址 ORG 0000H LJMP MAIN ORG 000BH LJMP CT0S ORG 0030H MAIN: MOV TMOD,#06H;8位自动重装方式,计数方式 MOV TH0,#0FDH;确定计数次数3 MOV TL0,#0FDH SETB ET0 SETB EA SETB TR0 MOV A,#7FH MOV DPTR,#ZXMADDR MOVX DPTR,A MOV DPTR,#ZWMADD

8、R MOV A,#01H LOOP: MOVX DPTR,A SJMP LOOP;不断输出字位码,CT0S: RL A RETI END,例7-4 在P1.7端接一个发光二极管LED,要求利用定时控制使LED亮一秒灭一秒周而复始,设fosc=6MHZ。,解:方法1:采用T0产生周期为200ms脉冲,即P1.0每100ms取反一次作为T1的计数脉冲,T1对下降沿计数,因此T1计5个脉冲正好1000ms。 T0采用方式1, X= 65536-50000 得X=3CB0H, T1采用方式2, 计数初值X =256-5=FBH,查询法,ORG 0000H MAIN:CLR P1.7 SETB P1.0

9、 MOV TMOD,#61H MOV TH1,#0FBH MOV TL1,#0FBH SETB TR1 LOOP1:CPL P1.7 LOOP2:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 LOOP3: JBC TF0,LOOP4 SJMP LOOP3 LOOP4:CPL P1.0 JBC TF1,LOOP1 SJMP LOOP2 END,方法2:T0每隔100ms中断一次,中断10次即实现了1秒的定时。,ORG 000BH ;T0中断服务程序入口 AJMP IP0 ORG 0030H ;主程序开始 MAIN:CLR P1.7 ;T0定时100ms MOV TMOD,#01H MOV TH0,#3CH MOV T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论