ア☆イ☆ツ

http://www.likenote.com/listener/article/799

[img]http://www.likenote.com/images/dj/2006/11/1163396345_28.jpg[/img]

为了给老莫的提提精神,同时热烈欢迎新DJ玛吉阿米,偶来推荐首欢快的歌吧。虽然听不懂歌词,不过曲调就和ozone那首一样听着就乐呼呼。

这个歌是搞笑动画《超寿兰/Super Gals》的片头,心情不好的时候千万别听那些爱得死去活来的音乐阿!去看看搞笑动画,听听相声最是有效,个人心得。

这个动画描述寿兰这个出身警察世家(所以容易发正义春)的东京涉谷大姐大(女流氓)的生活趣事,大家看看背景介绍啦,收回这句话,其实最好直接去看动画!

歌词我找不到,但是动画里有翻译的,我就手打吧(感动吧各位?)

最近我不管做什么事
那家伙的脸总会出现
一天24小时
全部都被那家伙所占据
来吧,开始工作了
但那家伙却老是在烦我
努力努力努力的
工作着
可是我却一直被他左右着
不管做什么都会想到他的我
已经被他全部占据
总之要是没有他
我什么也无法做
他就这么一直存在存在存在
在我心中

汗,扫了遍歌词才发现这其实是首露骨的情歌(偶好迟钝)。。。算啦,老莫不会介意的啦
拉拉拉(闪人~~)
<think>好的,我需要帮助用户了解如何在LCD1602液晶模块上显示片假名字符,特别是与游戏《明日方舟》(Arknight)相关的内容。首先,我需要回顾一下LCD1602的基本工作原理和字符显示机制。 根据引用[3],LCD1602通过控制液晶分子的方向来显示字符,通常支持ASCII码和一些自定义字符。但片假名属于日文字符,不在标准ASCII范围内。因此,用户可能需要使用自定义字符功能来实现显示。 接下来,查阅引用[4],提到LCD1602的地址设置需要最高位D7为1,例如地址0x05实际写入0x85。这说明在编程时需要正确设置地址,尤其是在定义自定义字符的位置时。 然后,考虑如何生成片假名的点阵数据。每个片假名字符需要5x8或5x10的点阵,但LCD1602通常使用5x8。用户需要将片假名的形状转换为二进制数据,每个字节表示一行的像素点。例如,字符“ア”可能需要特定的点阵模式。 此外,引用[2]中的示例代码结构可以作为参考,初始化LCD、发送命令和数据。需要确保代码中正确配置了数据端口、控制信号(RS, RW, EN)以及时序延迟。 需要注意的是,LCD1602的CGRAM只能存储最多8个自定义字符。如果用户需要显示多个片假名,可能需要分批次加载或复用相似字符。例如,《明日方舟》中的角色名可能包含多个片假名,需合理规划字符使用。 最后,测试代码时,应逐步验证每个步骤:初始化是否正确、自定义字符是否成功写入CGRAM、地址设置是否准确。使用示波器或调试输出检查信号时序,确保数据正确传输。</think>### 如何在LCD1602上显示片假名字符? LCD1602默认仅支持ASCII字符和少量自定义符号(共208种预定义字符)[^3]。片假名属于日文字符集,需通过**自定义字符生成功能(CGRAM)**实现。以下是实现步骤及示例代码(以显示《明日方舟》中的片假名"アークナ"为例): --- #### 步骤1:定义片假名的点阵数据 LCD1602的CGRAM支持8个5x8像素自定义字符。每个字符需要8字节数据,每字节对应一行像素(最高3位无效)。 例如,定义片假名"ア"(代码0x00)、"ー"(代码0x01): ```c // 自定义字符数据(*表示亮像素) uint8_t customChar[] = { 0x00,0x00,0x0E,0x11,0x10,0x10,0x10,0x00, // ア (0x00) 0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00 // ー (0x01) }; ``` --- #### 步骤2:初始化LCD并写入CGRAM 根据引用[4],需先发送CGRAM地址指令(0x40 + 地址偏移): ```c void LCD_Init() { // 初始化序列(参考引用[2]) LCD_Command(0x38); // 8位模式,2行显示 LCD_Command(0x0C); // 显示开,光标关 LCD_Command(0x06); // 光标右移 // 写入自定义字符到CGRAM LCD_Command(0x40); // CGRAM起始地址 for(int i=0; i<sizeof(customChar); i++) { LCD_Data(customChar[i]); } } ``` --- #### 步骤3:在DDRAM中显示自定义字符 根据引用[4],显示位置需设置DDRAM地址(例如第一行开头为0x80): ```c // 显示"アークナ" LCD_Command(0x80); // 第一行起始地址 LCD_Data(0x00); // 显示"ア" LCD_Data('-'); // ASCII横线(替代长音符号"ー") LCD_Data('k'); // 后续字母用ASCII实现 // ... 其他字符同理 ``` --- #### 示例代码整合(基于引用[2]) ```c // LCD1602.h #define LCD_RS P2_0 #define LCD_EN P2_1 #define LCD_DB P0 void LCD_Command(uint8_t cmd); void LCD_Data(uint8_t dat); // LCD1602.c void LCD_Write(uint8_t dat, bit rs) { LCD_RS = rs; LCD_DB = dat; LCD_EN = 1; delay(1); LCD_EN = 0; delay(1); } void LCD_Command(uint8_t cmd) { LCD_Write(cmd, 0); } void LCD_Data(uint8_t dat) { LCD_Write(dat, 1); } // 主程序 void main() { LCD_Init(); LCD_Command(0x80); // 第一行 LCD_Data(0x00); // ア LCD_Data('-'); // ー LCD_Data('k'); // ク // ... 其他字符 } ``` --- #### 注意事项 1. **CGRAM限制**:最多同时存储8个自定义字符,出需动态替换。 2. **字符设计工具**:可使用在线工具(如LCD Character Creator)生成点阵数据。 3. **《明日方舟》适配**:游戏LOGO中的特殊符号需分解为多个自定义字符组合显示。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值