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

河南做网站 河南网站建设淄博网站seo

河南做网站 河南网站建设,淄博网站seo,盗取dede系统做的网站模板,优化措施最新回应1、项目分析 使用数码管显示指定的字符、数字和符号。 2、技术准备 1、显示器及其接口 单片机系统中常用的显示器有: 发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显…

1、项目分析

  • 使用数码管显示指定的字符、数字和符号。

2、技术准备

1、显示器及其接口

  • 单片机系统中常用的显示器有:
    • 发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。
    • LED、LCD显示器有两种显示结构:
      • 段显示(7段、米字型等)
      • 点阵显示(5×8、8×8点阵等)

2、数码管实物

  • 数码管是一种半导体发光器件,其基本单元是发光二极管。



3、数码管特点

  • 可显示内容

    • 数字、小数点(0-9)和部分英文字符(A、C、E、F、L)、符号(.)。
  • 特点:

    1. 自发光、亮度高,特别适合环境亮度低的场合使用。

    2. 牢固,不怕冲击。


4、数码管结构与原理

  1. 数码管结构

    • LED显示器(数码管)系发光器件的一种。常用的LED发光器件有两类:数码管和点阵。
    • 数码管内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。根据内部发光二极管的接线形式可分为共阴极和共阳极两种。
    • 使用时,共阴极数码管公共端接地,共阳极数码管公共端接电源。每段发光二极管需5~10mA的驱动电流才能正常发光,一般需加限流电阻控制电流的大小。
  2. 数码管原理

    • LED数码管的a~g七个发光二极管。加正电压的发光,加零电压的不能发光,不同亮暗的组合就能形成不同的字型,这种组合称为字型码。共阳极和共阴极的字型码是不同的。

      在这里插入图片描述


5、数码管驱动电路

  • 要驱动1个四位数码管常见的有以下几种数码管驱动电路(本电路是使用:共阴极数码管):

    1. 使用12个IO口
    2. P2.4-P2.7驱动位选,IO口直接驱动位选
    3. P0驱动段选,IO口直接驱动段选

    在这里插入图片描述


6、数码管显示分析

  • LED数码管的结构:共阳与共阴

    在这里插入图片描述

  • 显示设置

    • 设置位选,设置 P2.4 - P2.7 对应位为高电平,即可选择第1 ~ 4 位数码管工作
    • 设置段选:设置 P0.0 - P0.7 对应位为高电平,即可控制显示的字符、数字内容

3、项目实施

实验1 第1位数码管显示字符:b

/************************************
*实验名:数码管静态显示
*实验效果:第一个数码管显示字符“b”
************************************/
  • 分析

    在这里插入图片描述

方式1:单独设置

```c
#include <reg52.h>#define par P0sbit pos1 = P2^4;
sbit pos2 = P2^5;
sbit pos3 = P2^6;
sbit pos4 = P2^7;void main()
{pos1 = 1;pos2 = 0;pos3 = 0;pos4 = 0;par = 0x7C;while (1);
}
```

方式2:整体设置

```c
#include <reg52.h>#define par P0
#define pos P2 void main()
{pos = 0x18;par = 0x7C;while (1);
}
```

实验2 4位数码管显示数值:12.34

  • 实验需求

    • 让四位数码管显示 12.34
  • 实验分析:

    • 第1位数码管显示 1,第2位数码管显示 2. ,第3位数码管显示 3,第4位数码管显示 4

      | 字符 |  h   |  g   |  f   |  e   |  d   |  c   |  b   |  a   | 十六进制 |
| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :------: |
|  1   |  0   |  0   |  0   |  0   |  0   |  1   |  1   |  0   |   0x06   |
|  2.  |  1   |  1   |  0   |  1   |  1   |  0   |  1   |  1   |   0xdb   |
|  3   |  0   |  1   |  0   |  0   |  1   |  1   |  1   |  1   |   0x4f   |
|  4   |  0   |  1   |  1   |  0   |  0   |  1   |  1   |  0   |   0x66   |

方式1:逐位设置

  #include <reg52.h>void delay(unsigned int t);void main3(){while(1){//  第1个数码管显示:1P2 = 0x18;P0 = 0x06;delay(100);//	第2个数码管显示:2.P2 = 0x28;P0 = 0xdb;delay(100);//	第3个数码管显示:3P2 = 0x48;P0 = 0x4f;delay(100);//	第4个数码管显示:4P2 = 0x88;P0 = 0x66;delay(100);}}// 延迟函数void delay(unsigned int t){while(t--);}

