教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

51单片机不加锁存器数码管动态显示0-999

来源:网络收集 时间:2026-08-26
导读: 51单片机不加锁存器数码管动态显示0-999 使用STC89C52RC单片机,数码管为共阳数码管PNP驱动,P3.4-P3.6控制位选,P0口控制段选信号,图中P8接到有上拉电阻的P0口,P9接到P3.4-P3.6,附上图和程序! #include sbit wei1=P3^6; /*百位*/ sbit wei2=P3^4; /*个

51单片机不加锁存器数码管动态显示0-999

使用STC89C52RC单片机,数码管为共阳数码管PNP驱动,P3.4-P3.6控制位选,P0口控制段选信号,图中P8接到有上拉电阻的P0口,P9接到P3.4-P3.6,附上图和程序!

#include

sbit wei1=P3^6; /*百位*/ sbit wei2=P3^4; /*个位*/ sbit wei3=P3^5; /*十位*/

unsigned char code LedChar[] = { //数码管显示字符转换表 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E };

void delay(int z);

unsigned char i=0; //动态扫描的索引 unsigned int cnt=0; //记录 T0 中断次数 void main() {

unsigned long sec=0; //记录经过的秒数 EA=1; //使能总中断

TMOD=0x01; //设置 T0 为模式 1

TH0=0xB8; //为 T0 赋初值 0xFC67,定时 1ms TL0=0x00;

ET0=1; //使能 T0 中断 TR0=1; //启动 T0 while (1) { if (cnt>=1000) //判断 T0 溢出是否达到 1000 次 { cnt=0; //达到 1000 次后计数值清零 sec++; //秒计数自加 1 } wei1=0; P0=LedChar[sec]; wei1=1; delay(5); wei2=0; P0=LedChar[sec/10]; wei2=1; delay(5); wei3=0; P0=LedChar[sec/100]; wei3=1; delay(5); if(sec>999) { sec=0; }

} }

void delay(int z) {

int x,y;

for(x=z;x>0;x--) for(y=10;y>0;y--); }

/* 定时器 0 中断服务函数 */ void InterruptTimer0() interrupt 1 {

TH0 = 0xFC; //重新加载初值 TL0 = 0x67;

cnt++; //中断次数计数值加 1 }

51单片机不加锁存器数码管动态显示0-999.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/444118.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)