历史上的今天
返回首页

历史上的今天

今天是:2024年11月16日(星期六)

2019年11月16日 | 0802LCD 4位显示程序 PIC单片机C语言程序

2019-11-16 来源:51hei

#include

#include

//#include"head.h"

#define uchar unsigned char 

#define uint unsigned int 

#pragma config FOSC = XT        // Oscillator Selection bits (XT oscillator)

#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = ON       // Power-up Timer Enable bit (PWRT enabled)

#pragma config BOREN = OFF      // Brown-out Reset Enable bit (BOR disabled)

#pragma config LVP = ON        // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)

#pragma config CPD = OFF        // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF        // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)


//char tab[]="0123456789";

#define uchar unsigned char 

#define uint unsigned int 

void LCD_write_cmd(uchar command);

void LCD_write_command(uchar command);

void LCD_en_write(void);

void LCD_set_xy( unsigned char x, unsigned char y );

void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s);

void LCD_write_data(unsigned char data);

void delay_nus(unsigned int n);

void delay_nms(unsigned int n);   

#define RS RC2

#define EN RC3

#define DB7 RC7

#define DB6 RC6

#define DB5 RC5

#define DB4 RC4

#define LCD_DATA_PORT PORTC

#define LCD_DATA_TRIS TRISC

   

    /*------------------------------------------------------------------------------ 

    函数说明 

    ------------------------------------------------------------------------------*/ 

void LCD_init()

{

    TRISD=0x00; //数据口方向为输出 

    PORTD=0x00;

    TRISC=0x00; //数据口方向为输出 

    PORTC=0x00;//设置EN、RS/数据为输出 

       

    LCD_write_cmd(0x30);//4位的指令 

    delay_nms(5); 

    LCD_write_cmd(0x30); 

    delay_nus(200);  

    LCD_write_cmd(0x30); 

    delay_nms(1); 

    LCD_write_cmd(0x20);

    LCD_write_cmd(0x20); //4位显示

    LCD_write_cmd(0x80); 


    LCD_write_cmd(0x00); //显示开 游标、闪烁不显示

    LCD_write_cmd(0x80); 

    

    LCD_write_cmd(0x00); //清屏

    LCD_write_cmd(0x01); 

    

    LCD_write_cmd(0x00); //两行 5*7

    LCD_write_cmd(0xc0); 

}

void LCD_write_cmd(uchar command) //写指令 

    delay_nus(10); 

    RS=0;

    EN=0;//使能清零 

    LCD_DATA_PORT&=0x0f; //清除端口

    delay_nus(2);

    EN=1;

    LCD_DATA_PORT |= (command & 0xf0);//高4位不用改

    delay_nus(2);

    EN=0;

}


void LCD_write_command(uchar command) //写指令 

    LCD_write_cmd(command);

    LCD_write_cmd(command<<4);

}


void LCD_write_data(unsigned char data) //写数据 

    delay_nus(10); 

    RS=1;

    EN=0;//使能清零

    LCD_DATA_PORT&=0x0f;

    EN=1;

    LCD_DATA_PORT |= (data & 0xf0);//高4位不用改

    delay_nus(2);

    EN=0;

    delay_nus(2);

    

    LCD_DATA_PORT&=0x0F; //清低四位 

    EN=1;

    LCD_DATA_PORT |= ((data << 4) & 0xf0);//发送低4位

    delay_nus(2);

    EN=0;

  } 


void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s) //列x=0~15,行y=0,1

    LCD_set_xy( X, Y ); //写地址 

    while (*s) // 写显示字符 

    { 

        LCD_write_data( *s ); 

        s ++; 

    } 


void LCD_set_xy( unsigned char x, unsigned char y )  //写地址函数 

    unsigned char address; 

    if (y == 0) address = 0x80 + x; 

    else        address = 0xc0 + x; 

    LCD_write_command( address); 

   


void delay_nms(unsigned int n) //N ms延时函数 

    uint a,b;

    for(a=n;a>0;a--)

        for(b=80;b>0;b--);


void delay_nus(unsigned int n) //N us延时函数 

    unsigned int i; 

    for (i=0;i}

void main()

{

     LCD_init();

//    LCD_write_command(0x0d); //光标开

     while(1)

     {

         RD0=1;

         delay_nms(1000);

         RD0=0;

         delay_nms(1000);

        LCD_write_string(0,0,"ceshiLCD");

        LCD_write_string(0,1,"hahahaha");

        delay_nms(2000);

        

     }

}


