完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#define SCL_1 PORTAbits.RA11 //74ls164 #define SDA_1 PORTAbits.RA10 #define E PORTBbits.RB13 //lcd #define RS PORTBbits.RB12 #define LCD PORTBbits.RB11 void delay_us(unsigned int j) { unsigned int i; for(i=0;i++;i { Nop(); } } void __delay_ms(unsigned int i) { unsigned int j; for(;i>0;i--) for(j=0;j<130;j++); } void write_command(unsigned char data)//lcd写指令 { unsigned char i ,temp; for(i=0;i<8;i++) { temp=data; temp&=0x80; if(temp==0x80) SDA_1=1; else SDA_1=0; data=data<<1; SCL_1=0; // __delay_us(1); delay_us(1); SCL_1=1; } RS=0; E=1; // __delay_us(1); delay_us(1); E=0; } void write_data(unsigned char data) //lcd写数据 { unsigned char i ,temp; for(i=0;i<8;i++) { temp=data; temp&=0x80; if(temp==0x80) SDA_1=1; else SDA_1=0; data=data<<1; SCL_1=0; //__delay_us(1); delay_us(1); SCL_1=1; } RS=1; E=1; // __delay_us(1); delay_us(1); E=0; } void lcd_write_char(unsigned char x, unsigned char y,unsigned char dat) { write_data(dat); } void lcd_init(void) { write_command(0x01); /*清除显示*/ __delay_ms(10); write_command(0x38); /*设置 8 位格式,2 行,5*7*/ __delay_ms(10); write_command(0x0c); /*整体显示,关光标,不闪烁*/ __delay_ms(10); write_command(0x06); /*设定输入方式,增量不移位*/ __delay_ms(10); } void display2(void) { write_command(0xc0); /*初始位置*/ lcd_write_char(0,2‘2’); lcd_write_char(1,2,‘3’); lcd_write_char(2,2,'.'); } void init(void) { PORTA=0x0000; TRISA=0x0000; PORTB=0x0000; TRISB=0xc000; ///RB14 RB15 为输入 PORTC=0x0000; TRISC=0x0001; ////RC0为输入 lcd_init(); ////液晶屏显示初始化 void main(void) { init(); while(1) { write_command(0x38); /*设置 8 位格式, 2行, 5*7*/ write_command(0x0c); /*整体显示,关光标,不闪烁*/ write_command(0x06); /*设定输入方式,增量不移位*/ LCD=1; display2(); } 之前改程序用在PIC18F2420上能正常驱动1602正常显示(SDL_1 SCL_1 用的是74LS164) 但是现在把该程序用在PIC24FV32KA304上时显示屏不能正常显示 屏幕出现闪动 不知道是为什么? 与配置位和端口复用有关吗 |
|
相关推荐
3个回答
|
|
MICROCHIP ATMEL代理 如需支持烦请联系 QQ776514862
|
|
|
|
dddddddddddddddddddddddddddddddddd
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2077 浏览 1 评论
3508 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2333 浏览 2 评论
2760 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4018 浏览 5 评论
968浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6351浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 21:57 , Processed in 0.721436 second(s), Total 90, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号