51单片机数码管的动态显示
来源:互联网 发布:mac ps 未经正确签署 编辑:程序博客网 时间:2024/05/16 06:45
/*******************************************
* 本节实验,需要加深理解锁存器,位选线,
* 段选线等,以及防止重影的方法;和keil中数
* 组的定义;
*另外想让8个数码管同时显示不同的数字,
*靠的是程序的快速运行,和人眼的短时间缓冲原理实现的
*本例的延时设定是1ms,可以分别用100ms
*等尝试一下
******************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula = P2^6; //锁存器的段选线
sbit wela = P2^7;//锁存器位选线
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71, //定义一个数组,每一个元素分别是0-f;
};
void delayms(uint);
void main()
{
while(1){
dula = 1;//打开端选线
P0 = table[0];//写入数组的第一个元素,即数字0
dula = 0;//关闭端选线,防止打开位选线时混乱
P0 = 0xff;//将数码管重置清楚,防止有重影发生,所以这步操作也叫做消影
wela = 1;//打开位选线
P0 = 0xfe;//选择位,需要点亮的数码管,当前选择的是第一个数码管
wela = 0;//关闭位选线
delayms(1);1ms的延迟。防止读写速率太快出现重影
dula = 1;
P0 = table[1];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xfd;
wela = 0;
delayms(1);
dula = 1;
P0 = table[2];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xfb;
wela = 0;
delayms(1);
dula = 1;
P0 = table[3];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xf7;
wela = 0;
delayms(1);
}
}
void delayms(i)
{
uint j,k;
for(j = i;j > 0;j--){
for(k = 110;k > 0;k--);
}
}
- 51单片机数码管的动态显示
- 51单片机动态数码管显示
- 51单片机数码管动态显示
- 51单片机 数码管的静态显示和动态显示
- 单片机数码管动态显示
- 单片机之数码管秒表的动态显示
- 51单片机 数码管的显示与译码器
- 51单片机动态数码管显示C程序不解
- 51单片机开发系列三_数码管动态扫描显示
- 51单片机 学习之旅[4] 数码管 动态显示
- 51单片机入门之五:数码管显示(动态)
- 【51单片机学习过程记录】6数码管动态显示
- 单片机控制的数码管显示
- 基于51单片机的74HC164驱动六位数码管动态显示程序
- 51单片机STC89C52 数码管动态
- 51单片机之数码管显示
- 51单片机—数码管显示
- 单片机数码管动态显示—C语言版
- springboot入门(四)springboot默认日志logback配置
- 依赖注入原理(为什么需要依赖注入)
- java从spring中获取bean
- androidstudio_2.3.3.0.exe以及JDK的下载和安装配置
- Linux 命令每日一练:echo命令
- 51单片机数码管的动态显示
- 《弃子长安》第五章 杀气惊蝉
- 二、Matlab 之 cell数组
- SpringMvc4中获取request、response对象的方法
- JavaCore-OOP-2-图书管理系统(商品管理升级版)
- 搜索引擎广告的检索和匹配算法
- hdu_2010 水仙花数
- 深入java for遍历列表(源码及操作)
- eclipse javaComPiler