学习
文章平均质量分 66
WangLinXX
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
功能完整的1602LCD时钟实验
摘要: 本文详细描述了一个基于8051单片机的LCD时钟系统设计,包含闹钟功能和时间设置功能。系统通过K1键进入设置状态,K2键切换设置项目(闹钟开关、时间、日期等),K3键调整数值。LCD显示分为两行:上排显示日期和星期,下排显示时间及闹钟状态(小喇叭图标表示启用)。程序实现了自动闰年判断、星期计算、自定义字符显示等功能。采用Timer0产生1秒时基,Timer1控制蜂鸣器报警。中断服务程序处理按键输入和闹钟触发,提供完整的日期时间维护和闹钟管理功能。系统支持2000-2099年的时间范围,具有较高的实用原创 2025-07-29 16:37:17 · 913 阅读 · 0 评论 -
0-9999每秒加1计数器
本文展示了一个基于8051单片机的计数器程序。程序使用定时器中断实现4位LED数码管显示,主要功能包括:1) 初始化定时器0和1为16位模式,分别设置20ms和10ms中断;2) 定时器0中断每20ms触发一次,实现50次计数后变量js自增1,最大计数值9999;3) 定时器1中断控制数码管动态扫描显示,通过P2.4-P2.7选通位,P0端口输出段码数据,显示变量js的千、百、十、个位数值。程序采用共阳数码管,使用预定义的段码表LEDDis实现数字显示。原创 2025-07-27 09:39:09 · 428 阅读 · 0 评论 -
1602+18B20+DS1302电子时钟源程序
本文介绍了一个用于测试24C02 EEPROM存储器性能的单片机程序。程序通过I2C总线实现数据读写,主要功能包括:1) 向EEPROM写入数据;2) 断电后从EEPROM读取数据;3) 通过8个LED显示读取结果。程序采用软件模拟I2C协议,包含总线启动/停止、数据发送/接收、应答等基本操作函数。测试时,程序会不断修改数据并写入EEPROM,验证断电后数据能否正确保存。该程序适用于12MHz以下晶振,通过延时函数控制时序,为EEPROM性能测试提供了一种简单有效的实现方案。原创 2025-07-27 09:38:04 · 331 阅读 · 0 评论 -
97-2402存储1个数据
本文介绍了一个基于52单片机的EEPROM(24C02)测试程序。程序通过模拟I2C总线协议实现数据读写,主要包括启动/停止总线、字节发送/接收、应答处理等功能。测试方法是将数据写入24C02后断电,再读取验证数据一致性,并用8个LED显示结果。程序采用软件延时产生SCL时钟信号,适用于晶振频率低于12MHz的系统。主函数循环读取EEPROM数据并显示,同时自增数值后重新写入,通过LED可直观观察数据变化。该方案实现了EEPROM的基本读写测试功能,验证了存储器的掉电数据保持特性。原创 2025-07-27 09:34:27 · 891 阅读 · 0 评论 -
96-1602液晶按键输入显示
本文介绍了一个基于51单片机的矩阵键盘输入显示系统。系统通过4x4矩阵键盘输入16进制字符(0-F),并将输入内容实时显示在LCD1602液晶屏上。程序实现了键盘扫描、LCD驱动、字符显示等功能,包括初始化LCD、判忙检测、命令/数据写入、清屏等基本操作。采用行列反转法进行键盘扫描,通过延时消抖处理按键抖动问题。系统具有自动换行功能,当第一行显示满后自动切换到第二行,两行都满时自动清屏重新开始显示。该设计展示了单片机外设控制的基本方法,适用于需要键盘输入和显示输出的嵌入式应用场景。原创 2025-07-27 09:33:36 · 695 阅读 · 0 评论 -
95-1602液晶移动显示
本文介绍了使用51单片机控制LCD显示屏的实现方法。代码通过定义端口连接(RS、RW、EN)和数据端口(P0),实现了LCD的基本控制功能。主要功能包括:1)延时函数(微秒级和毫秒级);2)LCD状态检测和命令/数据写入;3)清屏、字符串显示等操作。主程序初始化LCD后,循环显示欢迎信息"Welcome to www.doflye.net",并实现字符逐个显示效果。该代码适用于12MHz晶振,提供了完整的LCD驱动实现方案。原创 2025-07-27 09:32:36 · 603 阅读 · 0 评论 -
94-1602液晶滚动显示
本文介绍了基于51单片机的LCD1602液晶显示屏驱动控制程序。程序包含引脚定义、延时函数、判忙检测、命令/数据写入、清屏、字符串/字符显示等基本功能模块。初始化时设置显示模式并清屏,主程序演示了在指定位置显示字符"ok"和字符串"www.doflye.net",并通过0x18指令实现画面左移的动态效果。程序采用标准4线控制方式(RS、RW、EN、数据总线),包含精确的延时控制和忙状态检测机制,为LCD1602的典型驱动应用提供了完整参考。原创 2025-07-27 09:31:31 · 351 阅读 · 0 评论 -
93-1602液晶动态显示
摘要:本文介绍了一个基于51单片机的LCD1602液晶显示控制程序。程序包含初始化、延时、判忙检测、命令/数据写入、字符串显示等核心功能模块,使用P2口控制RS、RW、EN引脚,P0口作为数据端口。主函数实现了"Welcome to"和"www.doflye.net"两行文本的动态显示功能,字符逐个显示并带有250ms延时。程序采用12MHz晶振,包含微秒级和毫秒级延时函数,通过状态检测确保操作时序正确。该代码完整展示了LCD1602的基本控制方法和字符显示实现过程。原创 2025-07-27 09:30:25 · 338 阅读 · 0 评论 -
92-1602液晶静态显示
摘要:该代码实现了一个基于51单片机(reg52.h)的LCD1602液晶显示控制程序。通过定义控制引脚(RS、RW、EN)和数据端口(P0),实现了LCD初始化、清屏、字符/字符串显示等功能。程序包含延时函数(微秒级和毫秒级)、判忙检测、命令/数据写入等基础操作。主函数中演示了在LCD第一行显示"ok",第二行显示网址"www.doflye.net"的静态内容。该代码采用标准4位数据总线接口方式,通过多次写入0x38命令完成LCD初始化设置,具有典型的LCD驱动编程原创 2025-07-27 09:26:22 · 409 阅读 · 0 评论 -
91-双继电器模拟洗衣机电机控制
摘要:本程序基于51单片机实现洗衣机电机正反转控制,通过ULN2003驱动继电器模拟洗衣机间歇工作模式。程序采用定时器中断实现3秒正转-2秒停止-3秒反转-2秒停止的循环动作,同时包含数码管显示倒计时功能。按键可调整定时时长,当倒计时归零时自动停止电机。系统包含正转、反转、停止三个基本控制函数,通过动态扫描方式驱动8位数码管显示剩余时间,具有完整的硬件接口定义和软件延时功能。原创 2025-07-27 09:24:23 · 667 阅读 · 0 评论 -
90-继电器控制原理
摘要:该代码实现了一个基于51单片机的继电器控制系统,通过ULN2003驱动继电器。系统包含数码管显示和按键控制功能:数码管动态显示继电器状态("rEL1/2 On/Off"),两个独立按键控制继电器1和2的开关切换。程序采用定时器中断实现数码管动态扫描,包含延时函数、按键扫描、显示控制等模块。初始化时数码管显示"rEL1 Off",按键触发后切换继电器状态并更新显示内容。原创 2025-07-27 09:23:33 · 845 阅读 · 0 评论 -
89-直流电机调速控制
本文介绍了一个基于51单片机的电机调速控制系统。系统通过ULN2003驱动模块连接5V-12V小功率电机,使用两个按键实现加速和减速控制。程序设计包含数码管显示模块(显示当前速度等级)、按键扫描模块和PWM调速模块。通过定时器中断实现2ms周期控制,调整PWM占空比来改变电机转速,同时数码管动态扫描显示当前速度值(0-10级)。系统具有按键消抖处理,能稳定响应加减速操作。该方案适用于需要简单电机调速的应用场景,提供了一种低成本、易实现的单片机控制方案。原创 2025-07-27 09:21:35 · 397 阅读 · 0 评论 -
88-直流电机按键控制
本文介绍了一个基于51单片机的电机控制系统。系统通过杜邦线连接ULN2003驱动模块,可控制5V-12V小功率电机。程序使用P3口进行按键扫描,P0口驱动数码管显示,P1口输出电机控制信号。主程序通过按键切换两个电机的启停状态,并在数码管上实时显示"DC1 ON/OFF"和"DC2 ON/OFF"状态。系统采用定时器中断实现数码管动态扫描,包含延时函数、显示函数、按键扫描函数等模块。该设计实现了双路电机的独立控制与状态显示功能。原创 2025-07-27 09:20:47 · 254 阅读 · 0 评论 -
87-步进电机综合控制
【摘要】本文介绍了一个基于51单片机的步进电机控制系统程序。系统通过P3口检测按键输入,控制P1口连接的步进电机实现正转、调速和启停功能,同时通过P0口驱动数码管显示当前速度等级(1-18级)。程序采用定时器中断实现1ms定时,完成数码管动态扫描和步进电机四相八拍控制。其中,按键1/2调节速度,按键3停止电机,按键4重新启动。数码管显示采用段码锁存(P2^2)和位码锁存(P2^3)方式,步进电机驱动通过定义A1-D1(P1^0-P1^3)的8种通电组合实现相位切换。该程序展示了嵌入式系统中外设控制、中断处理原创 2025-07-27 09:19:48 · 799 阅读 · 0 评论 -
86-步进电机调速原理
本文介绍了一个基于51单片机的4相步进电机驱动控制系统。程序采用1-2相励磁方式驱动电机,通过两个按键调节速度等级(1-5级),数码管实时显示当前速度等级(数字越大速度越慢)。系统包含电机驱动、按键扫描、数码管显示等功能模块,使用定时器中断实现电机节拍控制和动态扫描显示。主要功能包括:电机正转控制、8档励磁时序切换、速度等级调节及显示等。该设计适用于需要精确控制步进电机转速的应用场景。原创 2025-07-27 09:18:49 · 298 阅读 · 0 评论 -
85-步进电机转速数码管显示
该程序实现了基于51单片机的4相步进电机驱动控制,采用1-2相8拍励磁方式(A-AB-B-BC-C-CD-D-DA),具有步距角减半、抖动小等特点。系统通过数码管显示速度等级(03-19,数字越大转速越慢),采用外部中断实现速度调节,定时器中断完成数码管动态扫描显示。程序包含电机驱动宏定义、延时函数、显示驱动、中断服务等模块,通过P1口控制电机相序,P0口连接数码管段选,P2口控制位选锁存。电机转速由DelayMs(Speed)参数控制,具有断电保护功能(Coil_OFF),并包含按键防抖处理。原创 2025-07-27 09:17:50 · 714 阅读 · 0 评论 -
Streamlit来开发一个趣味应用
当然,你可以根据自己的喜好和需求对应用进行定制和改进,例如添加更多的游戏规则或者其他趣味元素。希望这个示例能够帮助你开始使用Streamlit开发你自己的趣味应用!Streamlit来开发一个趣味应用。Streamlit是一个用于构建数据科学应用的Python库,它可以帮助你通过简单的代码快速构建交互式应用程序。运行上述代码,你将会看到一个交互式界面,你可以通过输入一个数字来猜测计算机所想的数字,并通过点击“猜”按钮来检查结果。原创 2024-09-02 08:55:02 · 525 阅读 · 0 评论 -
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
Docker是一种开源的容器化平台,用于构建、部署和运行应用程序。它基于容器技术,可以将应用程序及其依赖项打包到一个独立的可移植的容器中,并在不同的环境中快速部署和运行。原创 2024-09-02 08:51:02 · 934 阅读 · 0 评论 -
讲解机器学习中的 K-均值聚类算法及其优缺点。
K-均值聚类(K-means clustering)是一种用于将数据集划分为 K 个不同的组的无监督学习算法。它的目标是将数据点划分到 K 个不同的集群中,使得每个数据点都属于离其最近的聚类中心。总结起来,K-均值聚类算法是一种简单而常用的聚类算法,适合处理相对规则的聚类问题,但对于复杂的数据集和需要确定聚类数的问题可能效果不佳。原创 2024-09-01 19:30:41 · 532 阅读 · 0 评论 -
自然语言处理(NLP)技术。
这只是NLP技术的一小部分应用,还有很多其他的例子,包括情感分析、自动摘要、语言生成等。NLP技术的发展已经极大地改变了我们与计算机之间的交互方式,并在自动化、智能化和个性化等方面产生了深远影响。例如,IBM的Watson就是一个基于NLP技术的问答系统,它在Jeopardy!例如,智能助理(如Apple的Siri、Amazon的Alexa)就使用NLP技术来理解和执行用户的语音指令。信息抽取:NLP技术可以从文本中抽取出有用的信息。文本分类:NLP技术可以对文本进行分类,帮助判断文本的主题或情感。原创 2024-09-01 19:29:22 · 499 阅读 · 0 评论 -
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
RDD 是不可变的、分区的数据集合,可以包含任何类型的对象,并在集群中自动分布和并行化处理。总之,Apache Spark 是一个功能强大的大数据处理框架,可以应用于各种大数据分析场景,通过并行计算和优化的执行引擎,提供了高效的数据处理和分析能力。惰性计算:Spark 的转换操作是惰性计算的,意味着在执行转换操作时,并不会立即计算结果,而是记录下操作的依赖关系。转换和操作:Spark 提供了丰富的转换和操作函数,例如 map、filter、reduce、join 等,用于对 RDD 进行数据处理和转换。原创 2024-08-30 22:51:24 · 660 阅读 · 0 评论 -
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
总之,Docker通过容器化技术提供了一种简单、灵活和高效的方式来部署和运行应用程序,使应用程序的开发、测试、部署和管理变得更加便捷和可靠。Docker是一种容器化平台,它允许将应用程序、环境、依赖和配置打包到一个可移植的容器中,并可以在任何支持Docker的环境中运行。微服务架构:Docker可以将不同的服务拆分为独立的容器,在集群中运行和管理,实现微服务架构的灵活性和可伸缩性。资源隔离:每个容器都是相互隔离的,可以确保每个容器拥有自己独立的资源,避免了应用程序之间的相互影响。原创 2024-08-30 22:49:49 · 1105 阅读 · 0 评论 -
解释 RESTful API,以及如何使用它构建 web 应用程序。
RESTful API是一种基于HTTP协议的应用程序编程接口(API)设计风格,旨在实现资源的统一、无状态和可扩展的访问。REST表示"Representational State Transfer"(表述性状态转移),它通过使用HTTP动词(GET、POST、PUT、DELETE等)和URI(统一资源标识符)来对资源进行操作和访问。总之,RESTful API通过使用HTTP协议和URI来实现资源的访问和操作,可以为web应用程序提供灵活、可扩展的接口。原创 2024-08-29 22:40:34 · 771 阅读 · 0 评论 -
TensorFlow 的基本概念和使用场景。
它们是多维数组,可以是标量(0维)、向量(1维)、矩阵(2维)或更高维度的数组。2. 深度学习:TensorFlow在深度学习方面非常强大,支持构建和训练各种深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)等。1. 机器学习模型的训练和测试:TensorFlow提供了丰富的工具和函数,用于构建和训练各种机器学习模型,如神经网络、决策树、支持向量机等。3. 自然语言处理(NLP):TensorFlow提供了一些特殊的功能和库,用于处理和分析自然语言文本,如文本分类、情感分析、机器翻译等。原创 2024-08-29 22:36:57 · 409 阅读 · 0 评论 -
计算机语言的对比
静态类型语言 vs 动态类型语言:静态类型语言在编译时需要确定变量类型,一旦确定就不能再改变。静态类型语言例如Java、C++,动态类型语言例如Python、JavaScript。编译型语言 vs 解释型语言:编译型语言在程序执行之前需要进行编译,将源代码转化为机器语言。面向过程语言 vs 面向对象语言:面向过程语言强调解决问题的步骤和过程,例如C;低级语言 vs 高级语言:低级语言是一种更接近计算机硬件的语言,例如汇编语言,它的指令直接对应机器指令。计算机语言是一种用于编写计算机程序的语言。原创 2024-08-23 17:24:48 · 389 阅读 · 0 评论 -
人工智能时代,程序员如何保持核心竞争力?
代码生成功能则根据给定的需求和描述,快速生成初步的代码框架,为程序员节省了大量的基础工作时间。代码生成功能则根据给定的需求和描述,快速生成初步的代码框架,为程序员节省了大量的基础工作时间。而且,过度依赖可能会使创新能力下降,因为总是依靠工具生成的代码,缺乏自主思考和创新的锻炼。而且,过度依赖可能会使创新能力下降,因为总是依靠工具生成的代码,缺乏自主思考和创新的锻炼。在快速变化的技术环境中,要保持对新技术的敏感度,积极参与行业交流和技术社区。比如,在金融科技领域,将编程与金融知识整合,开发创新性的金融产品。原创 2024-08-17 22:44:51 · 554 阅读 · 0 评论 -
如何看待“低代码”开发平台的兴起?
开发者应积极学习新的技术和方法,提升自身的综合素质,以应对这些挑战。对于简单的业务流程管理系统,如小型企业的订单处理系统,低代码平台能够快速实现需求。在企业应用开发中,低代码平台的优势在于能够快速响应业务需求的变化,降低开发成本。例如,由于非专业开发者对技术细节的理解不足,可能导致代码的规范性和可维护性较差。此外,预构建的组件和模板可能存在安全漏洞。例如,对开发者的技术要求发生了变化,需要他们具备更强的业务理解能力和系统集成能力。它减少了繁琐的代码编写工作,通过可视化操作和模板复用,大大缩短了开发周期。原创 2024-08-17 22:41:31 · 408 阅读 · 0 评论 -
如何高效记录并整理编程学习笔记?
链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。原创 2024-08-17 22:38:04 · 498 阅读 · 0 评论 -
程序员如何平衡日常编码工作与提升式学习?
新技术、新理论的掌握,能够让我们在面对复杂问题时,拥有更多的解决方案,提高工作效率和质量。当我们为了解决一个特定的技术难题,去学习相关的新技术时,不仅解决了当下的问题,还提升了自己的能力。反之,通过自主学习获得的新知识和技能,也能够在日常编码工作中得到应用和实践,进一步加深我们对这些知识的理解和掌握。比如,学习了新的编程语言特性或算法,在实际项目中运用它们,可以优化代码结构,提高系统性能。关键在于我们要有明确的规划和目标,合理分配时间和精力,将学习融入到工作之中,让工作成为学习的实践场所。原创 2024-08-17 22:28:56 · 291 阅读 · 0 评论
分享