S3C2440-LCD字符显示

发布者:CMOS最新更新时间:2015-04-09 来源: cechina关键字:S3C2440  LCD  字符显示 手机看文章 扫描二维码
随时随地手机看文章
LCD字符显示有两种方式,一个是通过字模提取软件,将字符转化成一个字节型的数组,另一个是使用字库。如果字符较多的时候,直接使用字库比较方便。现在说一下中英文字符的存储结构和编码方式。中英文的字符点阵结构有4*8,8*16,16*16,24*24,32*32,48*48等结构形势,不同点阵汉字的字体又有宋体,仿宋体,黑体,楷体等之分。在计算机中,相同点阵结构和相同字体的字符存放在同一字库中。本文使用的是16*16的宋体。16*16的点阵字库中,字符的信息结构采用以行排列的形式,共有16行,每行有16个点,分别存放在两个字节内。因此每个字符共占用16*16/2=32个字节。字节的存放顺序为从左到右,从上到下。将汉字变成字符模式,使用16*16个像素表示一个汉字。在字模提取的过程中,还要注意取模的顺序,顺序不同,得到的数组就不同,一般式从左向右,从上到下。取模方式,逐行式。ASCII型字符的宽度是汉字的一半,即8。
 
 
#define rGPCCON    (*(volatile unsigned *)0x56000020)    
#define rGPCUP     (*(volatile unsigned *)0x56000028)    
#define rGPDCON    (*(volatile unsigned *)0x56000030)    
#define rGPDUP     (*(volatile unsigned *)0x56000038)    
#define rLCDCON1    (*(volatile unsigned *)0x4d000000)      
#define rLCDCON2    (*(volatile unsigned *)0x4d000004)      
#define rLCDCON3    (*(volatile unsigned *)0x4d000008)      
#define rLCDCON4    (*(volatile unsigned *)0x4d00000c)      
#define rLCDCON5    (*(volatile unsigned *)0x4d000010)      
#define rLCDSADDR1  (*(volatile unsigned *)0x4d000014)      
#define rLCDSADDR2  (*(volatile unsigned *)0x4d000018)    
#define rLCDSADDR3  (*(volatile unsigned *)0x4d00001c)    
#define rLCDINTMSK  (*(volatile unsigned *)0x4d00005c)    
#define rTPAL       (*(volatile unsigned *)0x4d000050)    
#define rGPGCON    (*(volatile unsigned *)0x56000060)   //Port G control    
#define rGPGDAT    (*(volatile unsigned *)0x56000064)   //Port G data    
#define rGPGUP     (*(volatile unsigned *)0x56000068)   //Pull-up control G    
#define rLCDINTMSK  (*(volatile unsigned *)0x4d00005c)    
#define rTCONSEL     (*(volatile unsigned *)0x4d000060)   //LPC3600 Control --- edited by junon     
//垂直同步信号的脉宽、后肩和前肩    
#define VSPW       15    
#define VBPD       3    
#define VFPD       5     
//水平同步信号的脉宽、后肩和前肩    
#define HSPW       8    
#define HBPD       58    
#define HFPD      15    
#define CLKVAL 10    
#define HOZVAL 319    
#define LINEVAL 239    
#define PWREN 1    
#define MMODE 0    
#define PNRMODE 3    
#define BPPMODE 13    
#define INVVCLK 0    
#define INVVD 0    
#define INVVDEN 0     
#define U32 unsigned int     
#define M5D(n) ((n) & 0x1fffff)    
#define PAGEWIDTH 320    
#define OFFSIZE 0    
#define LCD_XSIZE 320    
#define LCD_YSIZE 240    
#define SCR_XSIZE 320    
#define SCR_YSIZE 240    
#define INVVLINE  1        
#define INVVFRAME 1         
#define BPP24BL 0    
#define BSWP 0    
#define HWSWP 0     
volatile U32 LCD_BUFFER[240][320];     
    
