动态数码管显示
2015-12-13 11:19
489 查看
动态数码管显示
相关介绍:动态数码管的显示是根据人的视觉残留而让本没有同事显示的数码管看起来同事显示
相关代码:
#include<reg51.h> #include <intrins.h> /*0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f的编码*/ unsigned char code num[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; /*需要显示的八个数*/ unsigned char mytime[]= {0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00}; /*138译码器的三个输入端*/ sbit ls1=P1^2; sbit ls2=P1^1; sbit ls3=P1^0; /*延时xms毫秒*/ void delayxms(unsigned int xms) { unsigned int i,j; for(i=0; i<xms; i++) for(j=0; j<110; j++); } /*执行数码管显示函数*/ void display() { int i; for(i=0; i<8; i++)//动态选择 { switch(i) //控制位选 { case(0): ls1=0,ls2=0,ls3=0; break; case(1): ls1=0,ls2=0,ls3=1; break; case(2): ls1=0,ls2=1,ls3=0; break; case(3): ls1=0,ls2=1,ls3=1; break; case(4): ls1=1,ls2=0,ls3=0; break; case(5): ls1=1,ls2=0,ls3=1; break; case(6): ls1=1,ls2=1,ls3=0; break; case(7): ls1=1,ls2=1,ls3=1; break; } P0=mytime[i];//段选:第i个数码管显示第i个数字 delayxms(1); P0=0x00; //消隐 } } void main() { while(1) display(); }
相关文章推荐
- Python 015 多线程
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- window下redis扩展下载
- hankel--生成Hankel矩阵
- 进程间pipe通信
- C# 小例子(1)
- compan--生成友矩阵
- ubuntu 14.04 NFS服务器的搭建
- 1800: 少水群多刷题
- 千里码oj_老王装货
- Codeforces Round #335 (Div. 2)
- 有关solaris fmd服务下的命令fmdump的简单使用
- 移动开发的福音,BaaS后端云服务
- Lobes of the brain
- 二叉树反转(java版)
- 关于数组中的值拼接成字符串中间用逗号隔开的实现
- toeplitz--生成托普利兹矩阵
- POJ 2242|ZOJ 1090 The Circumference of the Circle
- Log4j2介绍和特性实例(二)--一个实例和初学注意事项(configuration标签中的 status 和 monitorInterval)
- 关于权限控制的讨论:操作与数据