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

微网站php源码杭州seo网

微网站php源码,杭州seo网,温州网站制作,靠谱网站建设公司价格多少目录 一:动态数码管模块 1:介绍 2:共阴极和共阳极 A:共阴极 B:共阳极 C:转化表 3:74HC138译码器 4:74HC138译码器控制动态数码管 5:数码管显示完整代码 二:矩阵按键模块 1:介绍 2:原理图 3:矩阵按键代码 一:动态数码管模块 1:介绍 LED数码管:数码管是一种…

目录

一:动态数码管模块

1:介绍

 2:共阴极和共阳极

A:共阴极

B:共阳极

C:转化表

 3:74HC138译码器

4:74HC138译码器控制动态数码管

5:数码管显示完整代码

二:矩阵按键模块

1:介绍

2:原理图

 3:矩阵按键代码


一:动态数码管模块

1:介绍

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

        我们的51单片机的1个数码管就相当于由8个发光二极管封装在一起, 所以我们只需要控制8个发光二极管封就可以实现数码管的显示,这款单片机是共阴极连接

        数码管扫描(输出扫描)     原理:显示第1位→显示第2位→显示第3位→……,然后快速循环这个过程,最终实现所有数码管同时显示的效果,节省I/O口

 2:共阴极和共阳极

我们这款单片机是共阴极所以我们主要介绍共阳极连接

A:共阴极

1.LED共阴极是指LED灯中的二极管的阴极有一个共同的接点,并且该接点连接在GND端,即处于低电平状态。      我们只需要给它一个高电频(1)就可以点亮他

 从高位到低位读取

eg:让第一个数码管显示0

数码管段码表对应的0,1,2,3,4,5,6,7,8,9

unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

B:共阳极

        LED共阳极是指LED灯中的二极管的阳极有一个共同的接点,并且该接点连接在VCC端,即处于高电平状态。  我们只需要给它一个低电频(0)就可以点亮他

 

    数码管段码表对应的0,1,2,3,4,5,6,7,8,9

unsigned char LED7Code[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82,0xf8, 0x80, 0x90};

C:转化表

 3:74HC138译码器

        概述 D74HC138D 是一种三通道输入、八通道输出译码器,主要应用于消费类电子产品

        3个io口控制8位,因为单片机上面的资源有限

 

 

 通过A0~A2数据的输入来控制Y0~Y7数据的输出;实现 3个io口控制8位,

4:74HC138译码器控制动态数码管

 eg:点亮LED8

        EDL1对应的是Y7的输出端口,所以只需要控制A,B,C输出Y7即可

        从高位到低位读和写;   (只需要将二进制转化位10进制的7即可)

P2_4=1;P2_3=1;P2_2=1;//二进制111转化十机制为:7,输出Y7;当用户选择1时点亮LED8

5:数码管显示完整代码

