当前位置: 首页 > news >正文

冲电气软件 网站建设wordpress商店安装

冲电气软件 网站建设,wordpress商店安装,备案号查询官网入口,dw网页制作软件免费目录 1.数码管的介绍 2.原理图 3.数码管运行原理 4.C51数组 5.C51子函数 6.数码管段码表 7.数码管驱动方式(了解) 8.静态数码管显示代码 第一步:搞懂原理图 第二步:开始写代码 最终代码: 9.动态数码管显示…

目录

1.数码管的介绍

2.原理图

3.数码管运行原理

4.C51数组

5.C51子函数

6.数码管段码表

7.数码管驱动方式(了解)

8.静态数码管显示代码

第一步:搞懂原理图

第二步:开始写代码

最终代码:

9.动态数码管显示代码

第一步:

第二步:

第三步:

第四步:

最终代码:


1.数码管的介绍

数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件

板中数码管,可控制显示各个位置显示不同数字

2.原理图

138译码器与数码数码管相连。138译码器使用CBA顺序识辨二进制数字转化为十进制数字,对应Y几亮,例如:Y5(5是十进制) C、A、D分别是1、0、1(二级制)。想要显示数码数字,看数码管原理图最左边的P00~P07(统称为P0)达成效果

3.数码管运行原理

管脚定义(对应字母控制对应位置亮):上面的为共阴极、下面的为共阳极(可以理解为3,8管脚处为供电,三角形尖尖有一横的是负极,所有共阴极),两个图中的数字为引脚

用共阴极(因为共阴极所有3、8号公共端要接地,即为0)连接显示数字6的操作,有电势差即有电流流过灯才会亮,所有下面的1为亮,0不亮:(位选:10111110:显示6)

共阳极,接VCC为1,下面的为0才亮,有电流流过,有电势差灯才亮

下面为多个数码管,PCB板的4个为一体,同样上面为共阴极、下面为共阳极的原理图

共阴极,那么我们公共端(12、9、8、6)接地给0才会亮,及可以控制第几个亮;显示的数字则通过下面(11、7、4、2、1、10、5、3即对应字母ABCDEFG)控制,给1才亮,给0不亮(电势差);下图显示结果:第三亮,显示数字1:(共引脚,其他亮的话数字也一样)

4.C51数组

5.C51子函数

6.数码管段码表

7.数码管驱动方式(了解就好)

8.静态数码管显示代码

第一步:搞懂原理图

原理图是共阴极(上面给0、下给1亮)

上图完整版

输入3(ABC,读的时候是从下读 C B A )个口,控制输出8个口,输出口连接共阴极的,是0还是1,在这里控制:使能端连接(按下图给1和0就可以用了)

通过CBA给数字0和1二进制转换10进制(得到数字几)就控制Y几,Y0头上“—”是表示低电平有效(即给0)

双向缓冲,高电平往低电频送数据

对上图内比较重要的几个原件解释:

        CC2(电容):滤波电容,稳定电源,确定电路稳定性,提高电路工作性能可靠运行

        RP4:排阻,限流,防止电流过大

这里的P01......P07,就是用P0口,后面代码就是通过P0口控制灯的

只有Y5为0,其他Y0...Y7都为1

读取顺序都是从下到上

代码控制公共端,从下往上写

二进制101转换为1十进制为5,控制Y5,即公共端的LED6

要显示下图的数字6

第二步:开始写代码

代码实现如下(P2控制共阴极,P0控制显示数字)及结果

优化操作代码,代码第三行根据数码管段码表,下面//8表示第一个灯Y7即LED8,在最左边那个

函数调用(前面参数为显示位置,后面为显示数字),接上面代码:

最终代码:

