实验三 单片机外部中断实验
实验3、外部中断的编程N
实验三、外部中断的编程一、实验目的1、掌握外部中断的基本编程方法。
2、掌握计数器的扩展编程。
二、实验内容设计单片机程序实现秒表功能;用一个开关对秒表进行启动和停止控制,用另一个开关对秒表进行清零。
用T0定时中断设计秒表计时,秒计数结果通过P1口及4094芯片送数码管显示(T0定时中断时间为10毫秒,秒表的显示间隔为1秒,用软件和硬件结合使用实现)。
用外部中断INT0(边沿触发方式)对秒计数结果进行清零,用P3.5对秒计数进行启动和停止控制。
1、在生成HEX文件后,用Proteus软件对电路图进行计算机仿真;2、程序下载到单片机实验板上验证;(实验板数码管的驱动程序见附件)。
三、实验原理电路原理图如下,所需元件为:A T89C52、7SEG-BCD、SW-SPST、BUTTONT0定时中断10毫秒,进行100次中断得到1秒的定时,秒计数结果送P1口进行LED显示,将外部中断设置成边沿触发方式。
四、实验预习1、学习外部中断的有关知识。
2、提前编写程序,写出预习报告。
五、实验报告1、总结出实验的详细步骤。
2、写出调试正确的程序及框图。
ORG 0000HAJMP MAINORG 0003HLJMP IN0ORG 0033HMAIN:MOV IE,#83HSETB IT0MOV TMOD,#01HMOV TH0,#0B7HMOV TL0,#0FFHMOV R0,#65HMOV R1,#0HLOOP:JB P3.5,STOPSETB TR0JB TF0,NEXTSJMP LOOPSTOP:CLR TR0SJMP LOOPNEXT:CLR TF0MOV TH0,#0B7H MOV TL0,#0FFHDJNZ R0,LOOP MOV R0,#65HINC R1MOV P1,R1AJMP LOOPIN0:MOV R1,#0MOV P1,R1RETIEND。
单片机原理外部中断实验
单片机原理实验报告实验题目外部中断实验一、实验目的1.掌握用外部中断方式实现控制的方法。
2.掌握中断优先级的使用方法。
3. 掌握用Proteus实现单片机系统仿真的方法。
二、实验预备知识外部中断信号由P3.2(P3.3)管脚输入,当中断触发方式控制位ITO(IT1)为1时,CPU 在每个机器周期的S5P2采样P3.2(P3.3)管脚,如果连续两次采样,前一次采样为高电平,后一次采样为低电平,则认为有中断申请,随即使中断标志位IE0(IE1)置1,向CPU申请中断,直到该中断被CPU响应。
当定时器以计数方式工作,计数初值为满量程,在计数输入端T0(T1)输入负跳变信号时,计数器将加1并产生溢出,随即使溢出标志位TF0(TF1)置1,向CPU申请中断,直到该中断被CPU响应。
三、实验内容P1口做输出口,接八只发光二极管,利用手控单脉冲信号作为外部中断信号,编写控制程序,使八只发光二极管按一定的规律循环点亮。
1.程序1: 从外部中断0请求输入端(P3.2)输入脉冲信号2.程序2: 从定时器0的外部输入端(P3.4)输入脉冲信号四、实验参考电路P1口接发光二极管的阴极,P1口的管脚输出低电平时对应的发光二极管点亮,实验电路图如图4-1所示。
图4-1 外部中断实验电路五、实验参考程序ORG 0003HAJMP INT00 ORG 0013H AJMP INT11 ORG 0050H MAIN:SETB EASETB EX0SETB EX1SETB PX1SETB IT0SETB IT1MOV A,#0FEH LP1:MOV P1,ALCALL DELAY RL ASJMP LP1ORG 0100H INT00:PUSH ACCMOV A,#0FCH MOV R1,#7 LP2:MOV P1,A LCALL DELAY RL ADJNZ R1,LP2 POP ACCRETIORG 0150H INT11:PUSH ACCMOV A,#3FH MOV R2,#7 LP3:MOV P1,ALCALL DELAY RR ADJNZ R2,LP3 POP ACCRETIORG 0200H DELAY:MOV R3,#20 L1:MOV R7,#200 L2:MOV R6,#123 NOPL3:DJNZ R6,L3 DJNZ R7,L2 DJNZ R3,L1 RETEND六、实验分析与总结。
【免费下载】单片机外部中断实验报告
P3.3 设为电平触发方式,连接外部 RS 触发器硬件去抖动的开关,编程使每次
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
实验三 单片机外部中断实验
实验三单片机外部中断实验一、实验目的1.理解单片机AT89C51的中断原理及其中断过程。
2.用proteus设计、仿真AT89C51单片机的外部中断。
外部中断是单片机AT89C51的重要功能,本实验用AT89C51单片机外部中断功能改变数码管的显示状态。
当无外部中断0时,主程序运行状态为七段数码管的a~g段依次点亮,不断循环;当有外部中断0(单片机P3.2脚上有下降沿电压)输入时,立即产生中断,转而执行中断服务程序,数码管显示状态为“8”亮灭闪烁显示,亮灭闪烁显示8次以后,返回主程序原断点处继续执行,数码管继续段点亮的循环显示。
③7SEG-COM-AN-GRN:绿色发光二极管;④CAP、CAP-ELEC:电容、电解电容;⑤CRYSTAL:晶振;⑥BUTTON:按钮。
2.放置元器件3.放置电源和地4.连线5.元器件属性设置6.电气检测四、源程序设计、生成目标代码文件1.流程图2.源程序设计通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC33.ASM。
通过菜单“sourc e→DZC34.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。
程序编辑好后,单击按钮存入文件DZC34.ASM。
3.源程序编译汇编、生成目标代码文件通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。
若编译失败,可对程序进行修改调试直至汇编成功。
五、PROTEUS仿真1.加载目标代码文件2.全速仿真单击按钮,启动仿真。
3.仿真调试(1)带断电仿真五、思考题:1、MCS-51单片机响应某一个中断请求的条件是什么?2、8051单片机提供几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何清除这些中断标志?各中断源所对应的中断入口地址是多少?。
实验3 外部中断实验
实验三外部中断实验一、实验目的1.掌握51单片机外部中断的应用。
2.掌握中断函数的写法。
3. 掌握中断优先级别的使用。
4. 掌握LED数码管的显示。
二、实验内容1.用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。
2.用外部中断改变流水灯的方式。
三、实验仿真硬件图在Proteus软件中建立如下图所示仿真模型并保存。
1. 用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来(用中断方式做计数器)。
2.用外部中断改变流水灯的方式。
中断前:开始时,P0.0~P0.7的8个灯依次点亮。
外部中断0:P0.0~P0.7的左右4个灯闪烁亮8次外部中断1: P0.0~P0.7的8个灯间隔闪烁8次改变中断优先级和保护现场,观察运行结果4、编程提示外部中断0请求,由P3.2管脚输入,通过IT0位来决定是低电平有效还是下降沿有效。
一旦输入信号有效,即向CPU申请中断,并建立IE0中断标志。
以外部中断0为例,开放中断源采用以下语句:EA=1; //开放中断总允许位EX0=1; //开放外部中断0允许位IT0=1; //置外部中断为边沿(下边沿)触发方式中断函数结构如下:void int_0() interrupt 0 // interrupt 0表示该函数为中断类型号0的中断函数{}同级自然优先级:外部中断0→定时器T0中断→外部中断1→定时器T1中断→串行口中断。
中断优先级别的设定:实验二要求:初始状态为P0.0~P0.7的8个LED显示灯依次循环点亮;外部中断0服务程序为8个LED灯,左4个,右4个闪烁8次,外部中断1服务程序8个LED 灯,间隔闪烁8次。
⑴ 设定外部中断0为高优先级,先执行外部1中断,过程中用外部0中断来将其中断,反之不行。
注意保护现场。
⑵设定外部中断1为高优先级,先执行外部0中断,过程中用外部1中断来将其中断,反之不行。
注意保护现场。
写出源程序,并注释实验报告格式实验三外部中断实验学院:专业:年级:实验时间:姓名:学号:指导教师:一、实验目的1.掌握51单片机外部中断的应用。
实验三STM32单片机外部中断程序开发
实验三STM32单片机外部中断程序开发
一.实验目的
1.掌握STM32单片机外部中断程序开发
2.掌握用寄存器开发STM32单片机程序
二.实验环境
1.TEB-CM5000嵌入式单片机实验系统
2.MDK4.12嵌入式软件开发环境
三.实验内容
1.熟悉TEB-CM5000嵌入式单片机实验系统上的LED灯电路和外
部中断接口。
运行相关的程序实现一个按钮控制LED灯亮灭。
其中,LD1(PF3)作为外接LED灯,具体电路如下:
按钮用连接引线通过连接独立按钮(如USER2)连接到PA3(TX2)引脚上,如下图。
编写程序,当按下USER2按钮时,LD1(PF3)灯会闪
烁。
完成代码、编译和下载代码到实验箱,观察结果。
2.改变连接线连接方式,把USER2按钮保持不变和PD7连接起来,如下图:
编写程序,当按下USER2按钮时,LD1(PF3)灯会闪烁。
四.实验要求
1.学习教材配套的参考代码。
2.分别完成按钮接口PA3和PD7通过外部中断实现对LED控制的
程序,完成代码并提交main.c程序(注意:要包括中断处理程序)。
同时对每行主要代码要进行注释,说明其功能。
五.实验提交要求
1.按照实验模板完成实验报告,其中包括实验要求的所有内容。
2.提交电子版报告,撰写程序流程图,并且提交程序主要代码。
3.最终提交形式:制作成压缩rar格式文件,文件命名:最终提
交形式:制作成压缩rar格式文件,文件命名:班级_组号_学号_姓名_实验一.rar。
单片机外部中断实验报告
单片机外部中断实验报告实验三外部中断实验报告班级:学号:姓名:教师:一、实验LI的1、掌握单片机外部中断的原理及过程。
2、掌握单片机外部中断程序的设计方法。
3、掌握单片机外部中断时中断方式的选择方法。
二、实验内容如下图所示,P3.2设为输入,P2设为输出位,连有8个发光二极管DPD8O每当发生外部中断时,发光二极管以向下流水灯的方式点亮。
分别选择边沿触发外部中断放是和电平触发外部中断方式两种。
三、编程提示1、P3 口是8位准双向口,具有双重功能:第一功能和P1 口一样,作为输入输出口,也有字节操作和位操作两种方式,每一位可分别定义为输入或输出;第二功能定义如下:P3. 0RXD串行输入口P3. 1TXD串行输出口P3. 2INTO外部中断0请求输入线P3. 3INT1外部中断1请求输入线P3.4TO定时器/计数器TO外部计数器脉冲输入线P3. 5T1定时器/计数器T1外部计数器脉冲输入线P3. 6WR外部数据存贮器写脉冲输出线P3. 7RD外部数据存贮器读脉冲输出线2、各中断服务程序入口地址:外部中断003H定时器/计数器T1溢出中断OBH外部中断113H定时器/计数器1BH串行口中断23H3、外部中断的产生条件中断允许寄存器IE:EAESET1EX1ET0EX0(1)外部中断源允许中断(中断0: EX0=l;中断1: EXl=l)o(2)CPU 开中断(EA二1)。
(3)外部中断方式CPU发出中断申请。
4、外部中断方式的选择控制TCOX:TF1TR1TF0TR0IE1IT1IE0IT0IT0是选择文字则外部中断0请求(INTO)边沿触发方式或电平触发方式的控制位。
前一方式IT0二1,后一方式IT0二0。
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。
前一方式IT1=1,后一方式ITl=0o当8031复位后,TCON被清0。
5、外部中断电路负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。
单片机实验三mcs-51单片机中断系统及外部中断int0实验
大连理工大学实验报告实验时间:2014 年7 月 1 日星期二时间:13 :10 ~ 15 :00实验室(房间号):综420 实验台号码:班级:姓名:指导教师签字:成绩:实验三MCS-51单片机中断系统及外部中断/INT0实验一、实验目的和要求学习、掌握单片机的中断原理。
正确理解中断矢量入口、中断返回的概念及物理过程。
学习编写软件“防抖程序”,了解软件防抖原理。
二、实验内容及步骤1.INT0、INT1同一优先级运行实验:保持上电复位时INT0、INT1默认为“低优先级”的状态,且将SW1、SW2全部事先置于“0”电平(同时申请中断)后,再启动运行程序,按照表1要求填写结果。
表1 :INT0、INT1同一优先级时运行记录外部中断信号状态PI口(LED状态)Int0 Int10 0 状态0;状态01 0 状态1;状态10 0 状态1;状态10 1 状态0;状态00 0 状态0;状态01 0 状态1;状态1结论一:保持上电复位时INT0、INT1默认为“低优先级”的状态时:(1)同级中断同时申请中断时,CPU按“自然优先级”响应,即INT0→T0→INT1→T1→ES。
(2)一个中断一旦得到响应(无论什么优先级),与它同级的中断则“不能”再中断它。
(3)每个中断都是下降沿或者低电平有效(由TCON设定)。
注:主程序:状态2,INT_0:状态0,INT_1:状态1。
2.将 INT1设定为高优先级(INT0保持为低优先级)的运行实验:在程序中使用指令将INT1设定为“高优先级”状态,按照表2内容填写结果。
表2:INT1为高优先级(int0保持为低优先级)时运行状态记录外部中断信号状态(请按顺序操作并填写)PI口(LED状态)Int0 Int11 1 状态2;状态21 0 状态1;状态10 0 状态1;状态10 1 状态0;状态01 1 状态2;状态20 1 状态0;状态00 0 状态1;状态10 1 状态0;状态0结论二:将 INT1设定为高优先级(INT0保持为低优先级)时:(1)低优先级的中断响应在执行时“可被”高优先级中断所中断。
实验3-外部中断实验报告
实验3-外部中断实验报告实验三 定时中断实验一、实验目的1. 掌握51单片机外部中断的应用。
2. 掌握中断函数的写法。
3. 掌握定时器的定时方法。
4. 掌握LED 数码管的显示。
二、实验内容1. 用外部中断0测量负跳变信号的累计数,同时在LED 数码管上显示出来。
2. 用外部中断改变流水灯的方式。
3. 用定时器T1的方式2控制两个LED 以不同周期闪烁。
使用定时器T1的方式2来控制P0.0、P0.1引脚的两个LED 分别以1s 和2s 的周期闪烁。
三、实验仿真硬件图在Proteus 软件中建立如下图所示仿真模型并保存。
1. 用外部中断0测量负跳变信号的累计数,同7124536812345678R2220XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C122pfC222pfC310ufX112MR110kD1R3220D2R4220D3R5220D4R6220D5R7220D6R8220D7R9220D8时在LED数码管上显示出来(用中断方式做计数器)。
2.用外部中断改变流水灯的方式。
中断前:开始时,P0.0~P0.7的8个灯依次点亮。
外部中断0:P0.0~P0.7的左右4个灯闪烁亮8次外部中断1:P0.0~P0.7的8个灯间隔闪烁8次改变中断优先级和保护现场,观察运行结果四、编程提示外部中断0请求______0INT,由P3.2管脚输入,通过IT0位来决定是低电平有效还是下降沿有效。
实验3外部中断实验报告
实验3外部中断实验报告以下是为大家整理的实验3外部中断实验报告的相关范文,本文关键词为实验,外部,中断,报告,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。
实验三定时中断实验一、实验目的1.掌握51单片机外部中断的应用。
2.掌握中断函数的写法。
3.掌握定时器的定时方法。
4.掌握LeD数码管的显示。
二、实验内容1.用外部中断0测量负跳变信号的累计数,同时在LeD数码管上显示出来。
2.用外部中断改变流水灯的方式。
3.用定时器T1的方式2控制两个LeD以不同周期闪烁。
使用定时器T1的方式2来控制p0.0、p0.1引脚的两个LeD分别以1s和2s 的周期闪烁。
三、实验仿真硬件图在proteus软件中建立如下图所示仿真模型并保存。
1.用外部中断0测量负跳变信号的累计数,同时在LeD数码管上显示出来(用中断方式做计数器)。
2.用外部中断改变流水灯的方式。
中断前:开始时,p0.0~p0.7的8个灯依次点亮。
外部中断0:p0.0~p0.7的左右4个灯闪烁亮8次外部中断1:p0.0~p0.7的8个灯间隔闪烁8次改变中断优先级和保护现场,观察运行结果四、编程提示12345678p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7AT89c51c122pfu1x112m18 xTAL219xTAL1p0.0/AD0p0.1/AD1p0.2/AD2p0.3/AD3p0.4/AD4p0.5/AD5p 0.6/AD6p0.7/AD7p2.0/A8p2.1/A9p2.2/A10p2.3/A11p2.4/A12p2.5/A13p2 .6/A14p2.7/A15p3.0/RxDp3.1/TxDp3.2/InT0p3.3/InT1p3.4/T0p3.5/T1p3. 6/wRp3.7/RD3938373635343332212223242526272810111213141516171234567812345678c222pfD1D2D3D4D5D6D7D8R110k9RsTc310uf2930 31psenALeeAR2220R3220R4220R5220R6220R7220R8220R9220外部中断0请求InT0,由p3.2管脚输入,通过IT0位来决定是低电平有效还是下降沿有效。
单片机实验指导3--外部中断实验
实验三外部中断练习
一、实验目的
1.应用MCS-51单片机汇编指令集完成程序设计;
2.完成外部中断应用实验;
3.熟悉单片机仿真试验箱
二、实验环境
1.实验地点:教7-514
2.实验设备:计算机,伟福仿真软件,单片机仿真试验箱。
三、实验步骤
1.熟练应用伟福仿真环境;
2.掌握对仿真软件的设置;
3.掌握建立工程、编写程序、仿真、读出结果等工作步骤;
4.熟悉单片机仿真试验箱;
5.连接电路,建立外部中断通道以及外设控制通道;
5.编写程序完成对外设的控制以及练习外部中断的使用。
四、实验要求
1.课前了解伟福仿真软件,完成外部中断控制下的交通灯实验程序;
2.上课时掌握仿真环境的使用;
3.记录硬件电路连线图;
4.记录实验程序;
5.书写实验报告。
五、题目要求及编程提示
利用两组红灯、绿灯模拟十字路口交通灯,某一时刻只有一组红灯、绿灯发光,另一种熄灭,利用延时程序完成3秒定时,时间到后LED状态反转。
设置一个按键,按下后立刻反转LED状态。
提示:将按键连至外部中断引脚,按下后进入子程序反转连接LED的I/O 引脚点评状态。
实验三51单片机的外中断设计与实现
实验三51单片机的外中断设计与实现在单片机系统的设计中,“中断”是指CPU执行正常程序时,系统中出现特殊请求,CPU 暂时中止当前的程序,转去处理紧急的,突发的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。
采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。
中断涉及的几个环节:中断源、中断申请、开放中断、保护现场、中断响应、恢复现场、中断返回。
一、实验目的掌握51单片机的外中断处理及应用。
二、实验内容1、系统如图3-1所示,P1.0~P1.3接有4个开关,P1.4~P1.7接有4个发光二极管,当消抖电路的开关来回拨动一次将产生一个下跳变信号,向CPU申请INT0中断。
要求:初时发光二极管全黑,每中断一次,P1.0~P1.3所接的开关状态反映到发光二极管上,且要求开关合上时对应发光二极管亮。
图3-1 中断应用电路2、设计一个跑马灯应用系统(每个LED亮灯时间为100ms),用外中断INT1实现LED单灯左移和单灯右移的切换。
3、通过外部中断控制八盏灯循环点亮。
分析:通过P1口扩展八盏灯,在INT1引脚(P3.3)接一个按钮开关到地,每按一下按钮就申请一次中断,点亮一盏灯,中断服务则是:依次点亮八盏灯中的一盏。
采用边沿触发。
硬件电路如图3-2所示。
图3-2 中断应用电路4、两个外中断实验。
要求:当主程序正常执行时,P2所连接的8个LED灯闪烁。
若INT0有中断请求,则进入INT0中断状态,此时P2所接地8个LED将变成单灯左移,而左移3圈(从最左到最右为1圈)后,恢复中断前的状态,程序将继续执行8灯闪烁功能。
若INT1有中断请求,则进入INT1中断状态,P2所接的8个LED灯将变成单灯右移,而右移3圈后恢复中断前的状态,程序将继续执行8灯闪烁功能。
另外,要求INT1的优先级高于INT0的优先级。
3实验三 单片机外部中断的使用
姓名:学号:日期:实验三单片机外部中断的使用一、实验名称:单片机外部中断的使用二、实验目的1.掌握在Keil环境下建立项目、添加、保存源文件文件、编译源程序的方法;2.掌握运行、步进、步越、运行到光标处等几种调试程序的方法;3.掌握在Proteus环境下建立文件原理图的方法;4.实现Proteus与Keil联调软件仿真。
三、使用仪器设备编号、部件及备件1.实验室电脑;2.单片机实验箱。
四、实验过程及数据、现象记录1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP 极性电容:CAP-ELEC 单片机:AT89C51晶体振荡器:CRYSTAL 电阻:RES 按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:ORG 0000HLJMP MAINORG 0003H ;外部中断0程序入口地址LJMP EXINT0ORG 0030HMAIN: MOV SP,#60H ;堆栈指针初始化SETB it0 ;设置外部中断0为边沿触发SETB ex0 ;开外部中断0SETB ea ;开CPU总中断MOV A,#01HLOOP: MOV P1,ARL ACALL DELAYSJMP LOOPDELAY: MOV R1,# 10 ;延时250ms子程序DL1: MOV R2,# 100DL2: MOV R3,# 125DJNZ R3,$DJNZ R2,DL2DJNZ R1,DL1;延时子程序返回EXINT0: PUSH retPUSH accCLR RS1SETB RS0MOV R0,# pswLP: MOV P1,#0FFHCALL DELAYMOV P1,#00HCALL DELAYDJNZ R0,LPPOP PSWPOP ACCreti ;中断返回END将以上程序补充完整,流水时间间隔,闪烁时间间隔为250ms。
【大学】单片机实验-单个外部中断实验(WORD档)
实验三——单个外部中断实验一、实验要求在单片机的外部中断引脚INT0接一个按键开关来产生外部中断请求,通过P1口连接的8个LED发光二极管的状态,来反映中断程序的作用。
中断未发生时,P1口连接的8个LED为闪烁状态,当按键开关按下,即外中断请求产生时,8个LED呈现流水灯操作。
按键开关松开,8个LED则为闪烁状态。
二、实验目的1.理解掌握外部中断源、中断请求、中断标志、中断入口等的概念。
2.掌握中断程序的设计办法。
三、实验内容1.选择实验所需元器件,按实验图连接电路。
2.用计算机编写代码,并汇编、调试。
4.将程序下载到单片机中,观察现象。
5.如果不符合预期要求则修改程序重新调试。
源代码ORG 0000hAJMP STAR1ORG 0003hAJMP INRT0ORG 000Fh STAR1 :MOV P1,#00HMOV R3,#200X4 :DJNZ R3,X4MOV p1,#0FFHMOV R3,#200X5 :DJNZ R3,X5JB P3.2,STAR1SETB EASETB EX0CLR IT0X6 :AJMP X6ORG 0100H INRT0 :MOV P1,#0FEHMOV A,P1 LOOP:Rl AMOV p1,AX1 :MOV R1,#255X2 :MOV R2,#255X3 :DJNZ R2,X3DJNZ R1,X2JNB P3.2,LOOPLJMP X7RETIX7 :MOV P1,#00HMOV R3,#200X8 :DJNZ R3,X8MOV p1,#0FFHMOV R3,#200X9 :DJNZ R3,X9JB P3.2,X7RETIEND通过本次实验基本了解了外部中断的工作原理,通过编写汇编程序实现了单个外部中断的功能,复习并更加掌握汇编语言,尤其是汇编语言中外部中断的编程。
第一次调试时,不按开关灯闪烁,按下开关呈流水灯,当再次按下开关灯灭。
检查了几遍虽感觉不对,但不知道到程序那错了,又把课本中有关中断的内容看了一遍,才发现自己编的程序第二次循环时成了死循环。
实验三单片机IO及外部中断实验
实验三单片机I/O及外部中断实验一、实验目的1。
学习P1、P3口作为基本I/O口的使用方法,掌握对发光二极管和继电器的程序控制方法;2。
学习在单片机系统中扩展简单I/O接口的方法,学习模拟交通灯控制的方法;3。
掌握外部中断技术的基本使用方法和中断处理程序的编程方法。
二.实验仪器:1.仿真教学实验机(5196ET) 一台2。
直流稳压电源(DF1731SB3A)一台3.PC机一台三、实验内容1、P1口做输出口实验(1)实验要求:P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
(2)电路及连线如下:(3)实验说明1.延时子程序的延时计算问题对于程序DELAY:MOVR0,#00HDELAY1:MOV R1,#0B3HDJNZR1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11。
0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷=100。
002mS(4)实验框图(见TP1A。
ASM主程序框图):(5)P1.0~P1.7接DL1.~DL8,运行程序TP1A,观察现象.TP1A程序:ORG0000HLJMPSTARTORG0040HSTART:MOV SP,#60HMOV A,#01HROTATE:MOV P1,A;点亮一个LEDRL A ;循环右移LCALL DELAY ;延时NOPSJMP ROTATEDELAY:;延时子程序(1秒)MOV R0,#0AHDELAY1:MOV R1,#00HDELAY2:MOVR2,#0B2HDJNZR2,$DJNZ R1,DELAY2DJNZ R0,DELAY1RETEND(6)修改程序TP1A,使指示灯左循环。
*(7)修改程序TP1A,使指示灯两两右循环.*(8)修改程序TP1A,使指示灯从两边向中间循环.*(9)修改程序TP1A,使指示灯右循环间隔时间为0.1秒。
单片机外部中断实验报告
仿真器、目标系统实验板、直流电源
五、实验步骤
1、边沿触发式外部中断0实验
(1)P3.2设为边沿触发方式,连接外部复位开关,编程使每次中断流水灯向下移位一次,中断程序中不延时去抖动,观察结果。
(2)P3.2设为边沿触发方式,连接外部复位开关,编程使每次中断流水灯向下移位一次,中断程序中采用延时去抖动,观察结果。
实验三外部中断
实验报告
班级:
学号:
姓名:
教师:
一、实验目的
1、掌握单片机外部中断的原理及过程。
2、掌握单片机外部中断程序的设计方法。
3、掌握单片机外部中断时中断方式的选择方法。
二、实验内容
如下图所示,P3.2设为输入,P2设为输出位,连有8个发光二极管D1~D8。每当发生外部中断时,发光二极管以向下流水灯的方式点亮。分别选择边沿触发外部中断放是和电平触发外部中断方式两种。
#include <STC12C5A60S2.h>
#define uchar unsigned char
uchar i=0;
uchar numi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(uchar k );
void main()
{
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。前一方式IT1=1,后一方式IT1=0。
当8031复位后,TCON被清0。
5、外部中断电路
负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。边沿触发的最大优点在于不会丢失中断。只要中断请求负跳变的宽度大于1个机器周期,单片机就能够采样到中断请求信号,单片机将采样到的信号琐存到中断请求标志寄存器中,硬件自动置IE0为1,即使单片机暂时不响应,这个标志也不会丢失,只有在外部中断响应之后,硬件才将IE0清除。
实验外部中断实验报告
实验三定时中断实验一、实验目得1、掌握51单片机外部中断得应用。
2、掌握中断函数得写法。
3、掌握定时器得定时方法。
4、掌握LED数码管得显示。
二、实验内容1、用外部中断0测量负跳变信号得累计数,同时在LED数码管上显示出来。
2、用外部中断改变流水灯得方式。
3、用定时器T1得方式2控制两个LED以不同周期闪烁。
使用定时器T1得方式2来控制P0、0、P0、1引脚得两个LED分别以1s与2s得周期闪烁。
三、实验仿真硬件图在Proteus软件中建立如下图所示仿真模型并保存。
}同级自然优先级:外部中断0→定时器T0中断→外部中断1→定时器T1中断→串行口中断。
中断优先级别得设定:实验二要求:初始状态为P0、0~P0、7得8个LED显示灯依次循环点亮;外部中断0服务程序为8个LED灯,左4个,右4个闪烁8次,外部中断1服务程序8个LED灯,间隔闪烁8次。
⑴设定外部中断0为高优先级,先执行外部1中断,过程中用外部0中断来将其中断,反之不行。
注意保护现场。
⑵设定外部中断1为高优先级,先执行外部0中断,过程中用外部1中断来将其中断,反之不行。
注意保护现场。
实验三(调试下列程序,在错误行后面注明错误及改正方法):#include <reg51、h>#define ucharunsigned char;sbit D0=P1^0;sbitD1=P1^1;uchar a,b;void main(){EA=1;ET1=1;TMOD=0x20;ﻩTL1=6;ﻩTR0=1;a=0;ﻩb=0;ﻩwhile(1);}void t1()interrupt 1{ﻩa++;ﻩb++;if(a=1000){D0=~D0ﻩa=0;}if(b=4000)ﻩ{ﻩD1=~D1;ﻩﻩb=0;}写出源程序,并注释实验报告格式实验三定时中断实验学院: 专业:年级: 实验时间: 姓名: 学号: 指导教师:一、实验目得1、掌握51单片机外部中断得应用。
单片机汇编实验三:外部中断实验
单片机汇编实验三:外部中断实验实验要求:由AT89S52 内部定时器0,按方式1 工作,即作为16 位定时器使用每0.05 秒T1 溢出中断一次。
P1 口的P1.0~P1.8 分别接8 个发光二极管。
要求编写程序模拟一时序控制装置。
开机后第一秒钟L1,L8 亮,第二秒钟L2,L7 亮,第三秒钟L3,L6 亮,第四秒L4,L5 亮,第五秒L3,L6 亮,第六秒L2,L7 亮,第七秒L1,L8 亮,第八秒L1,L3,L5,L7 亮,第九秒L2,L4,L6,L8 亮,第十秒全亮,第十一秒全灭。
然后再从头循环。
由键盘生成外部中断信号,当任意键按下时,为外部中断请求信号,此时L3,L4,L5,L6 亮,持续时间为5 秒。
//This is the third program of the homework;//Name: WQ DATE: 2013214//In thisprogramwe used Intterput;ORG 0000H //****无条件转移指令*******LJMP MAIN //LJMP 长转移指令65535(双字节)ORG 0003H //0003H 中断程序I0 入口地址LJMP WINTT0 //AJMP 绝对转移ORG 000BH //000BH 计时器程序T0 入口地址LJMP WT0 //SJMP 短转移-128127// ORG 001BH //001BH 计时器程序T1 入口地址JMP 变址转移JMP @A+DPTR// LJMP WT1 //另外只要程序段的空间能合理分配不冲突就能随便调用ORG 0050HMAIN:MOV DPTR,#TABLE MOV R1,#11 //R1 做一个计数器查表用CLR A //将A 清零,用来寻址MOV R2,A //另一个计数器用来加减MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#00H MOV R3,#20 //R3 做一个计数器SETB EA //开总中断SETB ET0 //允许计时器SETB TR0 //开启计时器0// SETB TR1 //开启计时器1 SETB IT0 //边沿触发方式SETB EX0 //允许外部中断0 MOV P0,#0FFHOK1: MOV C,P3.4 JNC KAISHI MOV C,P3.5 JNC KAISHI MOV C,P3.6 JNC KAISHI MOV C,P3.7 JNC KAISHI SJMP OK1KAISHI:CLRP3.2 SETB P3.2 SJMP OK1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三单片机外部中断实验
一、实验目的
1.理解单片机AT89C51的中断原理及其中断过程。
2.用proteus设计、仿真AT89C51单片机的外部中断。
外部中断是单片机AT89C51的重要功能,本实验用AT89C51单片机外部中断功能改变数码管的显示状态。
当无外部中断0时,主程序运行状态为七段数码管的a~g段依次点亮,不断循环;当有外部中断0(单片机P3.2脚上有下降沿电压)输入时,立即产生中断,转而执行中断服务程序,数码管显示状态为“8”亮灭闪烁显示,亮灭闪烁显示8次以后,返回主程序原断点处继续执行,数码管继续段点亮的循环显示。
③7SEG-COM-AN-GRN:绿色发光二极管;
④CAP、CAP-ELEC:电容、电解电容;
⑤CRYSTAL:晶振;
⑥BUTTON:按钮。
2.放置元器件
3.放置电源和地
4.连线
5.元器件属性设置
6.电气检测
四、源程序设计、生成目标代码文件
1.流程图
2.源程序设计
通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC33.ASM。
通过菜单“sourc e→DZC34.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。
程序编辑好后,单击按钮存入文件DZC34.ASM。
3.源程序编译汇编、生成目标代码文件
通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。
若编译失败,可对程序进行修改调试直至汇编成功。
五、PROTEUS仿真
1.加载目标代码文件
2.全速仿真
单击按钮,启动仿真。
3.仿真调试
(1)带断电仿真
五、思考题:
1、MCS-51单片机响应某一个中断请求的条件是什么?
2、8051单片机提供几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何清除这些中断标志?各中断源所对应的中断入口地址是多少?。