┊ 网站导航 ┊ 管理登陆 ┊ 免责声明 ┊ 问题反馈 ┊ 友链说明┊本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正! 不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作! ![]() ![]() ![]() ![]() ![]() ![]() 本站学习交流群:138..158(高级群1-满)、77930286(高级群2)、61804809(群3) Copyright© MCUSY All Rights Reserved 本站网警备案号: WZ36040002485 ICP备案证书号:粤ICP备09034963号 |
*/
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
__CONFIG (XT&WDTEN&CP) ;
#define LED RB1
#define K1 RB3
#define K2 RB2
#define KEY PORTB
#define keyi 0B1100
uchar LED_pc,h,l,LEDH,LEDL;
static bit HL_bit;
static volatile bit TM_RBit @ ((unsigned)&TMR0*8)+5;
void TMR0_interrupt(void);
void TMR0_interrupt()
{ if(TM_RBit)
{ TM_RBit=0;
if(HL_bit){if(h>0)h--; }
else {if(l>0)l--; }
}
else return ;
}
void main()
{ uchar i;
OPTION=0B00000000; // 预分频器分配给定时器0
TRISB=0B1101;
LEDH= h=0;
LEDL=l=255;
while(1){ CLRWDT();
TMR0_interrupt();
if(HL_bit){if(h>0)LED=1;else {l=LEDL;HL_bit=0;}}
else {if(l>0)LED=0;else {h=LEDH;HL_bit=1;}}
if((KEY&keyi)!=keyi)//按健扫描
{i--;
if((i==0) )
{
if(!K1&&LEDH<255){ LEDH++;LEDL--;}
if(!K2&&LEDL<255){ LEDH--;LEDL++;}
}
}
else i=0;//按健扫描计数器清0
}
}
网友在写这个功能的程序遇到的一些问题,所以写了这个小程序,而且在板子上运行通过。
┊ 网站导航 ┊ 管理登陆 ┊ 免责声明 ┊ 问题反馈 ┊ 友链说明┊本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正! 不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作! ![]() ![]() ![]() ![]() ![]() ![]() 本站学习交流群:138..158(高级群1-满)、77930286(高级群2)、61804809(群3) Copyright© MCUSY All Rights Reserved 本站网警备案号: WZ36040002485 ICP备案证书号:粤ICP备09034963号 |