单片机(AT89X52)四位数码管显示0123
来源:互联网 发布:linux .ssh目录 编辑:程序博客网 时间:2024/04/27 19:17
用一片3线8线译码器来选择4个数码管,其中有四个输出端不用。
原理图如下:
讲解注释我都写到程序里了,直接上程序:
#include<reg51.h>#define uchar unsigned charunsigned char code LED[10]= //0-9的数码管字形数组{ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};sbit A0 = P1^0;sbit A1 = P1^1;sbit A2 = P1^2;void main(void){uchar c=0; //用于做延时uchar d=3; //用作控制显示的位置while (1){for (c=0;c<80;c++); //这个for循环用于延时P2=0; //由于单片机复位时所有端口输出都为1,为了不产生鬼影,所以将P2口先置0if (++d>3) d=0;if (d==0) //前面说了,d是用作索引,选择数码管显示的位置{P1=0x03; //选通千位数码管进行显示P2=LED[0]; //千位显示0}else if (d==1){P1=0x02;P2=LED[1];}else if (d==2){P1=0x01;P2=LED[2];}else{P1=0x00;P2=LED[3];}}}
以上便是四位数码管显示0123的方法。待续。
0 1
- 单片机(AT89X52)四位数码管显示0123
- 谁帮忙编写 一个 四位数码管显示分钟和秒钟的单片机c语言吧
- STM32四位数码管动态显示(74hc595)
- 8051单片机学习篇(四)-----对四位数码管的操作
- 数码管流动显示(自己的单片机)
- 单片机数码管动态显示
- 单片机数码管时钟显示
- 单片机数码管显示
- 单片机数码管显示
- 【raspberry】(五) 四位数码管F3461BH
- 简易四位一体数码管显示数字(部分代码查询获得)
- Arduino + 四位LED数码管显示当前环境温度
- Arduino使用TM1637四位数码管显示模块
- 两位数码管显示
- 单片机控制的数码管显示
- 51单片机之数码管显示
- 51单片机动态数码管显示
- 51单片机—数码管显示
- java Servlet 接收并保存TScrnCut截屏及扫描插件上传图像源码
- uva306 - Cipher 置换群
- twisted 入门教程
- linux
- 移植Freemodbus
- 单片机(AT89X52)四位数码管显示0123
- <Unity3D>Unity3D入门篇——第三讲 GUI控件(一)
- FreeModbus在STM32上移植。
- wamp修改多站点配置
- awk:base64加密解密,执行shell命令
- iOS系类教程之用instruments来检验你的app
- oSIP协议栈(及eXoSIP、Ortp等)使用入门
- Failed to convert value of type 'java.lang.String' to required type 'org.springframework.web.multipa
- [Leetcode] Simplify Path (Java)