推荐阅读

史海拾趣

HEIMANN公司的发展小趣事

在电子行业中,HEC Inc(以下简称HEC)作为一家知名的科技公司,其发展历程充满了挑战与机遇。以下是五个关于HEC发展起来的相关故事,每个故事均基于事实描述:

1. 技术创新引领市场突破

HEC自成立之初便致力于技术创新,在通信设备领域取得了显著成就。公司研发的高效路由器和交换机产品,凭借其卓越的性能和稳定性,迅速在市场中占据一席之地。特别是在5G技术兴起的背景下,HEC提前布局,成功推出了多款支持5G网络的通信设备,满足了市场对高速、低延迟网络连接的迫切需求。这些技术创新不仅巩固了HEC在通信行业的领先地位,也为其后续的市场拓展奠定了坚实基础。

2. 环保理念推动可持续发展

随着全球对环保问题的日益重视,HEC积极响应号召,将绿色技术融入产品研发和生产过程中。公司推出的多款电子产品,如智能手机和平板电脑,均采用了环保材料和节能设计,有效降低了产品生命周期中的碳排放。此外,HEC还建立了完善的电子废弃物回收体系,实现了资源的循环利用。这些环保举措不仅提升了公司的品牌形象,也为其赢得了更多消费者的青睐和市场的认可。

3. 跨界合作拓展业务领域

为了进一步扩大市场份额,HEC积极寻求跨界合作机会。公司与多家知名汽车制造商合作,将先进的通信技术应用于车载智能系统中,提升了驾驶体验和行车安全。同时,HEC还与智能家居厂商合作,推出了多款智能家电产品,实现了家居设备的互联互通和远程控制。这些跨界合作不仅丰富了HEC的产品线,也为其带来了新的增长点。

4. 全球化战略布局

为了应对日益激烈的国际竞争,HEC制定了全球化发展战略。公司在全球范围内设立了多个研发中心和销售网络,以更好地了解当地市场需求并快速响应。通过整合全球资源,HEC成功推出了多款符合不同国家和地区消费者需求的产品。此外,公司还积极参与国际展会和交流活动,提升了品牌知名度和国际影响力。

5. 应对挑战实现转型升级

面对行业内的激烈竞争和技术变革,HEC始终保持着敏锐的洞察力和强大的适应能力。公司不断调整产品结构,加大研发投入,推动产品向高端化、智能化方向发展。同时,HEC还积极拥抱数字化转型,通过大数据、云计算等先进技术优化生产流程和管理模式,提高了生产效率和产品质量。这些努力使HEC在挑战中实现了转型升级,保持了持续稳健的发展态势。

Futaba Electric Co Ltd公司的发展小趣事

Futaba Electric Co Ltd公司的发展故事

故事一:从真空管到VFD的转型

Futaba Electric Co Ltd,原名双叶电子,成立于1948年,最初以生产收音机收讯真空管起家。然而,随着电子技术的飞速发展,公司在1970年做出了重大战略调整,决定结束真空管业务,转而专注于萤光表示管(VFD)的生产。这一转型标志着公司进入了新的发展阶段。VFD以其高清晰度、广阔视角和卓越亮度迅速赢得了市场认可,特别是在高级消费性电子设备领域。Futaba的VFD产品不仅品质稳定可靠,还因其抗震性能好、温差适应性强以及高可靠性,在汽车仪表盘和抬头显示器等领域占据重要地位。自1983年起,Futaba的VFD产品被福特汽车公司采用,并迅速在美国三大汽车厂实现100%市场占有率,这一成就进一步巩固了其在VFD市场的领导地位。

故事二:无线电控制技术的突破

1962年,面对工业控制领域对供应商品质和交货期的严格要求,Futaba推出了无线电控制设备和冲压金属模用部件,这些创新产品不仅提升了工业品质,还显著缩短了模具开发周期,引领了当时的行业标准。这一举措不仅为Futaba在模具制造领域奠定了坚实基础,还为其后续的技术发展开辟了新方向。随着技术的不断进步,Futaba在无线电传输模组(R/C)领域也取得了显著成就,特别是在高频无线展频通讯技术的研发上,其产品具有高可靠性和抗干扰性,甚至被应用于卫星通讯领域,进一步巩固了其在无线遥控技术的领先地位。

