新闻动态   News
你的位置:大功率电感 > 技术

protues仿真LCD不显示字

时间:2022-09-13 06:07:03  来源:  作者: 点击统计:

`萌新求大佬指导`A.zip(61.98 KB, 下载次数: 0)LCD1602程序#ifndef _lcd1602_H_ #define        _lcd1602_H_ #include #include "stc89c5x.h"#define uchar unsigned char #define uint unsigned intsbit rs= P2^7;sbit rw = P2^6;sbit ep = P2^5;code uchar LCDnumber[]="0123456789";void delay22(unsigned char ms){unsigned char i;while(ms--){for(i = 0; i< 250; i++){_nop_();_nop_();_nop_();_nop_();}}}bit lcd_bz(){bit result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (bit)(P0 & 0x80);ep = 0;return result;}void lcd_wcmd(unsigned char cmd){while(lcd_bz());//判断LCD是否忙碌rs = 0;rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;}void lcd_wdat(unsigned char dat){while(lcd_bz());//判断LCD是否忙碌rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;}void lcd_goto_xy(unsigned  char x,unsigned  char y){ if(y==1) x+=0x40; x+=0x80; lcd_wcmd(x);}void lcd_putc(unsigned char c)   // 写字符(传入的参数实际为所需显示字符的地址,即液晶字符产生器中字符的地址)     {        rw = 0;                  // RW置0,状态为写        rs = 1;                  // RS置1,写入数据       lcd_wdat(c);    }             void lcd_puts(unsigned char *s)  // 写字符串函数   {         while(*s)  {   lcd_wdat(*s);   s++;  }  } /********************************************************************** 函数名称: display_char** 入口参数:x(unsigned  char型),y(unsigned  char型),dat(unsigned  char型)** 出口参数:无** 功能描述: 在具体位置显示单个字符,x是列号,y是行号*********************************************************************/void  lcd_xy_putc(unsigned  char x,unsigned  char y,unsigned  char dat){  lcd_goto_xy(x,y);  lcd_wdat(dat);}/*********************************************************************** 函数名称: display_string** 入口参数:x(unsigned  char型),y(unsigned  char型),s(指针型)** 出口参数:无** 功能描述: 在具体位置显示字符串,以/0结束,x是列号,y是行号**********************************************************************/void  lcd_xy_puts(unsigned  char x,unsigned  char y,unsigned  char *s){  lcd_goto_xy(x,y);  while(*s)  {   lcd_wdat(*s);   s++;  }}void lcd_number(unsigned char a)  //变量数字显示{ rw = 0;                      // RW置0,状态为写    rs = 1;                      // RS置1,写入数据 lcd_wdat(LCDnumber[a]);}   void lcd_init(){lcd_wcmd(0x38);delay22(1);lcd_wcmd(0x0c);delay22(1);lcd_wcmd(0x06);delay22(1);lcd_wcmd(0x01);delay22(1);}  #endif

  • 运算放大器单稳态电路结构设计分析
    单稳态电路可以使用分立元件或数字逻辑门轻松制造,但单稳态电路也可以使用运算放大器构建。 运算放大器单稳态多谐振荡器(单发多谐振荡器)电路是仅具有一个稳定状态的正反馈(或再生)开关电路,产生指定持续时间T的输出脉冲。 施加外部触发信号以改变状态,并在设置的时间段(以微秒,毫秒或秒为单位)之后,该时间段由RC组件确定,然后,单稳态电...
  • NS6322固定5V输出车充IC,2.4A可调输出电流
    NS6322 是支持高电压输入的同步降压电源管理芯片, 在 4~30V 的宽输入电压范围内可实现 2.4A的连续电流输出。 NS6322 具有优秀的恒压/恒流CC/CV)特性。 NS6322 采用电流模式的环路控制原理, 实现了快速的动态响应。 NS6322 工作开关频率为 130kHz, 具有良好的 EMI 特性。 另外, 芯片包含多重保护功能: 过温保护, 输出短路保护和...
  • 电源立项
    电源立项[复制链接] 从项目角度出发,项目开发的第一步是需求分析。 从产品的生命周期成本(life cycle cost,简称LCC)出发,立项与论证完备,成本控制有效节约大半份额。 详见下图: 系统开发,会有多个团队协同进行,有很多角色参与,如:需求团队——把客户的需要转换为系统需求,编写系统和子系统需求;架构团队——创建高层级别系统架构,包含软...