首页 > 其他分享 >C51--05---LCD1602调试工具

C51--05---LCD1602调试工具

时间:2025-01-08 17:01:01浏览次数:1  
标签:C51 05 -- void LCD LCD1602 include ShowNum 调试

一、LCD1602调试工具

单片机调试工具:

  • 数码管
  • 液晶屏
  • 串口

数码管需要不断进行扫描,一旦扫描不及时就会不断闪烁,并且可显示的数据太过局限;
串口需要使用电脑进行发送指令,不易操作与携带;
所以此处使用液晶屏是比较好的选择。

LCD1602作为调试工具 提供类似打印函数(printf())的功能,能够很方便的观察单片机内部数据的变化情况,便于调试和演示。

lcd1602 占用了P0、P2部分I/0 引脚冲突 使用LCD1602 数码管和部分LED会失效。

二、LCD1602 实例

本次已经将LCD1602的功能代码文件提供好,所以学者只需要将文件加入到工程中,并了解如何调用LCD1602已经封装好的功能,进行数据和内容的显示即可。

具体实现如下:

点击查看代码
#include <REGX52.H>
#include "LCD1602.h"
void main()
{
	 LCD_Init();
	 while(1)
	 {
		LCD_ShowChar(1,1,'A');
		LCD_ShowString(1,3,"hello");
	    LCD_ShowNum(1,9,123,2);  //如果长度不够,会只显示后几位
	    LCD_ShowNum(1,12,789,3);  //如果长度不够,会只显示后几位
		LCD_ShowSignedNum(2,1,-66,2);
		LCD_ShowHexNum(2,5,0x0A,2);
		LCD_ShowBinNum(2,9,0x55,8);
	 
	 }
}

三、计数器小游戏实现:

点击查看代码
#include <REGX52.H>
#include "LCD1602.h"
#include "Delay.h"
unsigned int Result;
void LCD1602_display();
void CountGame();
void main()
{
	 LCD_Init();
	 while(1)
	 {
		//LCD1602_display();
		 CountGame();
	 
	 }
}
// LCD1602计数小游戏
void CountGame(){

	  Result++;
	  LCD_ShowNum(1,1,Result,3);  //如果不够3位 会自动补0;
	  Delay(100);

}

标签:C51,05,--,void,LCD,LCD1602,include,ShowNum,调试
From: https://www.cnblogs.com/xff1218/p/18659945

相关文章

  • 路科MCDF项目UVM环境搭建之mcdf_refmod
    mcdf_refmod1.创建一个get_reg_trans端口,三个chnl端口,三个tlm_fifo便于与外部模块通信;2.传递接口,创建regs[3]来模拟真实的寄存器控制通道使能(en),arb优先级(prio),整合数据包的长度(len)(定义一个结构体mcdf_reg_t)。 typedefstructpacked{biten;bit[1:0]prio;......
  • Queue
    队列的本质Queue的本质也是封装了特殊存储规则的object[]数组Queue是队列存储容易,是一种先进先出的数据结构//申明Queuequeue=newQueue();//增加//因为是object数组,所以可以存储各种内容queue.Enqueue(1);queue.Enqueue("123");//取//先进先出objectv=queu......
  • SpringBoot日常:集成Kafka
    文章目录1、pom.xml文件2、application.yml3、生产者配置类4、消费者配置类5、消息订阅6、生产者发送消息7、测试发送消息本章内容主要介绍如何在springboot项目对kafka进行整合,最终能达到的效果就是能够在项目中通过配置相关的kafka配置,就能进行消息的生产和消费。......
  • Vue 路由proprs配置
    1、作用让路由组件便于接受参数2、写法(三种)src/router/index.jsa、简单值为对象,通过props传递给组件,组件需要接受{name:'detail',//params参数需要占位符path:'detail/:id/:title',component:DetailData,//props值为对象,props中的所有......
  • macOS删除程序,快准狠且不留痕,看这里!
    作为一名自由的互联网从业人员,俊伟平时经常下载各种软件来辅助他的工作。随着时间的推移,他的苹果电脑(MacBookPro)上积累了大量的软件,有些软件只用了一次就再也没动过,而有些旧软件的更新版本早已安装,但旧版本的残留文件依然留在系统中。“我的Mac运行越来越慢了,是不是该删除一......
  • 深入解析IPoIB驱动中的PKey管理与设备初始化
    在Linux内核中,IPoverInfiniBand(IPoIB)是一种将IP协议运行在InfiniBand网络上的技术。为了实现IPoIB网络设备的高效管理,内核驱动需要处理许多复杂的任务,包括PKey(PartitionKey)的管理、设备的初始化与启动等。本文将深入分析IPoIB驱动中的关键函数和机制,特别是ib_find_pkey、ipo......
  • apollo常用命令方法总结
    解题流程1、打开终端ctrl+Alit+T2、进入Apollo路径cdapollo/application-pnc3、aemstart4、aementer5、aembootstrapstart--plus6、buildtoolprofileconfiginit--package包名--profile=default7、aemprofileusedefault8、根据题目修改配置参数拉取源......
  • apollo道路施工,换道行驶
    路径:apollo_workspace/modules/routing/strategy/a_star_strategy.cc下载源码:buildtoolinstallrouting解题思路:1、首先检查from_node   LaneId 对应当前路段,如果是,则执行continue语句,跳过当前循环的本次迭代,直接进入下一次迭代。2、再次检查from_node的LaneI......
  • 简化芯片设计传统,AI训练的新型算法正改变芯片研发范式
    编辑丨&自1971年第一个商用微处理器的草图面世以来,芯片设计已经取得了长足的进步。但是,随着芯片变得越来越复杂,设计人员必须解决的问题也越来越复杂。而我们目前的工具并不总是能胜任这项任务。当今使用的自动化工具通常无法解决设计过程中的现实问题,这意味着必须人工介入,......
  • Vue3 - Element Plus 报错 Uncaught TypeError: Cannot set property ‘value‘ of un
    前言关于此问题网上的教程都无法解决,如果您的报错信息与我相似,即可解决。在vue3+element-plus项目开发中,解决报错:UncaughtTypeError:Cannotsetproperty‘value‘ofundefined,使用组件时提示错误,意思是尝试修改一个不存在的对象属性或者没有权限修改的属性,很奇怪......