四位数码管计数演示

四位数码管计数演示

ID:33534167

大小:97.50 KB

页数:3页

时间:2019-02-26

四位数码管计数演示_第1页
四位数码管计数演示_第2页
四位数码管计数演示_第3页
资源描述:

《四位数码管计数演示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·************************************************************************** ·* 标题: 四位数码管计数演示(C51) ·* 作者: wentao     http://blog.liuwentao.net ·                   http://wentao.programfan.com ·* 日期: 2007.3.2 ·* 软件: Keil C51 V8.02 ·* 芯片: AT89X51 ·* 说明: 实验板实测通过,数码管为8位共阳 ·* 声明: 自用存档!另仅供需要的朋友

2、参考,请勿用做不道德转载及商业用途!  ·**************************************************************************/  ·  ·#include   ·  ·#define uchar unsigned char  ·  ·void delay_ms(uchar ms);  // 延时毫秒@12M,ms最大值255  ·void display();           // 显示子程序  ·  ·uchar code dis_code[10] = {0xc0,0xf9,0xa

3、4,0xb0,0x99,  //段码表  ·                          // 0    1    2    3    4      对应内容  ·                           0x92,0x82,0xf8,0x80,0x90};  ·                          // 5    6    7    8    9  ·  ·uchar data dis_0 = 0;     // 个位值  ·uchar data dis_1 = 0;     // 十位值  ·uchar data dis_2 = 0;

4、     // 百位值  ·uchar data dis_3 = 0;     // 千位值  ·  ·void main()  ·{  ·    P2 = 0xff;           // 关所有数码管  ·  ·    while(1)  ·    {  ·        display();       // 调用显示子程序  ·          ·        dis_0++;         // 个位值加1  ·        if(dis_0 != 10)  // 个位未到10则结束此次循环  ·            continue;  ·  

5、·        dis_0 = 0;       // 个位到10清零          ·        dis_1++;         // 十位值加1(个位到10的进位)  ·        if(dis_1 != 10)  // 十位未到10则结束此次循环  ·            continue;  ·  ·        dis_1 = 0;       // 十位到10清零          ·        dis_2++;         // 百位值加1(十位到10的进位)  ·        if(dis_2 != 10)  // 百位未到

6、10则结束此次循环  ·            continue;  ·  ·        dis_2 = 0;       // 百位到10清零          ·        dis_3++;         // 千位值加1(百位到10的进位)  ·        if(dis_3 != 10)  // 千位未到10则结束此次循环  ·            continue;  ·  ·        dis_3 = 0;       // 千位到10清零  ·    }  ·}  ·void display()                // 显示子

7、程序  ·{  ·    uchar data i = 50;        // 用于延长每四位数的显示时间  ·    while(i--)                // 直到i减为0  ·    {  ·        P0 = dis_code[dis_0]; // 取个位的段码  ·        P2 = 0x7f;            // 开个位显示(P2.7口控制个位数码管)  ·        delay_ms(1);          // 延时1ms使四位数码管动态显示时能看清  ·          · 

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

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

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