方式2:遍历数组设置

```c
#include <reg52.h>// 定义位选:P2 表示设置数码管的位数
#define wei P2// 定义段选:P0 表示设置要显示的内容
#define duan P0// 定义数组:分别存储位选或段选的值
unsigned int wValue[] = {0x18,0x28,0x48,0x88};
unsigned int dValue[] = {0x06,0xdb,0x4f,0x66};void delays(unsigned int i);void main()
{	unsigned int idx;while(1){for(idx =0; idx<4; idx++){// 第idx位显示P2 = wValue[idx];P0 = dValue[idx];delays(50);}}
}void delays(unsigned int i)
{while(--i);
}
```

方式3:左移+数组遍历

```c
#include <reg52.h>void delays(unsigned int t);unsigned int dValue[] = {0x06, 0xdb, 0x4f, 0x66};void main()
{unsigned int idx;while(1){for(idx=0; idx<4; idx++){//  第idx个数码管显示:1 2. 3 4P2 = 0x10 << idx | 0x08;P0 = dValue[idx];delays(100);}}
}// 延迟函数
void delays(unsigned int t)
{while(t--);
}```
  • 说明
    • 在位选切换时,需要增加扫描延时,延迟时间太长会闪烁,太短则会造成重影。

实验3 选择对应的位显示内容

  • 需求

    • 选择指定的位显示指定的内容
  • 分析

    在这里插入图片描述

  • 实现

      #include <reg52.h>#define uint unsigned int// 定义位选:P2 表示设置数码管的位数#define pos P2// 定义段选:P0 表示设置要显示的内容#define par P0// 定义显示字符:0-9 C D E F Luint parValue[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x39, 0x79, 0x71};// 函数声明void delay_s(unsigned int i);void smgShow(uint postion, uint letter);void main(){uint idx;while(1){// 函数测试for(idx=1; idx<17; idx++){smgShow(4, idx);delay_s(90000);}}}/*** 指定对应位的数码管显示对应的内容** @param postion 第几位数码管* @param letter 要显示的字符内容** @return 无*/void smgShow(uint postion, uint letter){if((postion > 0 && postion < 5) && (letter > 0 && letter < 14)){switch(postion){case 1:pos = 0x18;par = parValue[letter-1];break;case 2:pos = 0x28;par = parValue[letter-1];break;case 3:pos = 0x48;par = parValue[letter-1];break;case 4:pos = 0x88;par = parValue[letter-1];break;}}}/*** 延迟函数:让CPU重复执行从指定的值一直减到0** @param i 初值** @return 无*/void delay_s(uint i){while(--i);}
    
http://www.dinnco.com/news/11053.html

相关文章:

  • 网站建设教程免费下载长沙网站推广排名优化
  • 网站内页做友链网络运营策划
  • 环保设备网站怎么做武汉seo公司出 名
  • 用软件做模板下载网站剪辑培训班一般学费多少
  • wordpress 站群注意qq刷赞网站推广全网
  • dede静态网站第三方平台推广
  • 磁业 东莞网站建设百度指数查询工具app
  • 开发一个企业网站要多少钱广告公司图片
  • 中国人在国外做赌博网站代理郑州网站优化外包
  • 洛阳网站建设汉狮怎么样google网站
  • 做ppt模板网站seo需要什么技术
  • 施工企业安全管理基本情况简介好口碑的关键词优化
  • dlink nas做网站河南网站关键词优化代理
  • 制作ppt的网站怎么做电商
  • 公司网站设计收费成都网站seo诊断
  • 泗洪做网站广州百度推广电话
  • 网站建设公司好不好重庆seo和网络推广
  • 西安企业招聘官网南宁seo产品优化服务
  • 怎样在百度做网站淄博网站推广
  • 重新安装了个wordpress泰州百度seo
  • 吴江网站建设收费郑州网站推广方案
  • 默认网站预览能能显示建设中网站seo设置是什么
  • 网站建设 该如何选好域名免费发布广告的平台
  • 营业执照办好了就可以做网站了吗首页百度
  • 静安微信手机网站制作百度电话怎么转人工客服
  • php网站源码建设教程申请一个网站需要多少钱
  • wordpress推送百度升级网站如何seo推广
  • 宁波网站建设哪家好网页模板大全
  • 做教育培训网站如何推广外贸型网站
  • 本地电脑做服务器 建网站公司优化是什么意思?