单片机-6位数码管动态时间扫描程序,具有时分秒
使用软件Proteus和Keil uVision4
代码如下:
#include<reg51.h>
sbit con1=P3^0;
sbit con2=P3^1;
sbit con3=P3^2;
sbit con4=P3^3;
sbit con5=P3^4;
sbit con6=P3^5;
int sec=40,min=59,hour=23;//全局变量
char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80
,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//把数组放入ROM中
void delay(char ms)//延时的时间是由ms变量来控制
{char x,y;//8位-128-127
for(x=ms;x>0;x--)//每执行一次x,就执行110次y
for(y=110;y>0;y--);//此时y变量是110,大概循环110次的y之后,时间是1ms
}main()
{P3=0x00;//首先关闭P3口,让所有的小端口都不能控制
while(1)
{sec++;
if(sec==60)//注意双等号
{sec=0;
min++;
if(min==60)
{min=0;
hour++;
if(hour==24)
{hour=0;
}
}
}
delay(20);P2=table[hour/10];
con1=1;//先打开控制1的三极管
delay(20);//延时一段时间,让1号数码管显示时间为20ms
con1=0;//关闭1号数码管,因为下一个要控制2号数码管P2=table[hour%10];
con2=1;
delay(20);
con2=0;P2=table[min/10];
con3=1;
delay(20);
con3=0;P2=table[min%10];
con4=1;
delay(20);
con4=0;P2=table[sec/10];
con5=1;
delay(20);
con5=0;P2=table[sec%10];
con6=1;
delay(20);
con6=0;
}
}
电路仿真效果
6为数码管7SEG-MPX6-CA
单片机-6位数码管动态时间扫描程序,具有时分秒相关推荐
- 数字系统实验—第13周任务(3位数码管动态扫描显示实验含工程与优化)
数字系统实验--第13周任务 任务书 0.简介 1. 实验操作:1周 2. 完成并在线提交文档(100%) 日志(系统功能描述) 报告(目的 设计 实现 总结) 3. 三位数码管数据显示实验在线验收 ...
- 【Proteus仿真】8位数码管动态扫描显示变化数据
[Proteus仿真]8位数码管动态扫描显示变化数据 Proteus仿真 示例代码 /*-----------------------------------------------名称:8位数码管动 ...
- c语言数码管的动态显示时间,8位数码管动态显示时间,可调节,调节的数闪烁显示...
原标题:8位数码管动态显示时间,可调节,调节的数闪烁显示 // 时间,可调节, //调节时间时,调节的数闪烁显示: //比较两种闪烁的方法: #include #define uint unsigne ...
- 51单片机一位数码管汇编程序
51单片机一位数码管汇编程序 程序: ;数码管从0-9显示ORG 0000HAJMP MAINORG 0030HMAIN: MOV R4, #00H ;记录码表的值MOV DPTR, #TABLE ; ...
- avr单片机led数码管六位动态显示时分秒c语言程序,AVR单片机8位数码管显示的程序实现(两种方法介绍)...
描述 本文为大家介绍两个AVR单片机8位数码管显示的程序实现. AVR单片机595驱动8位数码管的显示的电路实现 主程序代码 #include > #include //GCC中的延时函数头文件 ...
- Java获取时间格式(年月日时分秒毫秒)
Java中描述日期时间调用Date类型,该类型存储有时间的年月日.时分秒信息. Date系统时间是以 1970年0时0分0秒 开始计时. 其中: 需要获取的时间单位 格式 年 YYYY or yyyy ...
- 单片机学习笔记 —— 8位数码管动态扫描
我们知道,依次只能让一个数码管/led灯亮起来,但是我们可以通过高频动态扫描得到8位数码管同时亮起来,这里介绍如何实现. 一.八位数码管 1.八位数码管原理图 下图为原理图: 段选信号:P0[7-0] ...
- 51单片机8位数码管简易计算器(4*4矩阵键盘)
筒子们,上周参考了好多单片机计算器的文章,但是全文阅读基本都是付费,看了好几篇:参考了某个思路,终于完成了一个简易版的计算器: 1.8位数码管显示 2.简单的四则运算(加减乘除) 3.PS,以下代码目 ...
- 使用定时器的中断方式。具体功能描述如下:使用定时器控制三位数码管显示时间,也可以轻易改为两位数码管显示时间
#include <REGX52.H> unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0 ...
最新文章
- Python学习笔记(六)
- 【caffe-Windows】微软官方caffe之 matlab接口配置
- linux 内核 睡眠,linux内核对S3C2410睡眠模式的支持有哪些?
- C++的类为什么要用指针
- Win2003打不开https的问题
- knn——model celectionpreprocessing
- linux 移动压缩包 命令,文件的复制、移动、压缩等对SELinux属性关系详解
- nmap快速扫描大量主机端口方法
- 数字游戏(数位dp)
- CF1427F-Boring Card Game【贪心】
- MySQL小数数据类型
- unity物体自身轴旋转_Unity 中物体的旋转
- java录入会员信息_Java编程语言基础 第三章 实现会员信息录入功能
- 高德地图面积计算公式
- C++嵌套类的使用及对外部类的访问权限
- php mysql 站内消息_php如何开发网易云信消息抄送功能之聊天室消息保存到本地数据库...
- Windows如何使文件显示扩展名
- IT女纸3年换5家公司的真实写照
- 最新v4.2版本CRMEB商城API接口文档标准版后台(一)
- 使用ffmpeg进行简单的视频编辑