如何用单片机数码管倒计时c语言弄数码管59分59秒倒计时显示和初始化0000

51单片机试题,写一个用单个数码管显示10秒倒计时的程序,急!!!!!_百度知道
51单片机试题,写一个用单个数码管显示10秒倒计时的程序,急!!!!!
我有更好的答案
h& #define uchar unsigned char#define uint unsigned intsbit
duan=P2^6; sbit
wei=P2^7;uchar disp=0,0x7f,0x6f;
wei=1;/设置定时初值 TF0 = 0;/等待中断}void time0(void)interrupt 1{ TL0 = 0x18;
disp++;uchar time=10;开启定时器0中断
EA=1; while(1);/设置定时器模式 TL0 = 0x18;
/设置定时初值 TH0 = 0xFC,0x77,0x7c;定时器0开始计时}void main(){
Timer0Init() ET0=1;
///1毫秒@12,0x39,0x5e;
//int miao=0;uchar code dispcode[]={0x3f,0x06;
/&#47,0x5b,0x4f;
duan=1.000MHz{ TMOD &= 0xF0;
&#47,0x66,0x6d#include &
wei=0;/设置定时器模式 TMOD |= 0x01,0x7d,0x07;/设置定时初值 TH0 = 0xFC;
/清除TF0标志 TR0 = 1;
//reg52;/段码表void Timer0Init(void)
//设置定时初值
if(disp&1=0)
P0=dispcode[time%10];
P0=dispcode[time/10];
P0=0xef,0x79,0x71};
采纳率:91%
来自团队:
这个重点是要知道如何驱动数码管,可以参考下郭天祥单片夹教程
为您推荐:
其他类似问题
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。单片机C语言程序设计:数码管显示4X4矩阵键盘按键号-文章-单片机-基础知识 - 畅学电子网
&&可用鼠标对图片进行拖动&
&单片机C语言程序设计:数码管显示4X4矩阵键盘按键号
*温馨提示:点击图片可以放大观看高清大图
简介:(单片机基础知识之单片机程序的完善)名称:数码管显示 4X4 矩阵
键盘按键号
说明:按下任意键时,数码
管都会显示其键的序号,扫描程
序首先判断按键发生在哪一列,
然后根据所发生的行附加不同的
值,从而得到按键的序号。
/*名称:数码管显示4X4矩阵
键盘按键号
说明:按下任意键时,数码
管都会显示其键的序号,扫描程
序首先判断按键发生在哪一列,
然后根据所发生的行附加不同的
值,从而得到按键的序号。
#include&reg51.h&
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};
sbitBEEP=P3^7;
//上次按键和当前按键的序号,该矩阵中序号范围0~15,16表示无按键
ucharPre_KeyNo=16,KeyNo=16;
voidDelayMS(uintx)
while(x--)for(i=0;i&120;i++);
//矩阵键盘扫描
voidKeys_Scan()
P1=0x0f;//高4位置0,放入4行
DelayMS(1);
Tmp=P1^0x0f;//按键后0f变成0000XXXX,X中一个为0,3个仍为1,通过异或把3个1变为0,唯
一的0变为1
switch(Tmp)//判断按键发生于0~3列的哪一列
case1:KeyNo=0;
case2:KeyNo=1;
case4:KeyNo=2;
case8:KeyNo=3;
default:KeyNo=16;//无键按下
P1=0xf0;//低4位置0,放入4列
DelayMS(1);
Tmp=P1&&4^0x0f;//按键后f0变成XXXX0000,X中有1个为0,三个仍为1;高4位转移到低4位并
异或得到改变的值
switch(Tmp)//对0~3行分别附加起始值0,4,8,12
case1:KeyNo+=0;
case2:KeyNo+=4;
case4:KeyNo+=8;
case8:KeyNo+=12;
voidBeep()
for(i=0;i&100;i++)
DelayMS(1);
BEEP=~BEEP;
voidmain()
if(P1!=0xf0)Keys_Scan();//获取键序号
if(Pre_KeyNo!=KeyNo)
P0=~DSY_CODE[KeyNo];
Pre_KeyNo=KeyNo;
DelayMS(100);
金币:8891个|学分:114394个
关注我们:
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!
已有畅学电子网帐号?
可从合作网站帐号登录:山寨T12焊台温控器,单片机、数码管显示、按键调温|创意DIY - 数码之家
查看完整版本: [--
&Pages: ( 3 total )
赞助商链接
偶然弄了两根T12的烙铁芯。学习了它的相关知识自己瞎捣鼓了一下,利用一个杂牌936焊台的主机壳子用3d打印机打了一个面板。 这个山寨版的控制器大致功能如下:1.按键调节温度高低并用数码管显示出来,按键短按依次加减,按键长按快速加减。2.本次开机后默认上次关机前的调节温度。(正在弄还没有实现)3.带有休眠功能,烙铁放在烙铁架上一段时间后自动降温到一设定值,达到休眠目的。从烙铁架上拿起来后恢复到原来设定的温度。4.慢慢再补充。先从电路做起[attachment=6699990]
制作过程[attachment=6699998]
[attachment=6699999]
[attachment=6700000]
电路基本搞定,再来面板。CAD初学,简单弄的面板[attachment=6700038]
[attachment=6700037]
简易3D打印机[attachment=6700028]
[attachment=6700029]
按键,用红色材料[attachment=6700036]
[attachment=6700030]
[attachment=6700031]
打好,去掉毛边和支撑物[attachment=6700032]
[attachment=6700033]
还挺匹配的[attachment=6700034]
临时装上去,看看效果[attachment=6700035]
48楼已经更新电路图和C代码
赞助商链接
数码管看着不犀利有办法,找了一条深颜色的汽车贴膜贴上去[attachment=6700060]果然帅多了[attachment=6700059]装好[attachment=6700057]开烧。。。。[attachment=6700055]
赞助商链接
48楼已经更新电路图和开源C代码
有设备的男人才是好男人!
不错的DIY作品,按钮式的调温总觉得不便,还有这个USB口,在70W多的时候,怕是不可靠吧
楼主,咱交个朋友。
有技术的男人才是好男人!
由两根烙铁芯引发的大作。字数字数字数字数
:不错的DIY作品,按钮式的调温总觉得不便,还有这个USB口,在70W多的时候,怕是不可靠吧 ( 15:32) 里面线并联,2A多电流问题不大。
面板贴个碳纤维的膜帅一点……
明天补分,做得很强大。建议增加一个温度补偿用功能。
土豪,3D打印机多少钱买的?
能分享源码吗
u盘插上就呵呵了!换个口吧亲!
楼主,程序呢?
一看到3D打印就赶脚好高大上啊,怎么实物看起来有落差捏。。。。
usb接口手柄有创意
優秀文章。能分享源码吗
:土豪,3D打印机多少钱买的? ( 16:19) 简易款的,两千左右。
:優秀文章。能分享源码吗 ( 17:46) 等过几天调差不多了就发上来。
:简易款的,两千左右。&( 19:44)&能不能给个链接?谢谢!!
内容有了3D打印机,遇到机会总是想显露一下
楼主这是来秀机器的,3D打印机是买的成品,还是D的呢?
:能不能给个链接?谢谢!! ( 19:52) 买了有段时间了,链接已经失效。网上随便找找吧这个价位基本都这样。不过还是建议买那种四千以上的成品机,这种简易的实在不靠谱。
:楼主这是来秀机器的,3D打印机是买的成品,还是D的呢? ( 20:23) 好吧,我把标题改改吧。
漂亮,3D打印就是好啊
USB头么?怎么不用航空插?
能分立元件制作的就是高手,还能3D打印的就是超级高手了。
纯数字补丁
有设备真是好啊~
那个USB口。。。要是插个手机上去。。。
个人觉得,你把3D喷头温度打高点,然后,底板换成玻璃,你再做一个面板看看是不是有惊喜。省略了一些好字。。。
:个人觉得,你把3D喷头温度打高点,然后,底板换成玻璃,你再做一个面板看看是不是有惊喜。省略了一些好字。。。 ( 02:50) 不可以,除非面板外面再加一层薄薄的附加层打好再手工挖去,否则怎么打都会不整齐。因为只要打印界面这一层有洞或者凸起打印头就不会一直走直线,它会按软件设定好的路线分区域打印。
:买了有段时间了,链接已经失效。网上随便找找吧这个价位基本都这样。不过还是建议买那种四千以上的成品机,这种简易的实在不靠谱。&( 20:24)&谢谢
加分鼓励 字数
優秀文章,期待程序!!!!
哪天朋友去你家还以为能充电,结果悲剧了!为了电流保险,还是换其他接插件的好
:哪天朋友去你家还以为能充电,结果悲剧了!为了电流保险,还是换其他接插件的好 ( 08:33) 不会出问题的,检测不是插的烙铁不加电。
好东西,3D打印就是好!
usb接电烙铁?电流不行吧
有3d打印机的都是土豪技术帝,求回粉O(∩_∩)O
哈哈😄只看见了3d打印机
:usb接电烙铁?电流不行吧 ( 09:15) 木问题,里面并联的,2A电流可以的
3D打印不错哦
3D打印好漂亮呃、、、
楼主牛啊,多多发帖吧!
:楼主牛啊,多多发帖吧! ( 14:21) 陆续会有的,还有几十个和生活工作息息相关的制作慢慢发
土豪技术大牛
超过编辑时限1楼不能编辑了,只好把更新回帖到这里了。电路稍微做了调整,LM358放大倍数调整为200多倍。制作时为了方便用ULN2003代替了5个NPN三极管。[attachment=6790236] [attachment=6790253] C程序如下。头文件、源程序、电路图上面附件中也有,初学阶段仅供参考。待机状态温度显示基本稳定上下浮动1、2度,使用状态遇到大焊点会偏差几度,这个以后慢慢学习改进。
#include &STC15F204EA.h&#include &intrins.h&#define uchar unsigned char#define uint unsigned int sbit baiwei=P3^7;sbit shiwei=P3^6;sbit gewei=P3^5;sbit danwei=P3^4;sbit dian=P2^3;sbit out=P3^3;sbit up=P3^2;sbit down=P3^1;sbit xiumian=P1^0; uchar code led[]={0xd7,0x42,0xe5,0xe6,0x72,0xb6,0xb7,0xc2,0xf7,0xf6}; //定义数码管0-9数组uint ADC_result6,shan_sz,shan_dw,wendu,sheding,aa,tt01,tt_xm1,tt_xm2,tt_aj,js_uchar sheding_bz,jiare_bz,bz1,bz2,qieh_w,tt00,jiareshu,bz_xs,tt1,ab1,ab2,fen,&&&&&&&& //定义变量 void delay(uint z)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//延时{&&&&&&&&uint x,y;&&&&&&&&for(x=z;x&0;x--)&&&&&&&&&&&&&&&&for(y=100;y&0;y--);} /*********AD转换,得出热电偶被放大后的电压值**********/uint get_ad_result(uchar channel)&&&&&&&&&&&&&& {&&&&&&&&uchar ad_finished=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//存储A/D转换标志&&&&&&&&ADC_RES=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//高8位清零&&&&&&&&ADC_RESL=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//低2位清零&&&&&&&&channel&=0x07;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 清零高5位&&&&&&&&ADC_CONTR=0x60;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//转换速率为70个时钟周期转换1次&&&&&&&&_nop_();&&&&&&&&ADC_CONTR|=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//选择A/D当前通道&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&_nop_();&&&&&&&&ADC_CONTR|=0x80;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//启动A/D电源&&&&&&&&delay(1);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//延时一下使输入电压达到稳定&&&&&&&&ADC_CONTR|=0x08;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 令 ADCS = 1, 启动A/D转换,&&&&ad_finished=0;&&&&while(ad_finished==0)&&&&&&&&&&&&&&&&&&&&&&&&//等待A/D转换结束&&&&{&&&&&&&&ad_finished=(ADC_CONTR&0x10);&&&&&&&& // 测试A/D转换结束否&&&&}&&&&ADC_CONTR&=0xE7;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 清 ADC_FLAG 位, 关闭A/D转换,&&&&&&&&return(ADC_RES*256+ADC_RESL);&&&&&&&&&&&&&&&&//返回 A/D 高8位+低2位转换结果}
/*********初始化*********/void init(){&&&&&&&&TMOD=0x11;&&&&&&&&&&&&&&&&&&&&&&&&&& //设定定时器工作方式&&&&&&&&EA=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //开总中断&&&&&&&&ET0=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //开定时器0&&&&&&&&TR0=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //启动定时器0&&&&&&&&TH0=()/256;&&&&&&&& //高8位装初值&&&&&&&& 1ms&&&&&&&&TL0=()%256;&&&&&&&& //低8位装初值 &&&&&&&&ET1=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //开定时器1&&&&&&&&TR1=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //启动定时器1&&&&&&&&TH1=()/256;&&&&&&&& //高8位装初值&&&&&&&& 2ms&&&&&&&&TL1=()%256;&&&&&&&& //低8位装初值} /********EEPROM读写程序*******/void OPEN_IAP()&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//开启ISP/IAP{&&&&&&&&EA=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//关闭总中断避免中断影响&&&&&&&&IAP_CONTR=0x82;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//允许ISP/IAP,系统时钟&20Mhz时,设置等待时间} void CLOSE_IAP()&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//关闭ISP/IAP{&&&&&&&&IAP_CONTR=0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//禁止ISP/IAP&&&&&&&&IAP_ADDRH=0xFF;&&&&&&&&IAP_ADDRL=0xFF;&&&&&&&&EA=1;} uint READ_IAP_BYTE(uchar addr)&&&&&&&&&&&&&&&&//从EEPROM指定单元中读数据{&&&&&&&&IAP_CMD=0x01;&&&&&&&&IAP_ADDRH=(addr&0xFF00)&&8;&&&&&&&&IAP_ADDRL=addr&0x00FF;&&&&&&&&IAP_TRIG=0x5A;&&&&&&&&IAP_TRIG=0xA5;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//对IAP_TRIG先写0x5A再写0xA5,命令才会生效&&&&&&&&return IAP_DATA;} void ERASE_IAP_SECTOR(int addr)&&&&&&&&&&&&&&&&//写数据前要先擦除扇区{&&&&&&&&IAP_CMD=0x03;&&&&&&&&IAP_ADDRH=(addr&0xFF00)&&8;&&&&&&&&IAP_ADDRL=addr&0x00FF;&&&&&&&&IAP_TRIG=0x5A;&&&&&&&&IAP_TRIG=0xA5;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//对IAP_TRIG先写0x5A再写0xA5,命令才会生效} void WRITE_IAP_BYTE(int addr,uchar writeval)&&&&&&&&&&&&&&&&//把一个字节写入指定单元{&&&&&&&&IAP_CMD=0x02;&&&&&&&&IAP_ADDRH=(addr&0xFF00)&&8;&&&&&&&&IAP_ADDRL=addr&0x00FF;&&&&&&&&IAP_DATA=&&&&&&&&IAP_TRIG=0x5A;&&&&&&&&IAP_TRIG=0xA5;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //对IAP_TRIG先写0x5A再写0xA5,命令才会生效} /*********主程序********/void main(){&&&&&&&&init(); &&&&&&&&P1ASF=0x40;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 将P1.6置为模拟口&&&&&&&&AUXR1|=0x04;&&&&&&&&&&&&&&&&&&&&&&&&// 令ADRJ=1,10位A/D转换结果的最高2位放在ADC_RES寄存器,低8位放在ADC_RESL&&&&&&&&ADC_CONTR|=0x80;&&&&&&&&&&&&&&&&//打开A/D转换电源启动A/D转换 &&&&&&&&P3M0=0xf8;&&&&&&&&&&&&&&&&&&&&&&&&&&// 设定P3.3/4/5/6/7口为强推挽输出模式&&&&&&&&P2M0=0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 设定P2口为强推挽输出模式 &&&&&&&&jiare_bz=1;&&&&&&&&out=0;&&&&&& &&&&&&&&sheding_bz=0; &&&&&&&&delay(500);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//初始化后适当延时后再读写EEPROM,保证有效性&&&&&&&&OPEN_IAP();&&&&&&&&ab1=READ_IAP_BYTE(0x0001);&&&&&&&&&&&&&&&&&& //读出保存的百位&&&&&&&&ab2=READ_IAP_BYTE(0x0002);&&&&&&&&&&&&&&&&//读出保存的十位、个位&&&&&&&&CLOSE_IAP(); &&&&&&&&sheding=ab1*100+ab2;&&&&&&&&&&&&&&&&&&&&&&&& //算出上次的设定值,高两位*100+低两位&&&&&&&&if(sheding&2000)&&&&&&&&&&&&&&&&sheding=2000;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//如果设定值过低默认成2000 &&&&&&&&while(1)&&&&&&&&{&&&&&&&&&&&&&&&&if(sheding_bz)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//写入EEPROM,每次更改设定值后写入一次&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&out=0;&&&&&&&&&&&&&&&&&&&&&&&&OPEN_IAP();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //开启&&&&&&&&&&&&&&&&&&&&&&&&ERASE_IAP_SECTOR(0x0001);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//擦除扇区&&&&&&&&&&&&&&&&&&&&&&&&WRITE_IAP_BYTE(0x0001,sheding/100);&&&&&&&&&&&&&&&&//设定值的百位写入0001地址&&&&&&&&&&&&&&&&&&&&&&&&WRITE_IAP_BYTE(0x0002,sheding%100);&&&&&&&&&&&&&&&&//设定值的十位、个位写入0002地址&&&&&&&&&&&&&&&&&&&&&&&&CLOSE_IAP();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//关闭&&&&&&&&&&&&&&&&&&&&&&&&sheding_bz=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//标志置0,使得写EEPROM操作运行一次即可&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&jiare_bz=1;&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&}&&&&&&&&&&&&&& &&&&&&&&}&&&&&&&&&& } void timer0() interrupt 1&&&&&&&&&&&&&&&&&&&&&&&&&&//定时器0中断程序&&1ms{&&&&TH0=0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//()/256&&&&&&&&TL0=0x18;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//()%256 /**************按键检测、测温、加热程序***************/&&&&&&&&&& if((up&down)==0)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&{&&&&&&&&&&&&&&&&bz_xs=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//显示切换标志置1&&&&&&&&&&&&&&&&tt01=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //计时变量tt01置0&&&&&&&&&&&&&&&&bz2=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //标志2置1&&&&&&&&&&&&&&&&jiare_bz=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//加热标志置0&&&&&&&&&&&&&&&&miao=0;&&&&&&&&&&&&&&&&fen=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//按键按下清除休眠计时&&&&&&&&&&&&&&&&shan_dw=0;&&&&&&&&&&&&&&&&shan_sz=0; &&&&&&&&&&&&&&&&if(tt_aj&1000)&&&&&&&&&&&&&&&&&&&&&&&&tt_aj++; &&&&&&&&&&&&&&&&if(tt_aj&500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//超过500ms说明是长按,1ms一次快速加减&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&if(up==0)&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(sheding&4500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&sheding++;&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&if(down==0)&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(sheding&200)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&sheding--;&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&if(bz1==0)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //根据标志位情况短按自加减一次&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(up==0)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(sheding&4500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&sheding+=10;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(down==0)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(sheding&200)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&sheding-=10;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&bz1=1;&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&& &&&&&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //按键抬起 ,测温、加热步骤&&&&&&&&{&&&&&&&&&&&&&&&&tt_aj=0;&&&&&&&&&&&&&&&&bz1=0; &&&&&&&&&&&&&&&&if(tt01&2000)&&&&&&&&&&&&&&&&&&&&&&&&tt01++;&&&&&&&&&&&&&&&&if(tt01&1500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//按键弹起1.5秒后显示标志置0显示实际温度&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&if(bz2)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //标志2为1,设定标志置1,让新数值写入EEPROM&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&sheding_bz=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&bz2=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//同时标志2置0,目的是让只写入一次即可&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&bz_xs=0;&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&} &&&&&&&&&&&&&&&&if(jiare_bz)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //加热标志为1时才启动加热动作&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&tt00++; &&&&&&&&&&&&&&&&&&&&&&&&if(jiareshu&tt00)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&out=1;&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&out=0; &&&&&&&&&&&&&&&&&&&&&&&&if(wendu&4500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//超温停止加热&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&out=0; &&&&&&&&&&&&&&&&&&&&&&&&if(tt00&=200)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//加热200ms之后断电测温&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(tt00&205)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//5ms时间断电检测&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&out=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(tt00&203)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//断电延时后采集热电偶温度数据&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&ADC_result6=get_ad_result(6);&&&&&&&&//A/D转换6通道 &&&&&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&wendu=ADC_result6*4.8;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&wendu=ADC_result6*8.0;&&&&&&&&&&&&&&&&//热电偶电压经过运放放大200多倍后采样显示,模拟大概温度 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if(fen&2)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //休眠计时不到设定值时加热温度为设定温度&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&aa=sheding+5;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else if(fen&5)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //2-5分钟内温度降低为250度&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(sheding&2500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&aa=2500;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else if(fen&10)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //5-10分钟内降低为200度&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(sheding&2000)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&aa=2000;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else if(fen&20)&&&&&&&&&&&&&&&&&&&&&&&&&&&&//10-20分钟内为150度&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(sheding&1500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&aa=1500;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //超过20分钟为0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&aa=0; &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(wendu&aa)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//烙铁温度高于设定温度&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(wendu-aa&=30)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jiareshu=wendu-&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jiareshu=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//温度低于设定温度&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(aa-wendu&400)&&&&&&&&&&&&&&&&&&&&&&&&//逐渐逼近式加热方式&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jiareshu=200;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else if(aa-wendu&300)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jiareshu=180;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else if(aa-wendu&200)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jiareshu=150;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else if(aa-wendu&100)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jiareshu=130;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jiareshu=aa-wendu+aa/100; &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //加热、断电测量温度后充值计数变量tt00&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&tt00=0;&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&out=0;&&&&&&&&}}
void timer1() interrupt 3&&&& //定时器1服务程序&&&&&&&&2ms{&&&&TH1=0xf8;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//()/256&&&&&&&&TL1=0x30;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//()%256 /***********显示程序************/ &&&&&&&&if(bz_xs)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //按键按下显示正在调整的数值&&&&&&&&&&&&&&&&wendu=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//显示设定时的数值 &&&&&&&&if(qieh_w&=3)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位切换标识变量,2ms轮流显示一位&&休眠时数字闪亮&&&&&&&&&&&&&&&&qieh_w=0;&&&&&&&&else&&&&&&&&&&&&&&&&qieh_w++;&&&&&&
&&&&&&&&switch(qieh_w)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&case 0:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&baiwei=0;//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=led[wendu%10];&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=0x9d;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 显示单位 ℃ 度&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(shan_dw&250)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//烙铁离开烙铁架时℃闪亮&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&danwei=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//显示单位&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&danwei=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&case 1:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //4位数实际显示3位,最右一位不显示。比如1234显示123&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&danwei=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(wendu&4500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=0x20;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//温度超过4500显示---℃&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=led[wendu%100/10];&&&&&&&&//显示个位&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(shan_sz&250)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //休眠时几位数字闪烁&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&gewei=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&gewei=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&case 2:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&gewei=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(wendu&4500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=0x20;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=led[wendu%];&&&&&&&&//显示十位&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(wendu&=100&shan_sz&250)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&shiwei=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&shiwei=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&case 3:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&shiwei=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(wendu&4500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=0x20;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&P2=led[wendu/1000];&&&&&&&&&&&&&&&&//显示百位&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(wendu&=1000&shan_sz&250)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&baiwei=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&baiwei=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&}&&&&&&
&&&&&&&&&& if(xiumian)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//休眠 ,高电平有效&&&&&&&&{&&&&&&&&&&&&&&&&&& tt_xm2=0;&&&&&&&&&&&&&&&&shan_dw=0;&&&&&&&&&&&&&&&&if(tt_xm1&2000)&&&&&&&&&&&&&&&&&&&&&&&&&& //休眠变量最大控制在2000避免加飞&&&&&&&&&&&&&&&&&&&&&&&&tt_xm1++;&&&&&&&&&&&&&&&&if(tt_xm1&500)&&&&&&&&&&&&&&&&&&&&&&&&//放在烙铁架上超过1秒开始进入休眠计时&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&if(fen&1)&&&&&&&&&&&&&&&&&&&&&&&&//2分钟后数字开始闪烁&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(shan_sz&500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&shan_sz++;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&shan_sz=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&} &&&&&&&&&&&&&&&&&&&&&&&&js_xm++;&&&&&&&&&&&&&&&&&&&&&&&&if(js_xm&=500)&&&&&&&&&&&&&&&& //1秒时间到,秒自加、分钟自加&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&miao++;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(miao&=60)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(fen&100)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&fen++;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&miao=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&js_xm=0;&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&}
&&&&&&&&}&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //退出休眠进入正常状态时&&&&&&&&{&&&&&& &&&&&&&&&&&&&&&&tt_xm1=0; &&&&&&&&&&&&&&&&if(tt_xm2&2000)&&&&&&&&&&&&&&&&&&&&&&&&tt_xm2++;&&&&&&&&&&&&&&&&if(tt_xm2&250)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&js_xm=0;&&&&&&&&&&&&&&&&&&&&&&&&//休眠计时、秒、分变量置0&&&&&&&&&&&&&&&&&&&&&&&&miao=0;&&&&&&&&&&&&&&&&&&&&&&&&fen=0;&&&&&&&&&&&&&&&&&&&&&&&&shan_sz=0;&&&&&&&&&&&&&&&&&&&&&&&&&& //数字不闪&&&&&&&&&&&&&&&&&&&&&&&&shan_dw++;&&&&&&&&&&&&&&&&&&&&&&&&&&//烙铁拿起来℃闪烁&&&&&&&&&&&&&&&&&&&&&&&&if(shan_dw&500)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&shan_dw=0;&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&}&&&&&&&&}}
查看完整版本: [--
Powered by
Time 0.108275 second(s),query:5 Gzip enabled}

我要回帖

更多关于 单片机数码管99倒计时 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信