




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
单片机程序知识点 按键扫描支持连续按一般思路 两个等于控制占空比 u8KEY_Scan(void) {timer0()interrupt1 if(KEY按下){ {t++;//每次定时器溢出加1 delay_ms(10);//延时10-20ms,防抖。if(t==250)//PWM周期100个单位 if(KEY确实按下)returnKEY_Value;{ return无效值;t=0;//使t=0,开始新的PWM周期 }P1=0x00;//输出端口 }} //按照当前占空比切换输出为高电平 按键扫描不支持连续按一般思路 if(PWM_T==t) u8KEY_Scan(void){ {P1=0xff; staticu8key_up=1;}} if(key_up&&KEY按下) 数码管动态显示 { delay_ms(10);//延时,防抖unsignedcharcode key_up=0;//标记这次key已经按DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 下0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x if(KEY确实按下)79,0x71};//显示段码值0~F {unsignedcharcode returnKEY_VALUE;WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xb }f,0x7f};/分别对应相应的数码管点亮,即位码 }elseif(KEY没有按下)key_up=1;while(1) return没有按下{ }DataPort=WeiMa[i];//取位码 LATCH2=1;//位锁存 串口通讯2 LATCH2=0; voidUART()interrupt4//取显示数据,段码 {DataPort=DuanMa[num+i]; if(RI)//检测是否接收完成LATCH1=1;//段锁存 {LATCH1=0; num=SBUF;//num取出接收缓存器的值//扫描间隙延时,时间太长会闪烁,太 P1=SBUF;短会造成重影 num++;Delay(200); RI=0;i++; SBUF=num;//检测8位扫描完全结束?如扫描完成则 while(!TI);从第一个开始再次扫描8位 TI=0;}}if(8==i)i=0; } 数码管动态显示 /*------------------------------------------------ 显示函数,用于动态扫描数码管 动态显示消隐方法 输入参数FirstBit表示需要显示的第 一位,如赋值2表示从第三个数码管开始if(num<1000)//如果小于1000则千位不显 显示,如输入0表示从第一个显示。示 Num表示需要显示的位数,如需要显TempData[0]=0; 示99两位数值则该值输入2elseTempData[0]=dofly_DuanMa[num/1000]; ------------------------------------------------*///分解显示信息,如要显示68,则68/10=6 /68%10=8 //存储显示值的数组//如果小于100则千位和百位都不显示 unsignedcharTempData[10];if(num<100)TempData[1]=0; //分解显示信息,如要显示68,else 则68/10=668%10=8TempData[1]=dofly_DuanMa[(num%1000)/1 TempData[0]=dofly_DuanMa[num/10];00]; TempData[1]=dofly_DuanMa[num%10];//如果小于10,则千位、百位和十位 voidDisplay(unsignedcharFirstBit,unsigned/都不显示 charNum)if(num<10)TempData[2]=0; {else unsignedchari;TempData[2]=dofly_DuanMa[((num%1000)%1 for(i=0;i<Num;i++)00)/10]; { 使用中断实现分频器的功能 DataPort=0;//清空数据,防止有交替重 影/*------------------------------------------------ LATCH1=1;//段锁存定时器中断子程序 LATCH1=0;------------------------------------------------*/ DataPort=WeiMa[i+FirstBit];//取位码voidTimer0_isr(void)interrupt1using1 LATCH2=1;//位锁

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx