51单片机第三弹---数码管显示
2015-01-15 19:58
155 查看
先把定义拉过来:
LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用的段数一般为7段,有的另加一个小数点 。LED数码管根据LED的接法不同,分为共阴和共阳两类 。
贴原理图
其实就两点 :由于板子上有8个数码管,而每个数码管有8段,称选择显示哪一个数码管的东西为位选,称单个数码管显示数字几的东西为段选,位选由P2.2 p2.3 p2.4 控制
数码管IO口为P0 对于每一个数码管,显示数字几只要控制PO的8个段就可以了,低电平点亮,如00000001为a段亮,其他的段不亮。
位选图如下:
输入中的A B C分别代表P2.2 P2.3 P2.4
LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用的段数一般为7段,有的另加一个小数点 。LED数码管根据LED的接法不同,分为共阴和共阳两类 。
贴原理图
其实就两点 :由于板子上有8个数码管,而每个数码管有8段,称选择显示哪一个数码管的东西为位选,称单个数码管显示数字几的东西为段选,位选由P2.2 p2.3 p2.4 控制
数码管IO口为P0 对于每一个数码管,显示数字几只要控制PO的8个段就可以了,低电平点亮,如00000001为a段亮,其他的段不亮。
位选图如下:
输入中的A B C分别代表P2.2 P2.3 P2.4
/******************************************************************************* * 实 验 名 : 数码管实验 * 使用的IO : 数码管使用P0 * 实验效果 : 数码管显示数字 5201314 * 注 意 : *******************************************************************************/ #include <reg52.h> #include <intrins.h> #define GPIO_LED P2 #define GPIO_DIG P0 #define uint unsigned int #define uchar unsigned char sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; unsigned char code DIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9的值 unsigned char code MY_CODE[7]={5,2,0,1,3,1,4}; void DIG_DISPLAY() { uchar i,j; for(i=0;i<8;i++) { switch(7-i) { case 0:LSA=0;LSB=0;LSC=0;break; case 1:LSA=1;LSB=0;LSC=0;break; case 2:LSA=0;LSB=1;LSC=0;break; case 3:LSA=1;LSB=1;LSC=0;break; case 4:LSA=0;LSB=0;LSC=1;break; case 5:LSA=1;LSB=0;LSC=1;break; case 6:LSA=0;LSB=1;LSC=1;break; case 7:LSA=1;LSB=1;LSC=1;break; } if(i==7)continue; GPIO_DIG=DIG_CODE[MY_CODE[i]]; j=10;while(j--); GPIO_DIG=0x00;//消隐 } } void main() { while(1) { DIG_DISPLAY(); } }
相关文章推荐
- 数码管显示
- 光敏电阻测试数码管显示
- Arduino 595多级并联 Arduino显示八位数码管
- Python绘制数码管显示当前时间
- 发光管200ms时间间隔闪烁 数码管实现0~59s循环显示
- 3.数码管动态扫描 随意显示9999以内的数(使用定时器)
- 数字时钟(数码管显示/键盘可调)
- 第3讲 数码管显示
- 凌阳61单片机使用7段数码管显示数字时钟的程序
- 《FPGA零基础入门到精通视频教程》-第005讲数码管显示(按键去抖,状态机,BCD码转换)
- 新手必看Micropython只四位数码管显示实验
- 利用动态扫描和定时器1在数码管上显示出从765432开始以1/10秒的速度往下递减 直至765398并保持此数,与此同时利用定时器0以500MS速度进行流水灯从上至下移动 ,当数码管上数减到停止时,实验板上流水灯出停止然后全部开始闪烁,3秒后(用 T0定时)流水灯全部关闭,数码管上显示出“HELLO”,到此保持住
- 数码管动态显示
- 实验1 单片机IO口应用及数码管显示
- 数码管动态显示 --------位选应在段选之前进行
- 80C51 单片机 数码管显示循环数字
- 51单片机动态数码管显示
- 数码管显示实验
- 单片机数码管0000-9999显示问题
- 动态数码管显示