单片机1602液晶显示

news/2024/9/22 22:23:11/

基于单片机STC12C5A60S2芯片的1602液晶显示,跳线按照要求连接

附上主程序

#include "stc12c5a60s2.h"
#include "intrins.h"
#include "onewire.h"#define uchar unsigned char
#define uint unsigned intuchar table[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};	   //数码uint temp = 123;void display_C()
{write_com(0x80);   //命令先将指针定义到第一行第一个字处write_data('T');write_data('e');write_data('m');write_data('p');write_data(':');write_data('1' );write_data('2' );write_data('3' );write_data('4' );write_data('C');
}void display_L()
{write_com(0xC0);   //命令先将指针定义到第二行第一个字处write_data('d');write_data('i');write_data('s');write_data(':');write_data( table[temp/100] );write_data( table[temp/10%10] );write_data( table[temp%10%10] );
}void main()
{LCD_init();		//初始化LCDwhile(1){display_C(); display_L();   	}	}

在COM中的(0XC0),(0X80)负责液晶显示的第一行和第二行

以下附上.C文件

#include "stc12c5a60s2.h"
#include "intrins.h"#define uint unsigned int
#define uchar unsigned charsbit lcden=P2^5;
sbit lcdrw=P1^1;
sbit lcdrs=P1^0;void delay(uint z)
{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);
}void write_com(uchar com)
{lcdrw=0;lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;
}void write_data(uchar date)
{lcdrs=1;  //选择写命令模式P0=date;  //将要写的命令字送到数据总线上delay(5); //稍做延时以待数据稳定lcden=1;  //使能端给一个高脉冲,因为初始化函数中已将leden置为000delay(5); //稍作延时lcden=0;  //将使能端置0已完成高脉冲
}void LCD_init()
{lcden=0;write_com(0x38);  //设置16*2显示5*7点阵,8位数据接口write_com(0x0c);  //设置开显示,不显示光标write_com(0x06);  //写一个字符后地址指针加11write_com(0x01);  //显示清0,数据指针清00}

附上.H文件

#ifndef _LCD1602_H
#define _LCD1602_H#define uint unsigned int
#define uchar unsigned charvoid delay(uint z);
void write_com(uchar com);
void write_data(uchar date);
void LCD_init();#endif

上面做了一个基础显示,如需继续写入,只用把date数据往后复制添加即可


http://www.ppmy.cn/news/348037.html

相关文章

lvgl -03按钮 gui实现

static void btn_event_cb(lv_event_t * e) //事件处理函数 {lv_event_code_t code lv_event_get_code(e);lv_obj_t * btn lv_event_get_target(e);if(code LV_EVENT_CLICKED) {static uint8_t cnt 0;cnt;/*Get the first child of the button which is the label and cha…

液晶显示模块制作生产流程

液晶显示模块身边到处可见,比如固定电话机,比如手机,现在的智能家居,显示时代在不断上升,那液晶显示屏制作生产流程需要经过哪几道工序呢,下面就让小优来为大家介绍一下清达光电的液晶显示屏制作流程: 1.LC…

C++第十四章运算符重载应用案例

1&#xff09;//函数对象包装器&#xff1a;就是相当于把函数也封装成容器使用&#xff1b; //支持4种函数的封装:普通函数&#xff0c;成员函数&#xff0c;匿名函数&#xff0c;仿函数 #include <iostream> #include <string> #include <map> #include &…

【哈佛积极心理学笔记】第2讲 为什么要学习积极心理学

第2讲 为什么要学习积极心理学 The first reason is that it is important to focus on what works. Because what works or what we focus on rather creates reality. Second reason is that being happy is not just the negation of the unhappiness. It doesn’t mean t…

软考A计划-2023系统架构师-知识点集锦(2/4)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

Springboot整合Elasticsearch(一):Linux下安装 Elasticsearch 8.x

1、下载安装包&#xff0c;官方下载地址&#xff1a; Past Releases of Elastic Stack Software | Elastic elasticsearch-8.8.1-linux-x86_64.tar.gz 2、拷贝到 Linux 服务器上&#xff0c; 执行解压缩命令 安装包路径&#xff1a;/home/ELK_8.8.1 [rootlocalhost ELK_8.8.1]…

android 炫酷3d主页,五款超酷安卓手机3D桌面软件合辑推荐

3D桌面一直以来都是备受大家青睐的东西&#xff0c;没办法&#xff0c;3D桌面主题既绚丽又实用&#xff0c;没人会不喜欢。3D桌面给人们展示的是一个不同维度的世界&#xff0c;人们会感觉更立体、更逼真&#xff0c;色彩效果也会更加灿烂&#xff0c;给我们以非常好的视觉享受…

【笔记】Android WallpaperService实现视频壁纸、相机桌面

这几天对前段事件比较火的视频壁纸产生了兴趣&#xff0c;也已经有了很多的实现&#xff0c;这里自己做下记录&#xff0c;也尝试着实现了一下相机壁纸&#xff0c;好玩是好玩就是有点费电。 为了兼容6.0之后的权限请求&#xff0c;可以看下之前写的Android6.0之后权限请求工具…