文章目录
- 一、功能简介
- 二、软件设计
- 三、实验现象
- 联系作者
一、功能简介
本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶等。
主要功能:
系统运行后,LCD1602液晶显示各种效果。
二、软件设计
/*
作者:嗨小易(QQ:3443792007)*/#include <Wire.h>
#include <LiquidCrystal_I2C.h>#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args) write(args);
#else
#define printByte(args) print(args,BYTE);
#endifuint8_t bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
uint8_t note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
uint8_t duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
uint8_t retarrow[8] = { 0x1,0x1,0x5,0x9,0x1f,0x8,0x4};LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line displayvoid setup()
{lcd.init(); // initialize the lcd lcd.backlight();lcd.createChar(0, bell);lcd.createChar(1, note);lcd.createChar(2, clock);lcd.createChar(3, heart);lcd.createChar(4, duck);lcd.createChar(5, check);lcd.createChar(6, cross);lcd.createChar(7, retarrow);lcd.home();lcd.print("Hello world...");lcd.setCursor(0, 1);lcd.print(" i ");lcd.printByte(3);lcd.print(" arduinos!");delay(2000);displayKeyCodes();}// display all keycodes
void displayKeyCodes(void) {uint8_t i = 0;while (1) {lcd.clear();lcd.print("Codes 0x"); lcd.print(i, HEX);lcd.print("-0x"); lcd.print(i+16, HEX);lcd.setCursor(0, 1);for (int j=0; j<16; j++) {lcd.printByte(i+j);}i+=16;delay(2000);}
}void loop()
{}
三、实验现象
B站演示视频:https://space.bilibili.com/444388619
联系作者
视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。