51单片机不加锁存器数码管动态显示0-999
更新时间:2024-04-12 07:37:01 阅读量: 综合文库 文档下载
- 51单片机锁存器工作原理推荐度:
- 相关推荐
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 }
正在阅读:
三年级记事日记400字02-06
求解约束优化的模拟退火PSO算法04-20
山东省普通话水平测试题01-03
最新关于月亮的对联02-10
2008工程力学期末考试试卷(A)07-18
2018年中国紫外光固化涂料行业市场深度调研报告目录08-24
2019年集装箱船调研及发展前景分析预测 (目录)08-06
一个善良的人作文500字06-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 锁存器
- 数码管
- 单片机
- 动态
- 显示
- 999