四位数码管对外部中断0响应计数

四位数码管对外部中断0响应计数

ID:15469781

大小:98.50 KB

页数:3页

时间:2018-08-03

四位数码管对外部中断0响应计数_第1页
四位数码管对外部中断0响应计数_第2页
四位数码管对外部中断0响应计数_第3页
资源描述:

《四位数码管对外部中断0响应计数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·************************************************************************** ·* 标题: 四位数码管对外部中断0响应计数(C51) ·* 作者: wentao     http://blog.liuwentao.net ·                   http://wentao.programfan.com ·* 日期: 2007.3.2 ·* 软件: Keil C51 V8.02 ·* 芯片: AT89X51 ·* 说明: 实验板实测通过,

2、数码管为8位共阳 ·* 声明: 自用存档!另仅供需要的朋友参考,请勿用做不道德转载及商业用途!  ·**************************************************************************/  ·  ·#include   ·  ·#define uchar unsigned char  ·  ·void delay_ms(uchar ms);  // 延时毫秒@12M,ms最大值255  ·void display();           //

3、 显示子程序  ·  ·uchar code dis_code[10] = {0xc0,0xf9,0xa4,0xb0,0x99,  //段码表  ·                          // 0    1    2    3    4      对应内容  ·                           0x92,0x82,0xf8,0x80,0x90};  ·                          // 5    6    7    8    9  ·  ·uchar data dis_0

4、 = 0;     // 个位值  ·uchar data dis_1 = 0;     // 十位值  ·uchar data dis_2 = 0;     // 百位值  ·uchar data dis_3 = 0;     // 千位值  ·  ·void main()  ·{  ·    P2 = 0xff;           // 关所有数码管  ·      ·    IT0 = 1;             // 外部中断0下降沿触发  ·    EA = 1;              // 开总中断  ·

5、    EX0 = 1;             // 开外部中断0  ·      ·    while(1)  ·    {  ·        display();       // 调用显示子程序等待中断  ·    }  ·}  ·  ·void int_0() interrupt 0             // 外部中断0中断服务程序  ·{  ·        dis_0++;                     // 个位值加1  ·        if(dis_0 == 10)            

6、  // 个位未到10则结束  ·        {  ·            dis_0 = 0;               // 个位到10清零          ·            dis_1++;                 // 十位值加1(个位到10的进位)  ·            if(dis_1 == 10)          // 十位未到10则结束  ·            {  ·                dis_1 = 0;           // 十位到10清零     

7、     ·                dis_2++;             // 百位值加1(十位到10的进位)  ·                if(dis_2 == 10)      // 百位未到10则结束  ·                {  ·                    dis_2 = 0;       // 百位到10清零          ·                    dis_3++;         // 千位值加1(百位到10的进位)  ·             

8、       if(dis_3 == 10)  // 千位未到10则结束  ·                        dis_3 = 0;   // 千位到10清零  ·                }  ·            }  ·        }  ·}  ·  ·v

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

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

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