C代码,控制亮灯的代码

2024-01-31 18:28
文章标签 代码 控制 亮灯

本文主要是介绍C代码,控制亮灯的代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这段代码的主要功能是通过控制位选锁存器和段选锁存器来实现对数码管的选择和显示。具体的显示内容由 leddata 数组中的值决定,根据 Location 和 Number 的不同,可以显示不同的字符或数字。

#include <REGX52.H>#define uchar unsigned char    //宏定义
#define uint  unsigned int     //宏定义sbit we = P2^7;    //位定义数码管位选锁存器接口
sbit du = P2^6;    //位定义数码管段选锁存器接口uchar code leddata[] = {    0x3F,  //"0"0x06,  //"1"0x5B,  //"2"0x4F,  //"3"0x66,  //"4"0x6D,  //"5"0x7D,  //"6"0x07,  //"7"0x7F,  //"8"0x6F,  //"9"0x77,  //"A"0x7C,  //"B"0x39,  //"C"0x5E,  //"D"0x79,  //"E"0x71,  //"F"0x76,  //"H"0x38,  //"L"0x37,  //"n"0x3E,  //"u"0x73,  //"P"0x5C,  //"o"0x40,  //"-"0x00,  //熄灭};void Nixie(unsigned char Location, Number)           
{switch (Location){ case 0 :0xFE;break;case 1 :0xFD;break;case 2 :0xFB;break;case 3 :0xF7;break;case 4 :0xEF;break;case 5 :0xDF;break;case 6 :0xBF;break;case 7 :0x7F;break;}P0 = leddata[Number];
}#include <REGX52.H>#define uchar unsigned char    //宏定义
#define uint  unsigned int     //宏定义sbit we = P2^7;    //位定义数码管位选锁存器接口
sbit du = P2^6;    //位定义数码管段选锁存器接口uchar code leddata[] = {    0x3F,  //"0"0x06,  //"1"0x5B,  //"2"0x4F,  //"3"0x66,  //"4"0x6D,  //"5"0x7D,  //"6"0x07,  //"7"0x7F,  //"8"0x6F,  //"9"0x77,  //"A"0x7C,  //"B"0x39,  //"C"0x5E,  //"D"0x79,  //"E"0x71,  //"F"0x76,  //"H"0x38,  //"L"0x37,  //"n"0x3E,  //"u"0x73,  //"P"0x5C,  //"o"0x40,  //"-"0x00,  //熄灭};void Nixie(unsigned char Location, Number)           
{switch (Location){ case 0 :0xFE;break;case 1 :0xFD;break;case 2 :0xFB;break;case 3 :0xF7;break;case 4 :0xEF;break;case 5 :0xDF;break;case 6 :0xBF;break;case 7 :0x7F;break;}P0 = leddata[Number];
}void main()
{du = 1;    //打开段选P0 = leddata[1]; //显示1du = 0;    //关闭段选Nixie(6,2);we = 1;//打开位选P0 = 0xfe;//左边第一位数码管显示we = 0;    //关闭位选while(1);//程序停留
}
#include <REGX52.H>#define uchar unsigned char    //宏定义
#define uint  unsigned int     //宏定义sbit we = P2^7;    //位定义数码管位选锁存器接口
sbit du = P2^6;    //位定义数码管段选锁存器接口void Delay(unsigned int xms){unsigned char i, j;while(xms--){i = 2;j = 239;do{while(--j);}while(--i);}
}uchar code leddata[] = {    0x3F,  //"0"0x06,  //"1"0x5B,  //"2"0x4F,  //"3"0x66,  //"4"0x6D,  //"5"0x7D,  //"6"0x07,  //"7"0x7F,  //"8"0x6F,  //"9"0x77,  //"A"0x7C,  //"B"0x39,  //"C"0x5E,  //"D"0x79,  //"E"0x71,  //"F"0x76,  //"H"0x38,  //"L"0x37,  //"n"0x3E,  //"u"0x73,  //"P"0x5C,  //"o"0x40,  //"-"0x00,  //熄灭};void Nixie(unsigned char Location, int Number)           
{int key = 0xFE;du = 1;    //打开段选P0 = leddata[Number]; //显示1du = 0;    //关闭段选switch (Location){ case 0 :key = 0xFE;break;case 1 :key = 0xFD;break;case 2 :key = 0xFB;break;case 3 :key = 0xF7;break;case 4 :key = 0xEF;break;case 5 :key = 0xDF;break;case 6 :key = 0xBF;break;case 7 :key = 0x7F;break;}we = 1;//打开位选P0 = key;//左边第一位数码管显示we = 0;    //关闭位选Delay(1000);
}void main()
{    int i;       for(i=0;i<8;i++)        Nixie(i,i+1);while(1);//程序停留
}

这篇关于C代码,控制亮灯的代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/664672

相关文章

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

轻松掌握python的dataclass让你的代码更简洁优雅

《轻松掌握python的dataclass让你的代码更简洁优雅》本文总结了几个我在使用Python的dataclass时常用的技巧,dataclass装饰器可以帮助我们简化数据类的定义过程,包括设置默... 目录1. 传统的类定义方式2. dataclass装饰器定义类2.1. 默认值2.2. 隐藏敏感信息

opencv实现像素统计的示例代码

《opencv实现像素统计的示例代码》本文介绍了OpenCV中统计图像像素信息的常用方法和函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 统计像素值的基本信息2. 统计像素值的直方图3. 统计像素值的总和4. 统计非零像素的数量

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1