1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电路图如下
下面是lcd1602.c文件内容: #include 《avr/io.h》#include 《util/delay.h》#define INT8U unsigned char//定义LCD1602对应的端口,方便后面使用。#define LCD1602_CTL_DDR DDRB#define LCD1602_CTL_PORT PORTB#define LCD1602_PIN PINC#define LCD1602_DDR DDRC#define LCD1602_PORT PORTC#define RS_1() LCD1602_CTL_PORT |= _BV(PB0)#define RS_0() LCD1602_CTL_PORT &= ~_BV(PB0)#define RW_1() LCD1602_CTL_PORT |= _BV(PB1)#define RW_0() LCD1602_CTL_PORT &= ~_BV(PB1)#define E_1() LCD1602_CTL_PORT |= _BV(PB2)#define E_0() LCD1602_CTL_PORT &= ~_BV(PB2)//avr忙检测void Busy_Check(){ LCD1602_DDR = 0x00; //把端口设置为输入 RS_0(); RW_1(); E_1(); _delay_us(20); while((LCD1602_PIN & 0X80) == 1); //最高位为1表示忙; E_0(); LCD1602_CTL_DDR = 0XFF; //把端口设置回输出状态}//写一个命令到lcd1602void Write_Command(INT8U CMD){ Busy_Check(); RS_0(); RW_0(); LCD1602_PORT = CMD; E_1(); E_0();}//写一个字节到lcd1602void Write_Data(INT8U DAT){ Busy_Check(); RS_1(); RW_0(); LCD1602_PORT = DAT; E_1(); E_0();}//在x位,y行,写入字符串str;void Display_String(INT8U x,INT8U y,char *Str){ INT8U len,i; if (y ==0) { Write_Command(0x80 | x); }else if (y == 1) { Write_Command(0xC0 | x); } for (i=0; i《16 && Str != ‘ ’; i++) { Write_Data(Str); } }//初始化lcd1602,在main.c中直接调用该函数就可以初始化lcd1602;void Init_LCD1602(){ LCD1602_DDR = 0XFF; LCD1602_PORT = 0X00; LCD1602_CTL_DDR |= 0X0F; LCD1602_CTL_PORT = 0X00; Write_Command(0x38); _delay_ms(15); Write_Command(0x01); _delay_ms(15); Write_Command(0x06); _delay_ms(15); Write_Command(0x0c); _delay_ms(15);} 下面是lcd1602.h的定义: #ifndef LCD1602_H_#define LCD1602_H_#define F_CPU 4000000UL#define INT8U unsigned charextern void Busy_Check();//忙检测extern void Write_Command(INT8U Command);//写指令extern void Write_Data(INT8U DATA);//写数据extern void Display_String(INT8U x,INT8U y,char *Str);//从y行x位开始按序写Str字符串extern void Init_LCD1602();//初始化LCD1602#endif 下面是main.c的内容,简单测试一下,功能是否实现 #include “lcd1602.h”int main(void){ Init_LCD1602(); Display_String(0,0,“POWER: 32.25 dBm”); Display_String(0,1,“ OR 1.007 W”); while(1);} |
|
|
|
只有小组成员才能发言,加入小组>>
2548 浏览 0 评论
1145浏览 2评论
744浏览 1评论
498浏览 0评论
263浏览 0评论
424浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 17:03 , Processed in 1.491582 second(s), Total 77, Slave 59 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号