导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→哪位大哥做过 ST7565 (LCD)控制芯片,小弟调了一个[happyrat2116]

 *第42686篇: 哪位大哥做过 ST7565 (LCD)控制芯片,小弟调了一个星期了 一点反映也没

  
楼 主:happyrat2116 2006年8月15日11:36
 哪位大哥做过 ST7565 (LCD)控制芯片,小弟调了一个星期了 一点反映也没
#include "config.h"
#define   A0           0x1000
#define   RESLCD       0x2000
#define   LCDaddress   0x82100000
#define   VPint        *(volatile unsigned int *)
#define   outl(data, addr)    (VPint(addr) = (data))

void delay (void)

  uint32 i;
    for(i=0;i  <=0x1000;)         //ÑÓʱ
     {
         i++;
     }
}

void LCD_ResetB(void)
{    
    
    IO0SET = RESLCD;
    
    delay();
    
    IO0CLR = RESLCD; 
    
    delay();
  
    IO0SET = RESLCD;

}

void   LCD_ADC_Select_Reverse(void)
   {

     IO0CLR = A0;    
     outl(0xa0 ,LCDaddress ); 
   
   }
 
void   LCD_SHL_Select_Normal(void)
   {

     IO0CLR = A0;    
     outl(0xCF ,LCDaddress ); 
   
   }

void   LCD_BIAS_Select(void)
 {
  IO0CLR = A0;
  outl(0xa2,LCDaddress);
 }

void   LCD_FIVE_VOLTAGE_Select(void)
 {
  IO0CLR = A0;
  outl(0xF8,LCDaddress);
  IO0CLR = A0;
  outl(0x03,LCDaddress);
 }

void   LCD_SET_INTERNEL_UP_VOLTAGE(void)
 {
  IO0CLR = A0;
  outl(0x24,LCDaddress);
 }
 
void   LCD_SET_COMPARE(void)
 {
  IO0CLR = A0;
  outl(0x81,LCDaddress);
  IO0CLR = A0;
  outl(0x41,LCDaddress);
 }
 
void    LCD_VOLTAGE_DRIVER(void)
 {
  IO0CLR = A0;
  outl(0x2c,LCDaddress);
  IO0CLR = A0;
  outl(0x2e,LCDaddress);
  IO0CLR = A0;
  outl(0x2f,LCDaddress);
  delay();
 }
 
void    LCD_DISPLAY_ON(void)
 {
  IO0CLR = A0;
  outl(0xAF,LCDaddress);
 }

void    LCD_DISPLAY_LINE(void)
 {
  IO0CLR = A0;
  outl(0x40,LCDaddress);
 } 
 
void    LCD_SET_PAGE(uint32 first_line)
 {
  IO0CLR = A0;
  outl(0xB0+first_line , LCDaddress);
 }
 
void    LCD_HILOW_COLUMN_ADDRESS(void)
 {
  IO0CLR = A0;
  outl(0x00,LCDaddress);
  IO0CLR = A0;
  outl(0x10,LCDaddress);
 }

void    LCD_DISPLAY_start(void)
 {
  uint32  i,j;
  for(i=1;i  <=8;i++)
  {
   for(j=1;j  <=128;j++)
   {
    LCD_DISPLAY_LINE();
    LCD_SET_PAGE(i-1);
    LCD_HILOW_COLUMN_ADDRESS();
    LCD_Write(0xAA);
   }
  }
  
 }

int main (void)
{
 
 LCD_ResetB();
 
 LCD_ADC_Select_Reverse();
 LCD_SHL_Select_Normal();
 LCD_FIVE_VOLTAGE_Select();
 LCD_SET_INTERNEL_UP_VOLTAGE();
 LCD_SET_COMPARE();
 LCD_VOLTAGE_DRIVER();
 
 LCD_DISPLAY_ON();
 
 LCD_DISPLAY_start();
 
 // add user source code 
}


麻烦帮小弟看看  在LPC2210  ADS1。2下 调试的  麻烦各位看看
告诉我哪出的问题

  
2楼:2000dz 2006年8月15日15:36
 怎么样学好单片机

  
  很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。
先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
   有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。
    总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。
步骤:1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天)
   2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。    (二十天)
  3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。     (十天)
  4.自己完全设计具有个人风格的电路,你已经是高手了。
看到了吗?下功夫一个多月你就能成为高手,我就讲这么多了,学不学得会,下不下得了功夫就看你的了
转综合电子论坛: 这里还有不小好文章,开放FTP,发回贴送Q币!
 

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

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


[上一篇主题]:温州电子开发实验室:完全开放ftp1000GB空间http:www.RF315.net

[下一篇主题]:求CMX469的程序例子