问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

. 用定时器扩展外部中断源,完成流水灯方式的切换,流水模式自定义_百度问一问

发布网友 发布时间:2022-05-14 00:01

我来回答

1个回答

热心网友 时间:2023-11-09 20:27

摘要delay(80); P0=0x00;//消隐 }}void Int0Init();void Int1Init();void init() ;void main(){ static u8 k=0; Int0Init(); Int1Init(); init() ; while(1) { DigDisplay(); }}void init(){ P0=0;P2=0;time=0;tt=0;TMOD=0x11; TH0=(65536-50000)/256; //定时器装初值50msTL0=(65536-50000)%256;EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0;使TR0置位=1,定时器0开始计数;停止时,使TR0=0复位咨询记录 · 回答于2021-05-17. 用定时器扩展外部中断源,完成流水灯方式的切换,流水模式自定义你好,很高兴为你解答,正在为你查询相关资料 请稍等片刻稍等有程序吗有 我发给你 有点长"#include \"reg52.h\" //此文件中定义了单片机的一些特殊功能寄存器\\ \\typedef unsigned int u16; //对数据类型进行声明定义\\typedef unsigned char u8;\\ \\sbit LSA=P2^2;\\sbit LSB=P2^3;\\sbit LSC=P2^4;\\ \\sbit k3=P3^2;\\sbit k4=P3^3;\\ \\sbit led1=P2^0;\\sbit led2=P2^1;\\sbit led6=P2^5;\\sbit led7=P2^6;\\sbit led8=P2^7"int tt=0,time=0,flag=0,flag1=0,k=0;u8 codesmgan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //延时函数,i=1时,大约延时10usvoid delay(u16 i){while(i--);}void DigDisplay(){ u8i; for(i=0;i<8;i++) { switch(i) //位选,选择点亮的数码管, { case(0): LSA=0;LSB=0;LSC=0;P0=smgan[time%10];break;//显示第0位case(1): LSA=1;LSB=0;LSC=0;P0=smgan[time/10];break;//显示第1位 case(2): LSA=0;LSB=1;LSC=0;P0=smgan[time/100];break;//显示第2位 case(3): LSA=1;LSB=1;LSC=0;P0=smgan[0];break;//显示第3位 case(4): LSA=0;LSB=0;LSC=1;P0=smgan[0];break;//显示第4位 case(5): LSA=1;LSB=0;LSC=1;P0=smgan[1];break;//显示第5位 case(6): LSA=0;LSB=1;LSC=1;P0=smgan[6];break;//显示第6位 case(7): LSA=1;LSB=1;LSC=1;P0=smgan[1];break;//显示第7位delay(80); P0=0x00;//消隐 }}void Int0Init();void Int1Init();void init() ;void main(){ static u8 k=0; Int0Init(); Int1Init(); init() ; while(1) { DigDisplay(); }}void init(){ P0=0;P2=0;time=0;tt=0;TMOD=0x11; TH0=(65536-50000)/256; //定时器装初值50msTL0=(65536-50000)%256;EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0;使TR0置位=1,定时器0开始计数;停止时,使TR0=0复位void timer0() interrupt 1{ static int j=0;static u8 aa=0;TH0 =(65536-50000)/256;// 0x4c; //晶振11.0592Mhz TL0 = (65536-50000)%256;//0x00; //若用12Mhz晶振 则改为TH0=0x3c;TL0=0xb0;if(flag==1){ tt++;if(tt ==20){ time++; if(time==100) //到99后在从00开始 { time = 0; } tt = 0; }}if(flag==2){tt++;if(tt==40){ time=time+2; if(time==100) //到99后在从00开始 { time=0; } tt=0;k++; if(k<=20) { flag1=1; } if(k>=120&&k<=220) { flag1=2; } if(k>220) { k=0; } if(flag1==1) { aa++; if(aa==20) { switch(j) { case0: led1=0;led2=1;led6=1;led7=1;led8=1;break; case1: led1=1;led2=0;led6=1;led7=1;led8=1;break; case2: led1=1;led2=1;led6=0;led7=1;led8=1;break; case3: led1=1;led2=1;led6=1;led7=0;led8=1;break; case4: led1=1;led2=1;led6=1;led7=1;led8=0;break; case5: led1=1;led2=1;led6=1;led7=0;led8=1;break; case6: led1=1;led2=1;led6=0;led7=1;led8=1;break; case7: led1=1;led2=0;led6=1;led7=1;led8=1;break; case8: led1=0;led2=1;led6=1;led7=1;led8=1;j=-1;break; default:break; } j++; aa=0; } } if(flag1==2)void Int0Init(){ PX0=1; IT0=1; EX0=1; EA=1; } void Int0() interrupt0 //外部中断0的中断函数{ delay(1000); //延时消抖 if(k3==0) { flag=1; }} void Int1Init(){ PX1=1; IT1=1; EX1=1; EA=1; } void Int1() interrupt2 //外部中断0的中断函数{ delay(1000); //延时消抖 if(k4==0) { flag=2;有对应的图嘛对应的图我没有 抱歉好谢谢不客气
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
绿茶要猛冲吗,绿茶鲜嫩不需要(绿茶冲泡的正确方式) 绿茶为什么越好越不耐泡 绿茶要泡几泡?哪种绿茶最耐泡? 哪种绿茶最耐泡 职场故事:美女职员遇到暴躁老板 老板脾气坏得要命,我该怎么办 老板老爱发脾气,我们应该怎么做呀? 害怕老总发脾气怎么办 网络上用名字测和另一个人的关系准确吗 一个男生把自己的名字和另一个人的名字放在一起,中间放个"&amp;"符号... keil编程中,用P0^0=0;给P0.0赋值时提示&quot;=&quot;号附近有句法错误,而在main函数外部声明sbit L1=P0^0;再在函数 这个C程序要怎么注释? 开启外部中断的基本流程 C语言如何在头文件中申明变量 51单片机中的sbit变量会随着外部的电平高低而变化么 keil c51的所有头文件,其作用。 单片机Keil C51 C语言多文件如何使用全局位变量?跪拜!! dht11.h(10): error C141: syntax error near &#39;sbit&#39; 单片机C语言外部声明变量和定义的问题,求解答 C语言单片机 变量扩展作用域问题 像下面的定义如RX_DR 为什么不能在另一个C文件中用extern扩展作用域? Keil 中unresolved external symbol的问题,求解??? 单片机及C51的sbit变量,如何实现外部文件引用,用extern声明不行,什么原因,到底要怎样才能实现? 英语中的动名词具体怎么表示? 英语中的副词名词 动名词 等等 是什么意思啊 动名词的英语 - 信息提示 请问这个命盘怎么看呐?紫薇命盘看不懂哦.... 我的命盘如下,请高人指点。夫妻宫在(巳)巨门同宫是不是有二婚的可能。 社会工作者属于什么编制 做些什么工作 重庆轻轨3号线到双桥区重庆工程学院吗?麻烦规划一下最近的路线?_百度问一问 外部中断0 和外部中断1同时使用问题 急急急 外部中断0的使用。 影响肺活量的因素有哪些? 请问肺活量低是什? 我肺活量这么少,什么情况 我的肺活量不好,请问有什么办法解决这个难题? 肺活量特别的差,有哪些表现?是什么原因造成的?有什么影响么?怎样才能提高肺活量? 鱼香肉丝怎么做会比较好吃?用什么笋? 鱼香肉丝,都可以用什么代替竹笋? 搜索加好友,每天限制多少? 之前开过淘宝店后面把保证金退了,现在想做淘宝直播再开有流量嘛 我的淘宝店铺没有交保证金。最近怎么发现一点流量也没有了。 怎样能买到韩国正品化妆品? 如何注销手机号 可以注销吗?怎么注销? TCL5级空调一小时耗电多少 剧本杀订完了但再加一个人行吗? halo剧本杀如何添加已玩过 剧本杀dm能加微信吗 砥砺笃行的意思