c语言 gt 5u,毕业论文_基于51单片机的C语言程序设计实训100例5喜欢就下吧(全文完整版)...

《毕业论文:基于51单片机的C语言程序设计实训100例.doc》由会员分享,可免费在线阅读全文,更多与《毕业论文_基于51单片机的C语言程序设计实训100例(5)(喜欢就下吧)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、ror_(P,);Kelseif((Pamint延时voidDelayMS(uintx){uchari;while(x)for(i=;ilt;i++);}根据P口的按键移动LEDvoidMove_LED(){if((PamxK时,P口LED下移一位;按下K时,P口LED上移一位;按下K时,P口LED下移一位;*includeincludedefineucharunsignedchardefineuintunsigned;发送位码DelayMS();}}k=(k+)%;环形队列首支针k递增,Num下标范围~,故对取余}}KK控制LED移位*名称:KK控制LED移位说明:按下K时,P口LED上移一位;按下i=;ilt;i++){for(j=;jlt;j++){发送段码,采用环形取法,从第k个开始取第j个P=xff;P=DSY_CODE[Num[(k+j)%]];m=_crol_(m,);P=m){uchart;while(x)for(t=;tlt;t++);}主程序voidmain(){uchari,j,k=,m=x;while(){刷新若干次,保持一段时间的稳定显示for(,xa,xb,x,x,x,xf,x,x,xff};下面数组看作环形队列,显示从某个数开始的个数(表示黑屏)ucharNum[]={,,,,,,,,,,};延时voidDelayMS(uintx个字符构成的数字串*includeincludedefineucharunsignedchardefineuintunsignedint段码表ucharcodeDSY_CODE[]={xc,xfY_IDX[j];发送位码DelayMS();}}P=x;关闭所有数码管并延时DelayMS();}}只数码管滚动显示数字串电路如上图*名称:只数码管滚动显示数字串说明:数码管向左滚动显示个Y_IDX[j];发送位码DelayMS();}}P=x;关闭所有数码管并延时DelayMS();}}只数码管滚。