unsigned char li[]={      
0x01,0x00,0x01,0x00,0x7F,0xFC,0x03,0x80,0x05,0x40,0x09,0x30,0x31,0x0E,0xDF,0xE4,     
0x00,0x80,0x01,0x00,0x7F,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00};   //"李",0     
unsigned char wan[]={     
0x00,0x00,0x7F,0xFE,0x02,0x00,0x02,0x00,0x02,0x10,0x03,0xF8,0x02,0x10,0x04,0x10,     
0x04,0x10,0x04,0x10,0x08,0x10,0x08,0x10,0x10,0x10,0x20,0xE0,0x40,0x40,0x00,0x00};    //"万",1     
unsigned char peng[]={     
0x00,0x10,0x77,0x20,0x55,0x7C,0x55,0x64,0x77,0x54,0x55,0x54,0x55,0x4C,0x55,0x40,     
0x77,0x7E,0x55,0x02,0x55,0x02,0x55,0xFA,0x55,0x02,0xB9,0x14,0x13,0x08,0x00,0x00};     //"鹏",2    
  
unsigned char L[]={0X00,0X00,0X00,0XE0,0X40,0X40,0X40,0X40,0X40,0X40,0X40,0X40,0X42,0XFE,0X00,0X00}; //L  
unsigned char I[]={0X00,0X00,0X00,0X7C,0X10,0X10,0X10,0X10,0X10,0X10,0X10,0X10,0X10,0X7C,0X00,0X00}; //I  
unsigned char N[]={0X00,0X00,0X00,0XC7,0X62,0X62,0X52,0X52,0X4A,0X4A,0X4A,0X46,0X46,0XE2,0X00,0X00}; //N  
unsigned char U[]={0X00,0X00,0X00,0XE7,0X42,0X42,0X42,0X42,0X42,0X42,0X42,0X42,0X42,0X3C,0X00,0X00}; //U  
unsigned char X[]={0X00,0X00,0X00,0XE7,0X42,0X24,0X24,0X18,0X18,0X18,0X24,0X24,0X42,0XE7,0X00,0X00}; //X  
unsigned char AND[]={0X00,0X00,0X00,0X30,0X48,0X48,0X48,0X50,0X6E,0XA4,0X94,0X88,0X89,0X76,0X00,0X00}; //&  
unsigned char A[]={0X00,0X00,0X00,0X10,0X10,0X18,0X28,0X28,0X24,0X3C,0X44,0X42,0X42,0XE7,0X00,0X00}; //A  
unsigned char R[]={0X00,0X00,0X00,0XFC,0X42,0X42,0X42,0X7C,0X48,0X48,0X44,0X44,0X42,0XE3,0X00,0X00}; //R  
unsigned char M[]={0X00,0X00,0X00,0XEE,0X6C,0X6C,0X6C,0X6C,0X54,0X54,0X54,0X54,0X54,0XD6,0X00,0X00}; //M  
     
