单片机学习总结

单片机学习总结

ID:37321549

大小:395.73 KB

页数:29页

时间:2019-05-21

单片机学习总结_第1页
单片机学习总结_第2页
单片机学习总结_第3页
单片机学习总结_第4页
单片机学习总结_第5页
资源描述:

《单片机学习总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、LED数码管显示单只数码管循环显示0~9/*名称:单只数码管循环显示0~9说明:主程序中的循环语句反复将0~9的段码送至P0口,使数字0~9循环显示*/#include#include#defineucharunsignedchar#defineuintunsignedint//段选ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//11000000(0)~10010000(9)~11111111(不显示)//延时voidDelay

2、MS(uintx){uchart;while(x--)for(t=0;t<120;t++);}//主程序voidmain(){uchari=0;P0=0x00;while(1){/*for(;i<11;i++){P0=~DSY_CODE[i];DelayMS(300);}//注:另一方案*/P0=~DSY_CODE[i];i=(i+1)%10;DelayMS(300);}}//段选ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//11000000(0)~10010000

3、(9)~11111111(不显示)//显示的时间间隔为300微秒8只数码管滚动显示单个数字/*名称:8只数码管滚动显示单个数字说明:数码管从左到右依次滚动显示0~7,程序通过每次仅循环选通一只数码管*/#include#include#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//延时voidDelayMS(uintx){uchart;while(

4、x--)for(t=0;t<120;t++);}//主程序voidmain(){uchari,wei=0x80;while(1){for(i=0;i<8;i++){P2=0xff;//关闭显示wei=_crol_(wei,1);P0=DSY_CODE[i];//发送数字段码P2=wei;//发送位码DelayMS(300);}}}wei=0x80;wei=_crol_(wei,1);//crol是右移符号?????????P0=DSY_CODE[i];//发送数字段码P2=wei;//发送位码//显示的时间间隔为300微秒8只数码管滚动显示数字串电路如上图/*名称:8只数码管

5、滚动显示数字串说明:数码管向左滚动显示3个字符构成的数字串*/#include#include#defineucharunsignedchar#defineuintunsignedint//段码表ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//下面数组看作环形队列,显示从某个数开始的8个数(10表示黑屏)ucharNum[]={10,10,10,10,10,10,10,10,2,9,8};//延时8voidDelayMS(uin

6、tx){uchart;while(x--)for(t=0;t<120;t++);}//主程序voidmain(){uchari,j,k=0,m=0x80;while(1){//刷新若干次,保持一段时间的稳定显示for(i=0;i<15;i++){for(j=0;j<8;j++){//发送段码,采用环形取法,从第k个开始取第j个P0=0xff;P0=DSY_CODE[Num[(k+j)%11]];m=_crol_(m,1);P2=m;//发送位码DelayMS(2);}}k=(k+1)%11;//环形队列首支针k递增,Num下标范围0~10,故对11取余}}按键控制K1-K4控

7、制LED移位/*名称:K1-K4控制LED移位说明:按下K1时,P0口LED上移一位;按下K2时,P0口LED下移一位;按下K3时,P2口LED上移一位;按下K4时,P2口LED下移一位;*/#include#include#defineucharunsignedchar#defineuintunsignedint//延时voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}//根据P1口的按键移动LEDv

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。