2、,Num下标范围~,故对取余}}KK控制LED移位*名称:KK控制LED移位说明:按下K时,P口LED上移一位;按下K时,P口LED下移一位;按下K时,P口LED上移一位;按下K时,P口LED下移一位;*includeincludedefineucharunsignedchardefineuintunsignedint延时voidDelayMS(uintx){uchari;while(x)for(i=;ilt;i++);}根据P口的按键移动LEDvoidMove_LED(){if((Pamx)==)P=_cror_(P,);Kelseif((Pamx)==)P=_crol_(P,);Kelseif((Pamx)==)P=_cror_(P,);Kelseif((Pamx)==)P=_crol_(P,);K}主程序voidmain(){ucharRecent_Key;最近按键P=xfe;P=xfe;P=xff;Recent_Key=xff;while(){if(Recent_Key!=P){Recent_Key=P;保存最近按键Move_LED();DelayMS();}}}KK按键状态显示*名称:KK按键状态显示说明:K、K按下时LED点亮,松开时熄灭,K、K按下并释放时LED点亮,再次按下并释放时熄灭;*includedefineucharunsignedchardefineuintunsignedintsbitLED=P^;sbitLED=P^;sbitLED=P^;sbitLED=P^;sbitK=P^;sbitK=P^;sbitK=P^;sbitK=P^;延时voidDelayMS(uintx){uchari;while(x)for(i=;ilt;i++);}主程序voidmain(){P=xff;P=xff;while(){LED=K;LED=K;if(K==){while(K==);LED=~LED;}if(K==){while(K==。

3、idefineucharunsignedchardefineuintunsignedintsbitRED_A=P^;东西向灯sbitYELLOW_A=P^;sbitGREEN_A=P^;sbitRED_B=P^;南北向灯sbitYELLOW_B=P^;sbitGREEN_B=P^;ucharFlash_Count=,Oeration_Tye=;闪烁次数,操作类型变量延时voidDelayMS(uintx){uchari;while(x)for(i=;iincludedefineucharunsignedchardefineuintunsignedintucharcodeDSY_CODE[]={xc,xf,xa,xb,x,x,x,xf,x,x,xff};延时voidDelayMS(uintx){uchart;while(x)for(t=;tincludedefineucharunsignedchardefineuintunsignedintucharcodeDSY_CODE[]={xc,xf,xa,xb,x,x,x,xf,x,x};延时voidDelayMS(uintx){uchart;while(x)for(t=;tlt;t++);}主程序voidmain(){uchari,wei=x;while(){for(i=;iincludedefineucharunsignedchardefineuintunsignedintucharcodeDSY_CODE[]={xc,xf,xa,xb,x,x,x,xf,x,x};延时voidDelayMS(uintx){uchart;while(x)for(t=;tlt;t++);}主程序voidmain(){uchari,wei=x;while(){for(i=;ilt;i++){P=xff;P=DSY_CODE[i];发送段码wei=_crol_(wei,);P=wei;发送位码DelayMS();}}}只数码。

4、符索引}TR=;停止播放while(K==);若提前停止播放,按键未释放时等待}}定时器控制交通指示灯*名称:定时器控制交通指示灯说明:东西向绿灯亮s后,黄灯闪烁,闪烁次亮红灯,红灯亮后,南北向由红灯变成绿灯,s后南北向黄灯闪烁,闪烁次后亮红灯,东西向绿灯亮,如此往复。*includedefineucharunsignedchardefineuintunsignedintsbitRED_A=P^;东西向指示灯sbitYELLOW_A=P^;sbitGREEN_A=P^;sbitRED_B=P^;南北向指示灯sbitYELLOW_B=P^;sbitGREEN_B=P^;延时倍数,闪烁次数,操作类型变量ucharTime_Count=,Flash_Count=,Oeration_Tye=;f,xff,xfe,xfc,xf,xf,xe,xcf,xf,xf,xff,xe,xdb,xbd,xe,xbd,xdb,xe,xff,xe,xc,x,x,x,xc,xe,xff,xaa,x,x,xff,xf,xf,x,xff,xf,xf,xe,xc,xf,xf,xf,xf,xf,xf,xf,xf,xc,xe,xf,xf,xff,x,x,xff,xff,xf,xf,xff,xff,xff,xff,xff,xff,xff,xff,xff,xfe,xfd,xfb,xf,xef,xdf,xbf,xf,xf,xbf,xdf,xef,xf,xfb,xfd,xfe,xff,xff,xff,xff,xff,xff,xff,xff,xff,xff,xff,xff,xff,xff,xff,xff,xfe,xfc,xf,xf,xe,xc,x,x,x,x,xc,xe,xf,xf,xfc,xfe,xff,xff,xff,xff,xff,xff,xff,xff,x,xff,x,xff,x,xff,x,xff};延时voidDelayMS(uintx){uchari;while(x){for(i=。

5、动显示数字串电路如上图*名称:只数码管滚动显示数字串说明:数码管向左滚动显示个字符构成的数字串*includeincludedefineucharunsignedchardefineuintunsignedint段码表ucharcodeDSY_CODE[]={xc,xf,xa,xb,x,x,x,xf,x,x,xff};下面数组看作环形队列,显示从某个数开始的个数(表示黑屏)ucharNum[]={,,,,,,,,,,};延时voidDelayMS(uintx){uchart;while(x)for(t=;tlt;t++);}主程序voidmain(){uchari,j,k=,m=x;while(){刷新若干次,保持一段时间的稳定显示for(i=;ilt;i++){for(j=;jlt;j++){发送段码,采用环形取法,从第k个开始取第j个P=xff;P=DSY_CODE[Num[(k+j)%]];m=_crol_(m,);P=m;发送位码DelayMS();}}k=(k+)%;环形队列首支针charunsignedchardefineuintunsignedint段码表ucharcodeDSY_CODE[]={xc,xf,xa,xb,x,x,x,xf,x,x,xff};下面数组看作环形队列,显示从某个数开始的个数(表示黑屏)ucharNum[]={,,,,,,,,,,};延时voidDelayMS(uintx){uchart;while(x)for(t=;tlt;t++);}主程序voidmain(){uchari,j,k=,m=x;while(){刷新若干次,保持一段时间的稳定显示for(i=;ilt;i++){for(j=;jlt;j++){发送段码,采用环形取法,从第k个开始取第j个P=xff;P=DSY_CODE[Num[(k+j)%]];m=_crol_(m,);P=m;发送位码DelayMS();}}k=(k+)%;环形队列首支针k递。

6、;LED=~LED;}DelayMS();}}KK分组控制LED*名称:KK分组控制LED说明:每次按下K时递增点亮一只LED,全亮时再次按下则再次循环开始,K按下后点亮上面只LED,K按下后点亮下面只LED,K按下后关闭所有LED*includedefineucharunsignedchardefineuintunsignedint延时voidDelayMS(uintx){uchari;while(x)for(i=;igt;k=;检查所在位置,累加获取按键号kwhile(Key_State!=){k++;Key_Stategtgt=;}根据按键号k进行种处理switch(k){case:if(P==x)P=xff;Pltlt=;DelayMS();eak;case:P=xf;eak;case:P=xf;eak;case:P=xff;}}}}KK控制数码管移位显示*名称:KK控制数码管移位显示说明:按下K时加计数并增加显示位,按下K时减计数并减少显示位,按下K时清零。*includedefineucharunsignedchardefineuintunsignedint段码ucharcodeDSY_CODE[]={xc,xf,xa,xb,x,x,x,xf,x,x,xff};位码ucharcodeDSY_Index[]={x,x,x,x,x,x,x,x};待显示到各数码管的数字缓冲(开始仅在位显示,其他黑屏)ucharDislay_Buffer[]={,,,,,,,};延时voidDelayMS(uintx){uchari;while(x)for(i=;ilt;i++);}voidShow_Count_ON_DSY(){uchari;for(i=;ilt;i++){P=xff;P=DSY_CODE[Dislay_Buffer[i]];P=DSY_Index[i];DelayMS();}}主播放延时(节拍)Tone_Index++;当前音乐段的下一音。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值