xx434949 2022-09-26 21:52 采纳率: 50%
浏览 96
已结题

代码编译没错,烧录进单片机上的显示屏显示不了

问题遇到的现象和发生背景

为什么用下列代码烧录进单片机,结果单片机上无法显示
代码如下

//¹¤×÷ƵÂÊΪ12MHz

#include "stc15w4k32s4.h"
#include "intrins.h"
#include "lcd1602.h"

unsigned long c=0; 

//*********************************************************
//º¯ÊýÃû³Æ:Cx interrupt 7
//º¯Êý¹¦ÄÜ:ÇóµçÈÝ
//Èë¿Ú²ÎÊý:ÎÞ
//³ö¿Ú²ÎÊý:c
//*********************************************************
void Cx() interrupt 7
{
    CL=0;                          //Çå¼ÆÊýÆ÷
    CH=0;
    CR=1;                          //Æô¶¯PCA¼ÆʱÆ÷
    CCF0=0;
    while(~CCF0);                  //µÈ´ý½áÊøϽµÑص½´ï
    CCF0=0;
    CR=0;                          //Í£Ö¹PCA¼ÆʱÆ÷
    c=(CCAP0H<<8)+CCAP0L;          //»ñÈ¡ÖÜÆÚ
    c=3405*c/10000;                //»ñÈ¡µçÈÝÖµ
}
   
/******************************²âÂö³åÖÜÆÚ***************************
  P11½ÓÊäÈëÐźţ¬°´ÏÂS1¼ü²âÖÜÆÚ   
  ÓÃLCD1602ÏÔʾ
********************************************************************/
void main()
{   unsigned char i,x;
    unsigned char CH[]={"Cx="};
       
    P1M0 = 0x00; 
    P1M1 = 0x00;
    P2M0 = 0x00; 
    P2M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;

    LCD_Initial();
    for(i=0;i<3;i++)disp(i,CH[i]);   
    
    ACC=P_SW1;
    ACC &=~(CCP_S0|CCP_S1);   //CCP_S0=0£¬CCP_S1=0
    P_SW1=ACC;                //P1.1-CCP0£¬P1.0-CCP1   
    CCON=0x00;                //PCAÄ£¿é0µÄCCF0Çå0£¬Í£Ö¹PCA¶¨Ê±Æ÷
    CCAP0L=0;
    CCAP0H=0;
    CMOD=0x00;                //PCAʱÖÓԴΪϵͳʱÖÓ12·ÖƵ£¨1¦Ìs£©£¬²»ÔÊÐíÆäÒç³öÖжÏ
    CCAPM0=0x11;              //ϽµÑز¶»ñ£¬Ê¹ÄÜCCF0ÖжÏ
    EA=1;
    while(P20);               //µÈ´ý°´¼ü¼ì²âÖÜÆÚ
    while(1)
    {   
        x=c/10000;            //ÇóÍòλÊý
        disp(3,x+0x30);
        x=(c%10000)/1000;     //ÇóǧλÊý                      
        disp(4,x+0x30);
        x=(c%1000)/100;       //Çó°ÙλÊý
        disp(5,x+0x30);
        x=(c%100)/10;         //ÇóʮλÊý
        disp(6,x+0x30);
        x=c%10;               //Çó¸öλÊý
        disp(7,x+0x30);
        disp(8,'n');          //ÏÔʾµ¥Î»us
        disp(9,'F');
        delay_ms(5000);       //´óԼÿ5Ãë¼ì²âÒ»´Î
    }    
}    
    

代码在编译的过程没有出现错误提示,烧录进单片机,单片机上的显示屏显示不了,一直都是这样,求解

img

  • 写回答

1条回答 默认 最新

  • weixin_40681229 2022-09-30 09:19
    关注

    1,你的这个LCD1602已经有显示了
    2,你查看一下LCD1602的资料,加个电位器:两端各接电源与地,中间输出接LCD1602的第三脚,用来调节LCD1602的对比度。
    调好对比度就可以看到字符了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 9月26日

悬赏问题

  • ¥15 前后端分离的学习疑问?
  • ¥15 stata实证代码答疑
  • ¥15 MATLAB数据处理插值
  • ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
  • ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
  • ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
  • ¥15 husky+kinova jaco2 仿真
  • ¥15 zigbee终端设备入网失败
  • ¥15 金融监管系统怎么对7+4机构进行监管的
  • ¥15 硬件IIC从模式的数据发送,中断数据的接收,不能用HAL库(按照时序图)