故事三:工业与娱乐的双重发展

Futaba不仅在工业控制领域取得了卓越成就,还将其技术延伸至休闲娱乐领域。公司开发的遥控飞机、车、船等产品,凭借其出色的性能和稳定的品质,迅速成为户外休闲运动的热门选择。特别是2.4G接收机的推出,进一步丰富了Futaba的产品线,满足了不同消费者的多样化需求。这一举措不仅拓宽了公司的业务范围,还提升了其品牌知名度和市场占有率。

故事四:全球化布局与市场拓展

随着公司业务的不断发展和市场需求的日益增长,Futaba开始积极实施全球化战略。为了更好地服务于中国市场,公司成立了双叶电子科技开发(北京)有限公司,专营Futaba的全线产品,包括VFD真空荧光显示管和RC无线遥控设备等。这一举措不仅加强了Futaba在中国市场的竞争力,还为其进一步拓展全球市场奠定了坚实基础。通过在全球范围内的市场布局和业务拓展,Futaba已成为一家闻名世界的跨国公司。

故事五:技术创新与可持续发展

Futaba始终将技术创新作为企业发展的核心驱动力。公司不断投入研发资源,致力于新技术的开发和应用。通过不断的技术创新和产品升级,Futaba不仅保持了其在VFD和无线遥控技术领域的领先地位,还积极探索新的业务领域和市场机会。同时,公司还注重可持续发展和社会责任,致力于实现经济效益、社会效益和环境效益的和谐统一。这一理念不仅为Futaba赢得了良好的社会声誉和品牌形象,还为其长期发展奠定了坚实基础。

远东福斯特公司的发展小趣事

对于光检测T型反馈电路,网友可能提出多方面的问题,以下是一些可能的问题及相应的回答:

一、电路结构与原理

问题1:光检测T型反馈电路的基本结构是怎样的?

回答:光检测T型反馈电路通常由光电探测器(如光电二极管、光电三极管等)、运算放大器、T型反馈网络及相关的电阻、电容等元件组成。光电探测器负责将光信号转换为电信号,运算放大器对电信号进行放大,而T型反馈网络则用于调整放大电路的增益和稳定性。

问题2:T型反馈电路相比传统反馈电路有哪些优势?

回答:T型反馈电路的主要优势在于其能够使用较小的电阻组合来实现较大的放大倍数,从而避免了使用高阻值电阻带来的实装困难和稳定性问题。此外,T型反馈电路还能有效减少温度漂移引起的静态误差,提高电路的整体性能。

二、电路设计与调试

问题3:在设计光检测T型反馈电路时,如何选择合适的电阻值?

回答:在设计电路时,电阻值的选择应基于所需的放大倍数、稳定性及功耗等因素。通常,R1和R11的阻值应相等或相近,而R12和R13的阻值则根据所需的增益进行调整。此外,还应注意选择稳定性高的电阻,以减少温度漂移对电路性能的影响。

问题4:如何进行光检测T型反馈电路的调试?

回答:电路调试时,首先应检查各元件的连接是否正确,然后逐步加电观察电路的工作状态。在调试过程中,可使用可调电阻对电路的增益进行微调,以达到预期的放大效果。同时,还应注意观察电路的稳定性和噪声水平,确保电路满足设计要求。

三、应用与性能

问题5:光检测T型反馈电路在哪些领域有应用?

回答:光检测T型反馈电路在光电检测、信号处理、通信技术等领域有着广泛的应用。例如,在光电传感系统中,它可用于将微弱的光信号转换为放大的电信号;在信号处理电路中,它可用于提高信号的信噪比和动态范围;在通信系统中,它可用于增强信号的传输距离和稳定性。

问题6:如何评估光检测T型反馈电路的性能?

回答:评估光检测T型反馈电路的性能时,应关注其增益、稳定性、噪声水平、带宽等关键指标。增益是指电路对输入信号的放大能力;稳定性则是指电路在不同工作环境下的工作可靠性;噪声水平则反映了电路内部噪声对信号质量的影响;带宽则决定了电路能够处理信号的频率范围。这些指标的综合表现将直接影响电路在实际应用中的效果。

Delus Corp公司的发展小趣事

Delus Corp公司深知持续创新对于公司发展的重要性。因此,公司投入大量资源进行研发,并不断探索新技术和新材料。同时,公司也高度重视产品质量,建立了严格的质量管理体系,确保每一件产品都符合高标准的质量要求。这些努力使得公司的产品线不断丰富,产品质量得到了广大客户的认可。

光磊(GL)公司的发展小趣事

Delus Corp公司起源于一家小型电子初创企业,专注于研发和生产特定领域的电子设备。在公司成立初期,团队面临资金短缺和技术挑战等重重困难。然而,他们凭借对技术的执着追求和对市场的敏锐洞察,成功研发出一款具有创新性的电子产品,该产品在市场上引起了广泛关注。这款产品不仅帮助公司获得了初始资金,也奠定了公司在电子行业的技术领先地位。

Dawn Electronics Inc公司的发展小趣事

在技术创新的基础上,Dawn Electronics Inc公司开始积极拓展市场。公司加强了与国内外客户的合作,通过提供优质的产品和服务,赢得了客户的信任和支持。同时,公司还注重品牌建设,积极参与行业展会和交流活动,提高了品牌知名度和影响力。这些努力为公司赢得了更多的市场份额和合作机会。

问答坊 | AI 解惑

嵌入式汽车数字仪表设计

1 引言     汽车仪表是驾驶员与汽车的信息交流界面,对汽车安全以及经济行驶具有重要作用。近年来,随着汽车电子技术的发展,汽车仪表显示信息也不断增加,而传统机械指针式汽车组合仪表则无法满足现在使用需求。特别是计算机、微电子和 ...…

查看全部问答>

extern ROMChain_t *OEMRomChain; 这段编译错误

在eboot main.c 添加 multibin xip 过程中, 添加 InitRomChain() 函数中,引用了 全局变量 extern ROMChain_t *OEMRomChain; OEMRomChain 指针对应是 public\\common\\oak\\inc\\Bcoemglobal.h 文件中 #define OEMRomChain g_pOemGlobal->pRO ...…

查看全部问答>

开机

我的电脑密码记不得,如何解开电脑的密码,在哪里进行操作,登陆密码,各种操作系统的解发,请大家帮助 急急................................…

查看全部问答>

个人求有PHS基站控制器软件开发经验辅导老师(可兼职,深圳)

本人欲从事PHS基站控制器软件开发,因无此方面的经验,想请位有这方面经验的辅导老师。 主要工作是帮助本人分析一个现有PHS基站控制器软件源程序,然后修正程序中的一些BUG。 时间方面可以是灵活按排(工作日、业余均可),报酬可以按时/日/周/月等 ...…

查看全部问答>

Linuxlogo显示

请问linuxlogo默认是在左上角显示的,现在要求显示到右下角,并且企鹅图像倒置 相当于把默认显示转180度,请问这个哪里可以改。 可以修改fbcon.c吗?新人求救!!…

查看全部问答>

(++急)有偿请求解决单片机串口多机通信程序问题

各位大侠们,麻烦帮忙看看这个例子,是我毕业设计的题目,由于单片机C编程学得不精,这几天一直在调程序都没法调出来,还请各位大虾们帮帮忙!万分感激!!! 硬件实现功能: 1、从机U2按键按下,在本机显示,同时将按键值送往主机U1,在主机显示 ...…

查看全部问答>

中*美*爱*梯*科*技, 9月10日新班开课, 免费试听!

中*美*爱*梯*科*技, .NET外企软件工程师班将于2007年9月10日开课, 开课第一周免费试听, 欢迎大家踊跃报名参加!   中*美*爱*梯*科*技向学员郑重承诺: 百分之百保证就业, 月薪3000——8000, 就不了业者退还全部学费!    ...…

查看全部问答>

有熟悉STM32编程的进来帮个忙

1,#define IS_GPIO_MODE(MODE) (((MODE) == GPIO_Mode_AIN) || ((MODE) == GPIO_Mode_IN_FLOATING) || ;请问这个加了红色背景的是什么意思;特别是IS—是什么意思,后面这一句是什么意思…

查看全部问答>

642图像缩放问题

各位高手:642采集的图像好像是720*480的大小吧,如果用jpeg编码,出来的图像也是720*480,现在我想请问的是我采集720*480大小的图像,用jpeg编码,并缩小成320*240(注:不是在原图上截取,而是大小缩放),请问该如何做,或者采集的时候就重新取样 ...…

查看全部问答>