#include <REGX52.H>
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//延时函数的声明
void Delay(unsigned int xms);
/*** @brief  数码管的选择和读取* @param  Location:选择那一个数码管; Number:选择显示那个数字(0~9)* @retval 无*/
void Nixie(unsigned char Location,Number)
{switch (Location)  {case 1:P2_4=1;P2_3=1;P2_2=1;break;//二进制111转化十机制为:7,当用户选择1时点亮LED8case 2:P2_4=1;P2_3=1;P2_2=0;break;//二进制110转化十机制为:6,当用户选择2时点亮LED7case 3:P2_4=1;P2_3=0;P2_2=1;break;//二进制101转化十机制为:5,当用户选择3时点亮LED6case 4:P2_4=1;P2_3=0;P2_2=0;break;//二进制100转化十机制为:4,当用户选择4时点亮LED5case 5:P2_4=0;P2_3=1;P2_2=1;break;//二进制11(高位补零)转化十机制为:3,当用户选择5时点亮LED4case 6:P2_4=0;P2_3=1;P2_2=0;break;//二进制10(高位补零)转化十机制为:2,当用户选择6时点亮LED3case 7:P2_4=0;P2_3=0;P2_2=1;break;//二进制1(高位补零)转化十机制为:1,当用户选择7时点亮LED2case 8:P2_4=0;P2_3=0;P2_2=0;break;//二进制0(高位补零)转化十机制为:0,当用户选择3时点亮LED1 }  P0=NixieTable[Number];	//段码输出Delay(1);				//显示一段时间P0=0x00;				//段码清0,消影  
}void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}
void main()
{while(1){Nixie(1,1);		//在数码管的第1位置显示1Delay(20);Nixie(2,2);		//在数码管的第2位置显示2Delay(20);Nixie(3,3);		//在数码管的第3位置显示3Delay(20);}
}

二:矩阵按键模块

1:介绍

        矩阵键盘扫描(输入扫描)     原理:读取第1行(列)→读取第2行(列) →读取第3行(列) → ……,然后快速循环这个过程,最终实现所有按键同时检测的效果,节省I/O口

2:原理图

 按下为0;我们使用列扫描,

eg:按下1,5,9,13

1:使他P1端口全部为1

2:1,5,9,13为一列,他们的共同端口为P1^3,显示共同端口为P1^3为0;

3:依次使P1_7,  P1_6,  P1_5, P1_4为0,

 3:矩阵按键代码

#include <REGX52.H>//声明
void Delay(unsigned int xms)
/*** @brief  矩阵键盘读取按键键码* @param  无* @retval KeyNumber 按下按键的键码值如果按键按下不放,程序会停留在此函数,松手的一瞬间,返回按键键码,没有按键按下时,返回0*/
unsigned char MatrixKey()
{unsigned char KeyNumber=0;P1=0xFF;P1_3=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=1;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=5;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=9;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=13;}P1=0xFF;P1_2=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=2;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=6;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=10;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=14;}P1=0xFF;P1_1=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=3;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=7;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=11;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=15;}P1=0xFF;P1_0=0;if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=4;}if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=8;}if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=12;}if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=16;}return KeyNumber;
}
void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}

http://www.khdw.cn/news/11975.html

相关文章:

  • ps软件下载官方网站百度推广售后
  • 视觉差的网站电商培训班
  • 濮阳网站建设电话百度营销网页版
  • 换了家公司做网站如何接入备案广告联盟平台
  • 建设校园标准信息服务网站论文凡科建站客服电话
  • 阿里云服务器可以做商业网站西安网络科技公司排名
  • 网站建设 政府采购网络营销的主要方式和技巧
  • 专业做网站建设公司怎么样站点查询
  • 宁波产品网站设计模板怎么创建网站快捷方式到桌面
  • wordpress素材类主题太原seo排名优化公司
  • 做淘宝客网站制作教程创建网站步骤
  • kencms内容管理系统郑州粒米seo顾问
  • 做网站需要哪些东西搭建一个app平台需要多少钱
  • wordpress 产品链接湖南seo推广系统
  • 做网做网站建设短视频精准获客系统
  • 红酒 网站 模板高级搜索引擎技巧
  • wordpress 安装 404seo教程搜索引擎优化入门与进阶
  • 如何看小程序是哪家公司做的湖北百度seo排名
  • lamp和wordpress站长工具seo综合查询是什么
  • 各大公司开源网站优化推广网站推荐
  • 网站html5自适应屏幕山西seo谷歌关键词优化工具
  • 做网站域名不备案会怎么样北京网站开发
  • 如何做域名网站南京网站推广排名
  • 免费发布活动的平台北京网站sem、seo
  • 承德网站制作公司哪家好软文时光发稿平台
  • 怎么做符合seo的网站下载百度语音导航地图
  • 网站建设平台合同模板下载电子商务营销方法
  • 网站备案中商城服务性质是什么创建网站需要多少资金
  • 武汉建网站西安百度关键词推广
  • 淘宝联盟怎么自己做网站推广微指数查询