久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
AI生成的PCF8574T驅動1602代碼
[打印本頁]
作者:
太陽雨ZW
時間:
2025-5-5 12:10
標題:
AI生成的PCF8574T驅動1602代碼
網購幾塊PCF8574T驅1602液晶模塊,代碼是壇里前輩寫的,實驗液晶不能顯示,檢查硬件沒有錯誤,始終不能解決問題。無奈之下求助DpSk,生成的代碼編譯時出錯,提示67行數據類型錯誤,將66行子函數的參數rs數據類型由bit改為unsigned char后編譯成功,下載到單片機顯示正常。AI生成的代碼也不錯。
#include <STC15.h>
#include <intrins.h>
#define PCF_ADDR 0x4E
sbit SDA = P0^1; // I2C數據線
sbit SCL = P0^0; // I2C時鐘線
void delay_us(unsigned int us) {
while (us--) {
_nop_();
_nop_();
_nop_();
_nop_();
}
}
void delay_ms(unsigned int ms) {
unsigned int i, j;
for (i = 0; i < ms; i++)
for (j = 0; j < 114; j++);
}
void I2C_Start() {
SDA = 1;
SCL = 1;
delay_us(5);
SDA = 0;
delay_us(5);
SCL = 0;
}
void I2C_Stop() {
SDA = 0;
SCL = 1;
delay_us(5);
SDA = 1;
delay_us(5);
}
void I2C_WriteByte(unsigned char dat) {
unsigned char i;
for (i = 0; i < 8; i++) {
SDA = (dat & 0x80) ? 1 : 0;
dat <<= 1;
SCL = 1;
delay_us(5);
SCL = 0;
delay_us(5);
}
SDA = 1; // 釋放總線等待ACK
SCL = 1;
delay_us(5);
SCL = 0;
}
void PCF8574_Write(unsigned char dat) {
I2C_Start();
I2C_WriteByte(PCF_ADDR);
I2C_WriteByte(dat);
I2C_Stop();
}
void lcd_send_nibble(unsigned char nibble, unsigned char rs) {
unsigned char data_pcf;
// 數據位: P4-P7, RS: P0, E: P2, Backlight: P3 (開啟)
data_pcf = (nibble << 4) | (rs << 0) | (1 << 3);
// E下降沿
PCF8574_Write(data_pcf & ~(1 << 2)); // E=0
delay_us(1);
PCF8574_Write(data_pcf | (1 << 2)); // E=1
delay_us(1);
PCF8574_Write(data_pcf & ~(1 << 2)); // E=0
delay_us(100);
}
void lcd_send_byte(unsigned char dat, bit rs) {
lcd_send_nibble(dat >> 4, rs); // 高四位
lcd_send_nibble(dat & 0x0F, rs); // 低四位
}
void lcd_init() {
delay_ms(50);
lcd_send_nibble(0x03, 0);
delay_ms(5);
lcd_send_nibble(0x03, 0);
delay_ms(1);
lcd_send_nibble(0x03, 0);
delay_us(100);
lcd_send_nibble(0x02, 0);
delay_us(100);
lcd_send_byte(0x28, 0); // 4位, 2行, 5x8
delay_us(100);
lcd_send_byte(0x0C, 0); // 顯示開, 光標關
delay_us(100);
lcd_send_byte(0x06, 0); // 增量不移屏
delay_us(100);
lcd_send_byte(0x01, 0); // 清屏
delay_ms(2);
}
void lcd_set_cursor(unsigned char row, unsigned char col) {
unsigned char address = (row == 0) ? 0x80 : 0xC0;
lcd_send_byte(address + col, 0);
}
void lcd_write_string(char *str) {
while (*str) {
lcd_send_byte(*str++, 1);
}
}
void main() {
lcd_init();
lcd_set_cursor(0, 0);
lcd_write_string("Hello World!");
lcd_set_cursor(1, 0);
lcd_write_string("51 & PCF8574T");
while (1);
}
作者:
fj51hei
時間:
2025-5-6 08:55
厲害,弄個用AI的教程!!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产一级特黄aaa大片评分
|
成人久久久久
|
欧美黄色一区
|
精品久久久久久久久久久院品网
|
国产成人99久久亚洲综合精品
|
国产精品一区在线观看
|
影音先锋久久
|
久久精品国产一区二区
|
国产综合精品一区二区三区
|
日韩国产高清在线观看
|
深夜福利亚洲
|
欧美国产视频一区二区
|
综合二区
|
成人欧美一区二区三区在线观看
|
亚洲大片一区
|
国产福利在线看
|
成人精品视频
|
色婷婷综合网
|
999国产视频
|
中文字幕一区二区三区在线观看
|
久久综合狠狠综合久久综合88
|
91久久国产综合久久91精品网站
|
欧美国产视频
|
亚洲国产精品一区在线观看
|
精品一区国产
|
国产色
|
久久五月婷
|
伊人热久久
|
国产精品久久久久久久久免费丝袜
|
国产在线观看网站
|
在线一区二区三区
|
91原创视频在线观看
|
拍拍无遮挡人做人爱视频免费观看
|
欧美一区2区三区4区公司
|
欧美日本韩国一区二区三区
|
日日摸日日添日日躁av
|
国产亚洲欧美在线视频
|
国产精品久久久久久久免费大片
|
91人人在线
|
免费成年网站
|
8x国产精品视频一区二区
|