当前位置首页 > 学术论文 > 毕业论文
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

定时器控制数码管动态显示

文档格式:DOCX| 2 页|大小 51.46KB|积分 20|2022-11-02 发布|文档ID:167051440
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 2
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • Hl 1W!5□ 朗电0i:: + *电玄食4 99 )1丘蛊•帝站暨思同 AHHITL■円:gKXFIIIF占I SWF UP DWCLIC OTrTIW. liPMo0 pMt.1^1 • | liL 1 ■ 1 & IZU-K^WI-J|] rlQdl hte■^1"忙九K35定时器控制数码管动态显示/*名称:定时器控制数码管动态 显示说明:8个数码管上分两组动 态显示年月日与时分秒,本例的 位显示延时用定时器实现/#includevreg51.h>#includevintrins.h>#define uchar unsigned char#define uint unsigned int〃段码,最后一位是“-”的段码uchar codeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; 〃待显示的数据:09-12-25与23-59-58 (分两组显示)uchar code Table_of_Digits[][8]={{0,9,10,1,2,10,2,5},{2,3,10,5,9,10,5,8}}; uchar i,j=0;uint t=0;〃主程序void main(){P3=0x80; 〃位码初值TM0D=0x00; 〃计数器T0方式0TH0=(8192-4000)/32; //4ms 定时TL0=(8192-4000)%32;IE=0x82;TR0=1; 〃启动 T0while(1);}//T0 中断函数控制数码管刷新显示 void DSY_Show() interrupt 1 {TH0=(8192-4000)/32; //恢复初值 TL0=(8192-4000)%32;P0=0xff; //输出位码和段码 P0=DSY_CODE[Table_of_Digits[i][j]];P3=_crol_(P3,1);j=(j+l)%8; //数组第i行的下一字节索引 if(++t!=350) return; //保持刷新一段时间 t=0;i=(i+1)%2; //数组行i=0时显示年月日,i=1时显示时分秒 }。

    点击阅读更多内容
    卖家[上传人]:友朋自远方
    资质:实名认证