#include <REGX52.H>unsigned char NixieTable[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};void Nixie(unsigned char Location,Number)
{switch(Location){case 1:P2_4 = 1;P2_3 = 1;P2_2 = 1;break;case 2:P2_4 = 1;P2_3 = 1;P2_2 = 0;break;case 3:P2_4 = 1;P2_3 = 0;P2_2 = 1;break;case 4:P2_4 = 1;P2_3 = 0;P2_2 = 0;break;case 5:P2_4 = 0;P2_3 = 1;P2_2 = 1;break;case 6:P2_4 = 0;P2_3 = 1;P2_2 = 0;break;case 7:P2_4 = 0;P2_3 = 0;P2_2 = 1;break;case 8:P2_4 = 0;P2_3 = 0;P2_2 = 0;break;}P0 = NixieTable[Number];
}void main()
{Nixie(1,5);while(1){}
}

9.动态数码管显示代码

第一步:

将静态数码管的代码复制粘贴到这里的项目中

第二步:

生成延迟函数复制过来,修改一下

第三步:

动态显示,放循环里面

第四步:

注释掉上面的延时调用,旁边的管会有些影响,需要消影,段选、位选影响造成串位,如下代码消除

最终代码:

#include <REGX52.H>unsigned char NixieTable[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);	}}void Nixie(unsigned char Location,Number)
{switch(Location){case 1:P2_4 = 1;P2_3 = 1;P2_2 = 1;break;case 2:P2_4 = 1;P2_3 = 1;P2_2 = 0;break;case 3:P2_4 = 1;P2_3 = 0;P2_2 = 1;break;case 4:P2_4 = 1;P2_3 = 0;P2_2 = 0;break;case 5:P2_4 = 0;P2_3 = 1;P2_2 = 1;break;case 6:P2_4 = 0;P2_3 = 1;P2_2 = 0;break;case 7:P2_4 = 0;P2_3 = 0;P2_2 = 1;break;case 8:P2_4 = 0;P2_3 = 0;P2_2 = 0;break;}P0 = NixieTable[Number];Delay(1);P0 = 0x00;
}void main()
{while(1){Nixie(1,1);//Delay(20);Nixie(2,3);//Delay(20);Nixie(3,1);//Delay(20);Nixie(4,4);//Delay(20);Nixie(5,5);//Delay(20);Nixie(6,2);//Delay(20);Nixie(7,0);//Delay(20);}
}
http://www.dtcms.com/a/588136.html

相关文章:

  • 东莞网站建设营销服务平台哪里有建设公司官网
  • 哪里有免费的网站模板下载 迅雷下载软件阿里云网站
  • 手机网站flash在线crm软件系统
  • 网站建设策划书的心得泉州网站建设工作室
  • 设计素材网站飘网站建设 海外房产
  • 服务好质量好的网站制作网站建设咨询话术技巧
  • 西安网站建设开发做僾免费观看网站
  • 邯郸企业建站百度定位店铺位置怎么设置
  • 东海网站建设网站做app的软件
  • 湖南省建二公司官网如何优化网站结构
  • 新宁县建设局网站wordpress 复杂 密码
  • 邢台网站制作有哪些如何开发一款小游戏
  • 最简单的网站建设语音邯郸医院网站建设
  • 系统之家网站怎么做广告店名大全集
  • 外贸免费开发网站模板wordpress个人网站模板
  • 运行一个网站的成本做网站云服务期
  • 成品网站分享一下网页背景图片高清
  • 广州网站平面设计主要做什么工作
  • 网站运营条件优化大师专业版
  • 昆山网站维护北京装修公司加盟
  • 怎么做网站劳务中介西安城市建设职业学院官方网站
  • php网站开发实践怎样做线上销售
  • 机械设备网站线上营销推广方式
  • 南昌网站建设业务公司企业vi设计
  • 网站建设这方面的网站建设课程ppt模板
  • 山东做网站找哪家好商城网站 运营
  • 自己做网站的费用网站建设续约合同
  • 网站怎么做 吸引人中国机械加工网站官网
  • 保定免费建站济南制作网站公司
  • 网站建设精品课程网天下网站建设