- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3 外部中断 程序框架
实验三 定时中断实验
一、实验、实验
三、实验程序框架
1. 用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来 用中断方式做计数器 。
//实验一: 用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。
#include
#define uchar unsigned char //0-9各数字的数码管段码数组
uchar counter 0;// 全局变量counter作为计数变量
void main ;// 开总中断 // 开外部中断1中断 // 下降沿触发外部中断0 //等待中断(中断服务程序入口) void int_0 interrupt 0 //每触发一次外部中断,计数变量加1 //如果计数变量加到10,则清0,重新计数 P1 led[counter]; 2.用外部中断改变流水灯的方式。(根据原理图,低电平灯亮)
中断前:开始时,P0.0~P0.7的8个灯依次点亮。
外部中断0:P0.0~P0.7的左右4个灯闪烁亮8次
外部中断1: P0.0~P0.7的8个灯间隔闪烁8次
改变中断优先级和保护现场,观察运行结果
实验二要求:
初始状态为P0.0~P0.7的8个LED显示灯依次循环点亮;外部中断0服务程序为8个LED灯,左4个,右4个闪烁8次,外部中断1服务程序8个LED灯,间隔闪烁8次。
以下两种方案:
⑴ 设定外部中断0为高优先级,先执行外部1中断,过程中用外部0中断来将其中断,反之不行。注意保护现场。
⑵ 设定外部中断1为高优先级,先执行外部0中断,过程中用外部1中断来将其中断,反之不行。注意保护现场。
//实验二: 用外部中断改变流水灯的方式
#include
#define uchar unsigned char
void delay uchar i ;
uchar lamp[] 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 ;//将P0口,P0.0~P0.7依次亮的值放在数组中,注意二极管连接方式,为共阳极接法,引脚为低电平,二极管才会亮。
void delay uchar i //延时函数 uchar j,k; for k 0;k i;k++ for j 0;j 255;j++ ; void main uchar a; EA 1; //开放总中断 EX0 1; //允许使用外中断0 IT0 1; //选择下降沿来触发外中断 EX1 1; //允许使用外中断1 IT1 1; //选择下降沿来触发外中断
/*IP 0x01;//中断优先级别设定,设定外部中断0为高优先级中断,能打断其他中断服务程序; // 实验效果为按K2进入外部1中断后,只要按K1便能打断1中断*/
IP 0x04;//中断优先级别设定,设定外部中断1为高优先级中断,能打断其他中断服务程序,//实验效果为按K1进入外部0中断后,只要按K2便能打断0中断 while 1 for a 0;a 8;a++ //开始时,P0.0~P0.7依次亮 P0 ~lamp[a];//将数组中对应P0.0~P0.7依次亮的值送P0口 delay 250 ; void int0 interrupt 0 //外中断0的中断编号为0 K1按钮按下时左右4个灯闪烁亮八次 uchar a,b; EA 0;//关中断 b P0;//保护现场 EA 1;//开中断 for a 0;a 8;a++ P0 0xf0; delay 250 ; P0 0x0f;
delay 250 ; EA 0;//关中断 P0 b;//恢复现场 EA 1;//开中断 void int1 interrupt 2 //外中断1的中断编号为2 K2按钮按下时8个灯间隔闪烁8次 依照上列interrupt0中断函数来编写本中断函数 3.使用定时器T1的方式2来控制P0.0、P0.1引脚的两个LED分别以1s和2s的周期闪烁。(调试下列程序,在错误行后面注明错误及改正方法):
#include
#define uchar unsigned char;
sbit D0 P1^0; //定义位名称(定义P0.0引脚位名称为D0) 有时会如下注释:将D0定义为P0.0引脚:
sbit D1 P1^1;
uchar a,b;
void main EA 1;
ET1 1;
TMOD 0x20;
TL1 6; TH 6;
TR1 1;
While TF1!
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;
您可能关注的文档
- 单片机实验六-中断系统实验.doc
- 南京南瑞RCS-915E型系列母线保护现场运行规程.doc
- 单片机汇编中断系统实验.doc
- 华侨大学信号与系统100道问答题题库.doc
- 单组份耐高温导热电子硅胶.doc
- 南排洪沟.doc
- 南昌八一大桥BIPV工程.doc
- 南村书堆2.doc
- 卫生院监理细则-给排水工程.doc
- 卫生院三基培训大纲记录.doc
- 实施指南(2025)《JB_T 12842-2016空调系统用辐射换热器》.pptx
- 实施指南(2025)《JB_T 12843 - 2016 离心式制冷剂压缩机解读》.pptx
- 实施指南(2025)《JB_T 12851-2016柴油机喷油泵 等压出油阀偶件》.pptx
- 实施指南(2025)《HJ 804-2016土壤 8种有效态元素的测定 二乙烯三胺五乙酸浸提-电感耦合等离子体发射光谱法》.pptx
- 实施指南(2025)《HJ600-2011水质梯恩梯、黑索今、地恩梯的测定气相色谱法》.pptx
- 实施指南(2025)《JB_T 6118 - 2016 沉降过滤离心机解析》.pptx
- 实施指南(2025)《HJ 811-2016水质 总硒的测定 3,3'-二氨基联苯胺分光光度法》.pptx
- 实施指南(2025)《HJ 814-2016水和土壤样品中钚的放射化学分析方法》.pptx
- 实施指南(2025)《HJ19-2011环境影响评价技术导则生态影响》.pptx
- 实施指南(2025)《HJ605-2011 土壤挥发性有机物检测标准解读》.pptx
文档评论(0)