虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

单片机数字电路

  • LCD12864显示汉字和数字(程序和电路)

    附件为:LCD12864显示汉字和数字的程序与电路 /*  自定义延时子函数 */ void delayms(uchar z) {   int x,y;   for(x=z;x>0;x--)      for(y=110;y>0;y--); } /*      判断LCD忙信号状态 */ void buys() {   int dat;   RW=1;   RS=0;   do     {           P0=0x00;          E=1;    dat=P0;    E=0;    dat=0x80 & dat;   } while(!(dat==0x00)); } /*      LCD写指令函数 */ void w_com(uchar com) {   //buys();   RW=0;   RS=0;   E=1;   P0=com;   E=0; }  /*      LCD写数据函数 */ void w_date(uchar date) {   //buys();   RW=0;   RS=1;   E=1;   P0=date;   E=0; } /*     LCD选屏函数 */ void select_screen(uchar screen) {     switch(screen)     {         case 0:     //选择全屏                 CS1=0;        CS2=0;           break;      case 1:     //选择左屏                 CS1=0;        CS2=1;           break;                          case 2:     //选择右屏                 CS1=1;        CS2=0;           break;    /*  case 3:     //选择右屏                 CS1=1;          CS2=1;               break;    */     }           } /*   LCDx向上滚屏显示 */ void lcd_rol() {     int x;     for(x=0;x<64;x++)        {       select_screen(0);     w_com(0xc0+x);       delayms(500);     } } /*     LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列 */ void clear_screen(screen) {   int x,y;   select_screen(screen);     //screen:0-选择全屏,1-选择左半屏,2-选择右半屏   for(x=0xb8;x<0xc0;x++)   //从0xb8-0xbf,共8页      {    w_com(x);    w_com(0x40);   //列的初始地址是0x40    for(y=0;y<64;y++)       {            w_date(0x00);              }       }    } /*   LCD显示汉字字库函数 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) {  //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数       int a;    mun=mun*32;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       } }  /*   LCD显示字符字库函数 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) {  //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       } } /*   LCD显示数字字库函数 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) {  //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       } } /*   LCD初始化函数 */ void lcd_init() {   w_com(0x3f);   //LCD开显示   w_com(0xc0);   //LCD行初始地址,共64行   w_com(0xb8);   //LCD页初始地址,共8页   w_com(0x40);   //LCD列初始地址,共64列     } /*   LCD显示主函数 */ void main() {   //第一行       int x;    lcd_init();     //LCD初始化    clear_screen(0);    //LCD清屏幕    lcd_display_shuzi(1,0,4,5);    //LCD显示数字    lcd_display_shuzi(1,0,5,1);    //LCD显示数字       lcd_display_hanzi(1,0,3,0);    //LCD显示汉字    lcd_display_hanzi(2,0,0,1);    //LCD显示汉字    //LCD字符汉字    lcd_display_hanzi(2,0,1,2);    //LCD显示汉字   //第二行     lcd_display_zifuk(1,1,2,0);    //LCD显示字符    lcd_display_zifuk(1,1,3,0);    //LCD显示字符    lcd_display_zifuk(1,1,4,0);    //LCD显示字符    lcd_display_zifuk(1,1,5,4);    //LCD显示字符    lcd_display_shuzi(1,1,6,8);    //LCD显示字符    lcd_display_shuzi(1,1,7,9);    //LCD显示字符    lcd_display_shuzi(2,1,0,5);    //LCD显示字符    lcd_display_shuzi(2,1,1,1);    //LCD显示字符    lcd_display_zifuk(2,1,2,4);    lcd_display_zifuk(2,1,3,1);    lcd_display_zifuk(2,1,4,2);    lcd_display_zifuk(2,1,5,3);   //第三行    for(x=0;x<4;x++)       {      lcd_display_hanzi(1,2,x,3+x);    //LCD显示汉字    }      for(x=0;x<4;x++)       {      lcd_display_hanzi(2,2,x,7+x);    //LCD显示汉字    }   //第四行     for(x=0;x<4;x++)       {      lcd_display_zifuk(1,3,x,5+x);    //LCD显示汉字    }     lcd_display_shuzi(1,3,4,7);     lcd_display_shuzi(1,3,5,5);     lcd_display_shuzi(1,3,6,5);     lcd_display_zifuk(1,3,7,9);     lcd_display_shuzi(2,3,0,8);     lcd_display_shuzi(2,3,1,9);     lcd_display_shuzi(2,3,2,9);     lcd_display_shuzi(2,3,3,5);     lcd_display_shuzi(2,3,4,6);     lcd_display_shuzi(2,3,5,8);     lcd_display_shuzi(2,3,6,9);     lcd_display_shuzi(2,3,7,2);        while(1);    /* while(1)     {     //  LCD向上滚屏显示        lcd_rol();     }    */ }

    标签: 12864 LCD 汉字 数字

    上传时间: 2013-11-08

    上传用户:aeiouetla

  • 555电路在单片机测控系统中的应用

    555电路在单片机测控系统中的应用

    标签: 555 电路 单片机 中的应用

    上传时间: 2013-10-29

    上传用户:1214209695

  • 单片机输出控制电路的制作

    单片机输出控制电路的制作

    标签: 单片机 输出 控制电路

    上传时间: 2014-12-25

    上传用户:凤临西北

  • 基于C8051F021的智能配电数字终端温度控制技术的设计

    由于智能配电数字终端[1]内部的工作温度会受到周围环境的影响,从而导致箱体内部的一些正常元器件无法正常地工作。因此一种能自动检测温度并且实时自动调节温度的技术应运而生。通过使用Silicon Laboratories公司生产的C8051F系列的高速SoC单片机结合DALLAS公司的高精度的数字温度采集芯片DS1820,以及外围的扩展电路,完成对终端内的温度的实时的精确的控制和调节。

    标签: C8051F021 智能配电 数字终端 控制技术

    上传时间: 2014-12-25

    上传用户:huangld

  • 单片机C语言简易数字频率计课程设计

    单片机C语言简易数字频率计课程设计

    标签: 单片机 C语言 数字频率计

    上传时间: 2014-12-25

    上传用户:q986086481

  • 单片机输出控制电路设计原理

    单片机输出控制电路的制作

    标签: 单片机 输出 控制电路 设计原理

    上传时间: 2013-11-22

    上传用户:lixinxiang

  • 几种基于单片机的数字频率测量仪的设计

    几种基于单片机的数字频率测量仪的设计

    标签: 单片机 仪的设计 数字 频率测量

    上传时间: 2013-11-12

    上传用户:klin3139

  • 单片机电路常识及设计经验.rar

      本资料是关于单片机电路设计的一些经验,希望对大家有所帮助。。。   前言 MCU发展趋势   未来以及相当长的一段时间内,单片机应用技术的发展趋势为:   1、全盘CMOS化   CMOS 电路具有众多的优点,如极宽的工作电压范围、极佳的本质低功耗及功耗管理特征,形成了嵌入式系统独特的低功耗及功耗管理应用技术。   2、最大化的SoC设计   目前单片机已逐渐向片上系统发展,原有的单片机逐渐发展成通用型SoC 单片机(如C8051F 系列)或SoC 的标准IP 内核(如DW8051_core),以及各种专用的SoC 单片机。   3、以串行方式为主的外围扩展   目前单片机外围器件普遍提供了串行扩展方式。串行扩展具有简单、灵活、电路系统简单、占用I/O资源少等优点,是一种流行的扩展方式。   4、8位机仍有巨大发展空间   电路常识性概念(1)-输入、输出阻抗   1、输入阻抗   输入阻抗是指一个电路输入端的等效阻抗。在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin=U/I。你可以把输入端想象成一个电阻的两端,这个电阻的阻值,就是输入阻抗。   输入阻抗跟一个普通的电抗元件没什么两样,它反映了对电流阻碍作用的大小。   对于电压驱动的电路,输入阻抗越大,则对电压源的负载就越轻,因而就越容易驱动,也不会对信号源有影响;而对于电流驱动型的电路,输入阻抗越小,则对电流源的负载就越轻。因此,我们可以这样认为:如果是用电压源来驱动的,则输入阻抗越大越好;如果是用电流源来驱动的,则阻抗越小越好(注:只适合于低频电路,在高频电路中,还要考虑阻抗匹配问题。另外如果要获取最大输出功率时,也要考虑阻抗匹配问题。)

    标签: 单片机电路 常识 设计经验

    上传时间: 2013-11-08

    上传用户:元宵汉堡包

  • 单片机常用外围设备接口电路

      本资料是关于单片机常用外围设备接口电路图   主要包括以下电路:   LED数码管及编码方式   静态显示方式及其典型应用电路   动态显示方式及其典型应用电路   虚拟I2C总线串行显示电路   键盘去抖动和连接、控制方式   独立式按键及其接口电路   矩阵式键盘及其接口电路   并行A/D ADC0809及其接口电路   串行A/D ADC0832及其接口电路   I2C串行A/D典型应用电路   DAC0832及其接口电路   I2C串行D/A典型应用电路   开关量驱动输出接口电路

    标签: 单片机常用 外围设备 接口电路

    上传时间: 2013-10-30

    上传用户:ks201314

  • 基于软件仿真和硬件电路联调的单片机课程设计

    基于软件仿真和硬件电路联调的单片机课程设计

    标签: 软件仿真 硬件电路 单片机 联调

    上传时间: 2013-11-17

    上传用户:waitingfy