void Init_LCD(){  
rLCDCON1=(CLKVAL<<8)|(MMODE<<7)|(PNRMODE<<5)|(BPPMODE<<1)|0;   //设置CLKVAL,VCLK=HCLK/[(CLKVAL+1)*2],决定VM的触发方式,选择显示模式和BPP模式,暂时不要开启LCD,因为还没有设置好
       rLCDCON2=(VBPD<<24)|(LINEVAL<<14)|(VFPD<<6)|(VSPW);    //rLCDCON2,rLCDCON3和rLCDCON4主要设置时序  
       rLCDCON3=(HBPD<<19)|(HOZVAL<<8)|(HFPD);  
       rLCDCON4=(HSPW);  
       rLCDCON5 = (BPP24BL<<12) | (INVVCLK<<10) | (INVVLINE<<9) | (INVVFRAME<<8) | (0<<7) | (INVVDEN<<6) | (PWREN<<3)  |(BSWP<<1) | (HWSWP);                         //INVVLINE和INVVFRAME需要进行翻转,因为CPU发出的是正脉冲,LCD使用的是负脉冲,所以要改变极性,PWREN使能电源信号
       rLCDSADDR1=(((U32)LCD_BUFFER>>22)<<21)|M5D((U32)LCD_BUFFER>>1);  
       rLCDSADDR2=M5D(((U32)LCD_BUFFER+(SCR_XSIZE*SCR_YSIZE*4))>>1 );  
       rLCDSADDR3=PAGEWIDTH*32/16;  
       rLCDINTMSK|=(3);        
       rTCONSEL = 0;             
       rGPCUP = 0x0;  
       rGPDCON = 0xaaaaaaaa;  
       rGPCCON = 0xaaaa02a9;  
       rGPDUP = 0x0;  
       rGPGUP=rGPGUP&("(1<<4))|(1<<4);        
       rGPGCON=rGPGCON&("(3<<8))|(3<<8);   
       rLCDCON1 |= 1;   //使能数据输出和LCD控制信号
}     
[page]    
void Paint_text(U32 x, U32 y, U32 color, unsigned char ch[]){     
    int i, j, test, s, t = 0;     
    for(i = 0; i < 16; i++){     
        test = 0x80;     
        for(j = 0; j < 16; j++){     
            if(j == 8){     
                test = 0x80;     
                t++;     
            }     
            if(ch[t] & test)     
                LCD_BUFFER[x+i][y+j] = color;     
            test >>= 1;        
        }     
        t++;     
    }     
}     
void Paint_text_8(U32 x, U32 y, U32 color, unsigned char ch[]){  
    int i, j, test;  
    for(i = 0; i < 16; i++){  
        test = 0x80;  
        for(j = 0; j < 8; j++){  
            if(test & ch[ i])  
                LCD_BUFFER[x+i][y+j] = color;  
            test >>= 1;  
        }  
    }  
}    
    
void Paint_background(U32 c){     
    unsigned int i, j;     
    for(j = 0; j < LCD_YSIZE; j++)     
        for(i = 0; i < LCD_XSIZE; i++)     
            LCD_BUFFER[j][ i] = c;     
}     
    
int LcdMain(){     
    Init_LCD();     
    Paint_background(0xFFFFFF);     
    Paint_text(100,100,0x000000,li);     
    Paint_text(100,116,0x000000,wan);     
    Paint_text(100,132,0x000000,peng);  
    Paint_text_8(116,100,0x000000,L);  
    Paint_text_8(116,108,0x000000,I);  
    Paint_text_8(116,116,0x000000,N);  
    Paint_text_8(116,124,0x000000,U);  
    Paint_text_8(116,132,0x000000,X);  
    Paint_text_8(116,140,0x000000,AND);  
    Paint_text_8(116,148,0x000000,A);   
    Paint_text_8(116,156,0x000000,R);  
    Paint_text_8(116,164,0x000000,M);     
    while(1);     
}     
 
如果使用字库,每个汉字的地址由两个字节表示。一个是区号,一个是区中的位置,即位号。16*16的点阵字库中,每个字符占32个字节,每94个字符为一个区,共87个区,其中1"15区为常用符号区(包括数字0"9及大小写英文字母),16"86为常用汉字,其排列是以汉语拼音为序,从一声到四声,第87区为生僻汉字。汉字的起始地址是0xA1A1,A1+94=255,所以一个区有94个字符。区和位的起始号都是1,数组是从0开始,所以如果想在字库中定位一个字符,(94*(qu-1)+wei)*32。如果中文字符和ASCII码混合在一样,如何区分它们呢?其实也很简单,ASCII码的最高位是0,而中文的最高位是1,因此当读取到的一个字节的最高位是0,则该字节为ASCII码,它的下一个字节与这个字节无关;当取得到的字节的最高位是1,则表示的是中文字符,并且该字节与它的下一个字节组合在一起表示完整的一个汉字。
 
 
#include "Font_Libs.h"  
#define rGPCCON    (*(volatile unsigned *)0x56000020)    
#define rGPCUP     (*(volatile unsigned *)0x56000028)    
#define rGPDCON    (*(volatile unsigned *)0x56000030)    
#define rGPDUP     (*(volatile unsigned *)0x56000038)    
#define rLCDCON1    (*(volatile unsigned *)0x4d000000)      
#define rLCDCON2    (*(volatile unsigned *)0x4d000004)      
#define rLCDCON3    (*(volatile unsigned *)0x4d000008)      
#define rLCDCON4    (*(volatile unsigned *)0x4d00000c)      
#define rLCDCON5    (*(volatile unsigned *)0x4d000010)      
#define rLCDSADDR1  (*(volatile unsigned *)0x4d000014)      
#define rLCDSADDR2  (*(volatile unsigned *)0x4d000018)    
#define rLCDSADDR3  (*(volatile unsigned *)0x4d00001c)    
#define rLCDINTMSK  (*(volatile unsigned *)0x4d00005c)    
#define rTPAL       (*(volatile unsigned *)0x4d000050)    
#define rGPGCON    (*(volatile unsigned *)0x56000060)   //Port G control    
#define rGPGDAT    (*(volatile unsigned *)0x56000064)   //Port G data    
#define rGPGUP     (*(volatile unsigned *)0x56000068)   //Pull-up control G    
#define rLCDINTMSK  (*(volatile unsigned *)0x4d00005c)    
#define rTCONSEL     (*(volatile unsigned *)0x4d000060)   //LPC3600 Control --- edited by junon     
//垂直同步信号的脉宽、后肩和前肩    
#define VSPW       15    
#define VBPD       3    
#define VFPD       5     
//水平同步信号的脉宽、后肩和前肩    
#define HSPW       8    
#define HBPD       58    
#define HFPD      15    
#define CLKVAL 10    
#define HOZVAL 319    
#define LINEVAL 239    
#define PWREN 1    
#define MMODE 0    
#define PNRMODE 3    
#define BPPMODE 13    
#define INVVCLK 0    
#define INVVD 0    
#define INVVDEN 0     
#define U32 unsigned int     
#define M5D(n) ((n) & 0x1fffff)    
#define PAGEWIDTH 320    
#define OFFSIZE 0    
#define LCD_XSIZE 320    
#define LCD_YSIZE 240    
#define SCR_XSIZE 320    
#define SCR_YSIZE 240    
#define INVVLINE  1        
#define INVVFRAME 1         
#define BPP24BL 0    
#define BSWP 0    
#define HWSWP 0     
volatile U32 LCD_BUFFER[240][320];     
[page]
void Init_LCD(){  
rLCDCON1=(CLKVAL<<8)|(MMODE<<7)|(PNRMODE<<5)|(BPPMODE<<1)|0;   //设置CLKVAL,VCLK=HCLK/[(CLKVAL+1)*2],决定VM的触发方式,选择显示模式和BPP模式,暂时不要开启LCD,因为还没有设置好
       rLCDCON2=(VBPD<<24)|(LINEVAL<<14)|(VFPD<<6)|(VSPW);    //rLCDCON2,rLCDCON3和rLCDCON4主要设置时序  
       rLCDCON3=(HBPD<<19)|(HOZVAL<<8)|(HFPD);  
       rLCDCON4=(HSPW);  
       rLCDCON5 = (BPP24BL<<12) | (INVVCLK<<10) | (INVVLINE<<9) | (INVVFRAME<<8) | (0<<7) | (INVVDEN<<6) | (PWREN<<3)  |(BSWP<<1) | (HWSWP);                         //INVVLINE和INVVFRAME需要进行翻转,因为CPU发出的是正脉冲,LCD使用的是负脉冲,所以要改变极性,PWREN使能电源信号
       rLCDSADDR1=(((U32)LCD_BUFFER>>22)<<21)|M5D((U32)LCD_BUFFER>>1);  
       rLCDSADDR2=M5D(((U32)LCD_BUFFER+(SCR_XSIZE*SCR_YSIZE*4))>>1 );  
       rLCDSADDR3=PAGEWIDTH*32/16;  
       rLCDINTMSK|=(3);        
       rTCONSEL = 0;             
       rGPCUP = 0x0;  
       rGPDCON = 0xaaaaaaaa;  
       rGPCCON = 0xaaaa02a9;  
       rGPDUP = 0x0;  
       rGPGUP=rGPGUP&("(1<<4))|(1<<4);        
       rGPGCON=rGPGCON&("(3<<8))|(3<<8);   
       rLCDCON1 |= 1;   //使能数据输出和LCD控制信号
}     
    
void Paint_text16(U32 x, U32 y, U32 color, unsigned char ch[]){     
    int i, j, test, t = 0;     
    for(i = 0; i < 16; i++){     
        test = 0x80;     
        for(j = 0; j < 16; j++){     
            if(j == 8){     
                test = 0x80;     
                t++;     
            }     
            if(ch[t] & test)     
                LCD_BUFFER[x+i][y+j] = color;     
            test >>= 1;        
        }     
        t++;     
    }     
}     
void Paint_Ascii(U32 x, U32 y, U32 color, unsigned char ch[]){  
    int i, j, test;  
    for(i = 0; i < 16; i++){  
        test = 0x80;  
        for(j = 0; j < 8; j++){  
            if(test & ch[ i])  
                LCD_BUFFER[x+i][y+j] = color;  
            test >>= 1;  
        }  
    }  
}    
    
void Paint_background(U32 c){     
    unsigned int i, j;     
    for(j = 0; j < LCD_YSIZE; j++)     
        for(i = 0; i < LCD_XSIZE; i++)     
            LCD_BUFFER[j][ i] = c;     
}     
    
int LcdMain(){     
    int qu, wei, i, test = 0x80, t;  
    unsigned char * head;  
    unsigned char fuck[] = "李万鹏专注于linux+arm";  
    Init_LCD();     
    Paint_background(0xFFFFFF);    
    for(i = 0,t = 0; i < sizeof(fuck); i++){  
        if(test & fuck[ i]){  
            qu = fuck[ i] - 0xA0;  
            wei = fuck[i+1] - 0xA0;  
            head = &__HZK[((qu-1)*94+wei-1)*32];  
            Paint_text16(100, 100+t*16, 0x000000, head);  
            i++;              
        }  
        else{  
            head = &__ASCII[fuck[ i]*16];  
            Paint_Ascii(100, 100+i*8 , 0x000000, head);  
        }  
        t++;  
    }   
    while(1);     
}
关键字:S3C2440  LCD  字符显示 引用地址:S3C2440-LCD字符显示

上一篇:S3C2440-LCD基础
下一篇:S3C2440-AD应用

推荐阅读最新更新时间:2024-03-16 13:57

曲面OLED电视的优点与挑战
  2013年4月,韩国LG电子推出其第一台曲面OLED电视 (Curved OLED TV),LG电子所强调的效果是55寸屏幕、弧度造型加上WRGB四色像素技术,可让3D影像效果更逼真。事实上,LG电子和三星电子都在2013年1月美国CES展会上展示过曲面OLED电视样机,但当时并未宣布发布日期。四个月后,我们看到了第一台曲面OLED电视的面世,然而当时其制造技术还很不成熟。三星也紧跟其后,并于7月最终三星也推出55’’曲面OLED电视。至此两大韩国面板厂与电视厂开始将OLED电视推向了不是平面而是曲面的新纪元。   当然,如下图所示,由于制造与材料的高成本,刚推出时均以超出10,000美元的高定价锁定在非常小众的超高阶市场
[嵌入式]
TCL科技:受芯片/玻璃基板供应短缺影响 LCD面板价格坚挺
3月11日,在2020年业绩说明会上,TCL科技COO兼CFO杜娟表示,今年受芯片和玻璃供应短缺及新产能开出延误影响,LCD面板市场供需持续偏紧,预期上半年产品价格依然坚挺,下半年供需大致平衡。 TCL科技高级副总裁、董事会秘书廖骞指出,2019年底至今,大尺寸显示面板价格波动,加之今年初受疫情短期影响,加速产业落后产能退出,韩国厂商将战略性退出液晶显示领域,台湾厂商则逐步从TV转型到显示器等it产品,显示行业国别转移趋势明显;TCL华星持续推进精益化生产,在半导体显示产业规模、量产化技术应用及配套供应链能力上,已经构建起全球领先的竞争力,随着全球最高世代线t6、t7陆续投产,华星的规模、效率、技术优势进一步凸显,随着未来产能及
[手机便携]
ARM 之LCDLCD控制器
既然提到 了LCD那么我们首先必须要了解的就是他的种类,CD(liquid crystal display), 即液晶显示器,是这一种采用了液晶控制透光度计数来实现色彩的显示器,他与传统的CRT显示器相比有很多优点:轻薄,能耗低,辐射小等,市场 占有率越来越大,LCD有很多类型:STN,TFT,LTPS TFT,OLED等,各有优缺点。 一、 S3C2410,2440LCD控制器介绍 1:S3C2410,2440LCD控制器提供了驱动STNLCD TFTLCD所需要的所有信号, REGBANK是LCD控制器的寄存器组,含有17个寄存器及一块256X16的调色板内存,用来设置二线参数。 2:LCDCDMA则是CD控制器专用的
[单片机]
ARM 之<font color='red'>LCD</font>和<font color='red'>LCD</font>控制器
linux 2.6.32 在arm9(s3c2440)平台的移植2 -- Kconfig和Makefile(2)linux
Linux内核源码树的每个目录下都有一个Kconfig和Makefile, 分布到各目录的Kconfig构成了一个分布式的内核配置数据库, 每个Kconfig分别描述了所属目录源文档相关的内核配置菜单. 在linux目录执行内核配置make menuconfig时, 从Kconfig中读出菜单, 用户选择后保存到linux-2.6/.config的内核配置文档中. 在内核编译时, 主Makefile调用这个.config, Kconfig就是对应着内核的每级配置菜单. 添加新的驱动时需要修改有两种( 1如果添加的只是文件, 则只需修改当前层Kconfig和Makefile文件; 2如果添加的是目录, 则需修改当前层和新添目
[单片机]
TFT-LCD的9个关键概念介绍
了解LCD的一些基本概念和功能,这些概念和功能与显示质量和设备的设置有关。 实际上,在液晶显示模组的交流和开发中,显示器制造商将提供LCD的规格作为基础以供进一步讨论。 TFT-LCD 的 9 个关键概念 屏幕尺寸 显示屏尺寸使用实际可见区域的对角线长度,单位是一英寸(1英寸=2.54厘米)。 纵横比 纵横比是LCD可见区域宽度与高度的比例关系和比例,也称为屏幕比。 LCD的宽高比主要是4:3、5:4、16:10和16:9,16:9的比例更接近黄金分割比例,人眼观看更舒服。 在TFT LCD模块的设计中,通常使用H(水平)表示长度,V(垂直)表示宽度。 纵横比示例 有效面积(AA) 有效面积(AA)样本 有效区域是可以
[嵌入式]
TFT-<font color='red'>LCD</font>的9个关键概念介绍
OLED量产/LCD扩产驱动 京东方未来业绩增长可期
    京东方发布《2017年业绩预告》称,公司预计2017年实现归属于上市公司股东的净利润75亿元-78亿元,同比增长298%-314%。2016年,公司实现净利润18.83亿元。   2017年,京东方进一步推动战略转型升级,坚定执行DSH事业战略,持续推进显示产品结构优化,快速布局新业务领域。随着核心技术创新能力的提升,传统产品市场份额继续维持在较高水平,新应用细分市场拓展成果显著。   此外,京东方持续强化精益管理,提升高附加值产品导入速度和出货比重,公司整体盈利能力稳定在较高水平。加之2017年半导体显示行业景气度较好,公司经营业绩较上年同期大幅提升。   大尺寸LCD产能快速扩张,电视面板出货量升至全球第二   201
[手机便携]
一种可编程宽带放大器的设计
1 引言 随着微电子技术的发展,宽带放大器在科研中具有重要作用。宽带运算放大器广泛应用于A/D转换器、D/A 转换器、有源滤波器、波形发生器、视频放大器等电路。这些电路要求运算放大器具有较高的频带宽度,电压增值。为此,以可编程增益放大器THS7001和可变增益放大器AD603为核心,设计一种可编程宽带运算放大器。该电路增益调节范围为-6~70 dB,步进间距为6dB,AGC为60 dB,-3 dB通频带为40 Hz~15MHz。矩阵键盘设置增益值、步进,点阵液晶显示实时电压有效值,人机界面友好,操作简单方便。 2 系统总体设计方案 该系统主要由可控增益放大器、功率放大与峰值检波、单片机显示和控制3大模块组成。其中可变增益放大
[电源管理]
一种可编程宽带放大器的设计
FT-LCD驱动电路的设计
   薄膜晶体管液晶显示器(TFT-LCD)具有重量轻、平板化、低功耗、无辐射、显示品质优良等特点,其应用领域正在逐步扩大,已经从音像制品、笔记本电脑等显示器发展到台式计算机、工程工作站(EWS)用监视器。对液晶显示器的要求也正在向高分辨率、高彩色化发展。   由于CRT显示器和液晶屏具有不同的显示特性,两者的显示信号参数也不同,因此在计算机(或MCU)和液晶屏之间设计液晶显示器的驱动电路是必需的,其主要功能是通过调制输出到LCD电极上的电位信号、峰值、频率等参数来建立交流驱动电场。   本文实现了将VGA接口信号转换到模拟液晶屏上显示的驱动电路,采用ADI公司的高性能DSP芯片ADSP-21160来实现驱动电路的主要功能。
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved