导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请大家看看我的程序,错在何处,谢谢![原创][gan]

 *第11632篇: 请大家看看我的程序,错在何处,谢谢![原创]

  
楼 主:gan 2003年5月8日21:47
 请大家看看我的程序,错在何处,谢谢![原创]
#include  <reg51.h>              
#include  <absacc.h>  
#define uchar unsigned char 
#define uint unsigned int
#define MCW XBYTE[0x93ff]    /*命令写口地址*/
#define MCR XBYTE[0x9bff]     /*命令读口地址*/
#define MDW XBYTE[0x97ff]      /*数据写口地址*/
#define MDR XBYTE[0x9fff]      /*数据读口地址*/
uint data mc ;                  /*命令寄存器*/
uint data md  ;                 /*数据寄存器*/
uint data busy   ;               /*忙寄存器*/
uint code tab[18]={0x43,0x75,0x72,0x73,0x6f,0x72,0x20,0x4c,0x65,0x66,0x74,0x20,0x53,0x63,0x72,0x6f,0x6c,0x6c} ;

uint bf()                     /*判断忙函数*/
 {
   busy=MCR;
   return busy;
 }
 
writecom(i)               /*写命令函数*/
{
 bf();
 while(!(busy>  >  =7))
 {
  MCW=i;
 };
}

void writedata(i)            /*写数据函数*/

 bf();
 while(!(busy>  >  =7))
  {
   MDW=i;
  };
}

void delay()               /*延时函数*/
{
 uint i=0;
 for(i=0;i  <2;i++)
 {};
}
 
void Init()              /*LCD20468初始化函数*/
{
 uint n,b=0;
 for(n=0;n  <3;n++)       /*循环*/
 {
   b=0x30;
   writecom(b);
   delay();
 };
 b=0x38;               /*工作方式*/
 writecom(b);
 b=0x01;
 writecom(b);         /*清屏*/
 b=0x06;
 writecom(b);         /*输入方式*/
 b=0x0f;
 writecom(b);         /*显示方式*/

void main()       /*LCD20468主函数*/
{
 for(;;)
 {
  uint b,i,j;
  b=0x04;
  writecom(b);
  b=0x90;
  writecom(b);
  for(i=0;i  <0x12;i++)
    {
      j=tab[i];
      writedata(j);
    }
 }
}
 我是初学单片机和C语言,以上是我的MDLS20486 LCD的显示程序,编译已通过,但用EASYSCOPE 8052F仿真器调试时,命令和数据总写不进"指令写口地址(93FF)和数据口写地址(97FF)",不知程序错在何处,请大家指点,十分感谢!


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:如何擦除pic16c57的程序?是eprom的?弱弱问题大侠不要昏倒啊

[下一篇主题]:请问铺铜的话应该选择什么样的区域呀?