共享自编可用的OCMJ2*8c串口函数

2020-01-22 12:13发布

//LCD串口函数
void lcd_write_data(unsigned char rs,unsigned char cdata)//rs==0,为命令,==1,为数据
{
        unsigned char i,temp;
       
        LCD_CS=0;
        LCD_CLK=0;
        if(rs==0)
                {
                        temp=(0xf8);//写入命令11111(RW)(RS)0
                }
                else
                        {
                                temp=(0xfa);//写入数据
                        }
       
        LCD_CS=1;//启动
                _nop_();

        for(i=0;i<8;i++)//启动写入命令
        {
                LCD_STD=(bit)(temp&0x80);
                temp<<=1;
                LCD_CLK=1;
                LCD_CLK=0;

        }
        temp=(cdata&0xf0);//写入第一高4位
        for(i=0;i<8;i++)
        {
                LCD_STD=(bit)(temp&0x80);
                temp<<=1;
                LCD_CLK=1;
                LCD_CLK=0;
        }
       
        cdata&=0x0f;
        cdata<<=4;
        temp=cdata;//写入第二低4位
        for(i=0;i<8;i++)
        {
                LCD_STD=(bit)(temp&0x80);
                temp<<=1;
                LCD_CLK=1;
                LCD_CLK=0;
        }
       
        LCD_CS=0;//关闭
}
//LCD初始化
void lcd_init(void)
{
        lcd_write_data(lcd_cmd,0x30);//功能设定,基本指令动作
        lcd_write_data(lcd_cmd,0x0c);//显示开关,关闭光标,关闭闪烁
        lcd_write_data(lcd_cmd,0x01);//清显示
        lcd_write_data(lcd_cmd,0x14);//点设定,光标右移动,AC自动+1
        lcd_write_data(lcd_cmd,0x02);//地址归位
}
//某一行写入数据,数组型参数,注意不要大于16byte
void lcd_write_msg(unsigned char page,unsigned char *str)
{
        unsigned char i=0;
        if(page==0)//第一行
                {
                        lcd_write_data(lcd_cmd,0x80);
                }
                else//第二行
                        {
                                lcd_write_data(lcd_cmd,0x90);
                        }
                       
        while((*str!=0)&&(i<16))//最大限制为16
                {
                        lcd_write_data(lcd_dat,*str++);
                        i++;
                }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
jetli
1楼-- · 2020-01-22 14:00
金鹏的厂家网址不是有例程嚒,
jxcrg_t35
2楼-- · 2020-01-22 15:41
jetli 发表于 2014-9-10 00:00
金鹏的厂家网址不是有例程嚒,

根据手册编写的,这样才能享受DIY过程,哈哈
LZ19992005
3楼-- · 2020-01-22 21:24
下来看看  研究研究  谢谢分享
guoj
4楼-- · 2020-01-23 01:16
手上有个金鹏的屏,有机会跑一下
xrydt
5楼-- · 2020-01-23 06:08
 精彩回答 2  元偷偷看……
foxcase
6楼-- · 2020-01-23 06:32
自己写的踏实

一周热门 更多>