ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:141.21KB ,
资源ID:12700005      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12700005.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(试验五外部中断试验急救车与交通灯一.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

试验五外部中断试验急救车与交通灯一.docx

1、试验五外部中断试验急救车与交通灯一实验五 外部中断实验(急救车与交通灯)一.实验要求在实验四内容的基础上增加允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。二.实验目的1.学习外部中断技术的基本使用方法。2.学习中断处理程序的编程方法。三.实验电路及连线PO0-PO3接DG1-DG4,PO4-P07接 DR1-DR4。CS273 接8300H。K8接P3.2。四.实验说明中断服务程序的关键是:1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2

2、.必须在中断程序中设定是否允许中断重入,即设置EX0位。本例中使用了INT0中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的INT0程序保护了PSW,ACC,2等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。实验开始时K8应在H(高电平)端,要产生中断时先拨向L(低电平)端再拨回H端。五.实验程序框图六.源程序ORG 0000HLJMP STARTORG 0003H ;INT 0 中断入口地址LJMP INT0ORG 0040HSTART:MOV SP,#60HSETB

3、EX0 ;INT 0 中断有效SETB IT0SETB EALCALL STATUS0 ;初始状态(都是红灯)CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯LCALL STATUS3 ;南北红灯,东西绿灯LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯LJMP CIRCLEINT0:PUSH PSW ;保护现场PUSH 2PUSH ACCMOV DPTR,#8300HMOV A,#0FH ;南北,东西都亮红灯MOVX DPTR,AMOV R2,#100 ;延时10秒LCALL DELAYPOP ACC ;恢复现场

4、MOVX DPTR,APOP 2POP PSWRETISTATUS0: ;南北红灯,东西红灯MOV DPTR,#8300HMOV A,#0FHMOVX DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYRETSTATUS1: ;南北绿灯,东西红灯MOV DPTR,#8300HMOV A,#5AH ;南北绿灯,东西红灯MOVX DPTR,AMOV R2,#50 ;延时5秒LCALL DELAYRETSTATUS2: ;南北绿灯闪转黄灯,东西红灯MOV DPTR,#8300HMOV R3,#03H ;绿灯闪3次FLASH: MOV A,#5FHMOVX DPTR,AMOV R2,#

5、03HLCALL DELAYMOV A,#5AHMOVX DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASHMOV A,#0AH ;南北黄灯,东西红灯MOVX DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYRETSTATUS3: ;南北红灯,东西绿灯MOV DPTR,#8300HMOV A,#0A5HMOVX DPTR,AMOV R2,#50 ;延时5秒LCALL DELAYRETSTATUS4: ;南北红灯,东西绿灯闪转黄灯MOV DPTR,#8300HMOV R3,#03H ;绿灯闪3次FLASH1: MOV A,#0AFHMOVX DP

6、TR,AMOV R2,#03HLCALL DELAYMOV A,#0A5HMOVX DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASH1MOV A,#05H ;南北红灯,东西黄灯MOVX DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYNOPRETDELAY: ;延时子程序PUSH 2PUSH 1PUSH 0DELAY1: MOV 1,#00HDELAY2: MOV 0,#0B2HDJNZ 0,$DJNZ 1,DELAY2 ;延时 100 mSDJNZ 2,DELAY1POP 0POP 1POP 2RETEND实验六 定时器实验一.实验要求由8

7、031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮.一直循环下去。二.实验目的1.学习8031内部计数器的使用和编程方法。2. 进一步掌握中断处理程序的编程方法。三.实验电路及连线P1.0-P1.7 接 L1-L8四.实验说明1.关于内部

8、计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验用的是定时器,有关计数器的说明请查阅实验七。2.内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是11.0592MHz,所以定时常数的设置可按以下方法计算:机器周期=1211.0592MHz1.0857S(65536-定时常数)*1.0857S=50mS定时常数4C00H3.定时器的有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式03,并确定用于定时还是用于计数。TCON主要功能是为定

9、时器在溢出时设定标志位,并控制定时器的运行或停止等。4.在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。五.实验程序框图 程序框图:六.实验程序ORG 0000HAJMP STARTORG 001BH ;T1中断入口地址AJMP INT_T1ORG 0100HSTART:MOV SP,#60HMOV TMOD,#10H ;置T1为方式1MOV TL1,#00H ;延时50mS的时间常数MOV TH1,#4BHMOV R0,#00HMOV R1,#20SETB TR1SETB ET1SETB EA ;开中断SJ

10、MP $INT_T1: ;T1中断服务子程序PUSH ACC ;保护现场PUSH PSWPUSH DPLPUSH DPHCLR TR1 ;关中断MOV TL1,#00H ;延时50mS常数MOV TH1,#4BHSETB TR1 ;开中断DJNZ R1,EXITMOV R1,#20 ;延时一秒的常数MOV DPTR,#DATA ;置常数表基址MOV A,R0 ;置常数表偏移量MOVC A,A+DPTR ;读常数表MOV P1,A ;送P1口显示INC R0ANL 00,#07HEXIT:POP DPH ;恢复现场POP DPLPOP PSWPOP ACCRETI;LED显示常数表DATA: D

11、B 0FAH,0F5H,0AFH,05FH,0AAH,55H,00H,0FFHEND实验七 计数器实验一.实验要求8031内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。使用8031的T1作定时器,50ms中断一次,看T0内每0.50ms来了多少脉冲,将其数值按二进制数在74LS273驱动LED灯上显示出来,5秒后再次测试。二.实验目的1.学习8031内部定时/计数器使用方法。2.进一步掌握中断处理编程方法。三.实验电路及连线P3.4接一计数脉冲( 25模块中的149.06K频率)。 PO0PO7接 L1L8。 CS273接8300H。四.实验说明1.本实验中内部计数

12、器起计数器的作用。外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。2.实验时P3.4对应的连线为149.06KHZ孔,0.5ms内来了80次(50H)脉冲。五.实验程序框图六.实验程序:ORG 0000HAJMP STARTORG 000BH ;T0中断入口地址RETIORG 001BH ;T1中断入口地址AJMP INT_T1ORG 0040HSTART:MOV SP,#60HMOV T

13、MOD,#1DH ;置T1为方式1 ;置T0为方式1,计数方式, ;门控选通位有效MOV TL0,#0H ;计数器清零MOV TH0,#0HMOV TL1,#32H ;延时0.50mS常数MOV TH1,#0FEHMOV R0,#20 ;延时 5 秒常数SETB TR0 ;启动T0SETB ET0SETB TR1 ;启动T1SETB ET1SETB EA ;开中断SJMP $INT_T1:PUSH ACCPUSH PSWCLR TR1MOV TL1,#32H ;延时0.50mS 常数MOV TH1,#0FEHMOV R1,TL0 ;保存计数值MOV R2,TH0MOV TL0,#00H ;清计

14、数器MOV TH0,#00HSETB TR1DJNZ R0,EXITMOV R0,#20 ;延时 5 秒常数MOV DPTR,#8300H ;LED地址MOV A,R1MOVX DPTR,A ;把计数值在LED上显示EXIT:POP PSWPOP ACCRETIEND实验八 8255输入、输出实验一.实验要求编写程序,使用8255可编程并行口芯片,来检测八位拨动开关的状态,并控制八位发光二极管。使得八位发光二极管的亮灭变化与八位拨动开关的状态相一致。实验中用8255PB口作输入,PC口做输出。二.实验目的了解8255芯片结构及编程方法。三.实验电路及连线8255的PB0PB7(PB口)接至八位

15、拨动开关K1K8。将PC0PC7(PC口)接至八位发光二极管L1 - L8。CS8255接8500H。四.实验说明可编程通用接口芯片8255A有三个八位的并行I/O口,请用户仔细阅读有关书籍掌握其特点和各种用法。由于8255的A1、A2脚分别接至地址线的A0、A1。所以相对应8255各口/寄存器的地址分配如下:PA口:8500H; PB口:8502H;PC口:8504H;控制寄存器地址:8506H。本示例程序中使用PB口作输入,检测八位拨动开关的状态;使用PC口作输出,控制八个发光二极管的亮灭。五.实验程序框图实验程序流程框图如下: 六.实验程序见: ;-D8255 EQU 8506H ;82

16、55 状态/命令口地址D8255A EQU 8500H ;8255 PA 口地址D8255B EQU 8502H ;8255 PB 口地址D8255C EQU 8504H ;8255 PC 口地址;-ORG 0000HLJMP STARTORG 0100HSTART:LCALL DELAY ;延时MOV DPTR,#D8255MOV A,#82H ;置8255状态;方式0,PA,PC口输出,PB口输入MOVX DPTR,AROTATE:MOV DPTR,#D8255BMOVX A,DPTR ;读开关状态MOV DPTR,#D8255CMOVX DPTR,A ;点亮对应的LEDSJMP ROTATEDELAY: MOV R0,#0H ;延时子程序DELAY1: MOV R1,#0HDJNZ R1,$DJNZ R0,DELAY1RETEND

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1