MB90092_DEMO.rar

  • LIU DONG
    了解作者
  • C/C++
    开发工具
  • 43KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 5
    下载次数
  • 2013-03-13 19:56
    上传日期
MB90092字符叠加芯片,源码,具有多种信号输入
MB90092_DEMO.rar
  • MB90092_DEMO
  • mb90092_demo.hex
    2.8KB
  • demo.LST
    18.5KB
  • AT89X52.H
    6.6KB
  • demo_funs.h
    211B
  • STARTUP.OBJ
    749B
  • STARTUP.A51
    5KB
  • demo.OBJ
    17.1KB
  • mb90092_demo.plg
    172B
  • mb90092_demo_Opt.Bak
    965B
  • STARTUP.LST
    11.4KB
  • demo.H
    2.5KB
  • demo.C
    10.2KB
  • mb90092_demo.Uv2
    2KB
  • mb90092_demo_Uv2.Bak
    2KB
  • mb90092_demo
    15.1KB
  • mb90092_demo.Opt
    1.3KB
  • mb90092_demo.lnp
    48B
  • demo_funs.c
    6.5KB
  • mb90092_demo.M51
    15.9KB
  • demo_funs.LST
    21.5KB
  • demo_funs.OBJ
    23.3KB
内容介绍
#include "STC_NEW_8051.H" #include <intrins.h> #include "demo.h" //#include "demo_funs.h" unsigned long GB2312_ADDRES;//汉字的地址指针 unsigned char GB2312_GBCODE_H;//汉字内码高位 unsigned char GB2312_GBCODE_L;//汉字内码低位 UCHAR synchronization=SYN_INTERNAL,demo_choice=0; unsigned char row,col; unsigned int Index; unsigned char code NAME[]={0xD0,0xD5,0xC3,0xFB,0xA3,0xBA,0xC1,0xF5,0xB6,0xB0,0xD0,0xD5,0xC3,0xFB,0xA3,0xBA,0xC1,0xF5,0xB6,0xB0,0xD0,0xD5,0xC3,0xFB,0xA3,0xBA,0xC1,0xF5,0xB6,0xB0,0x00}; /*void (*DemoFunction[DEMO_SUM])() ={ DemoLogo,DemoAll,DemoFontSize,DemoCount,DemoMoveText,DemoPicture,DemoPic };*/ void init() { TMOD =0x21; TH0 =0x0d; //定时33.5MS TL0 =0xab; TR0 =1; ET0=1; EA=1; } void send_UART_one(unsigned char i) { ES = 0; //关串口中断 TI = 0; //清零串口发送完成中断请求标志 SBUF = i; while(TI ==0); //等待发送完成 TI = 0; //清零串口发送完成中断请求标志 ES = 1; //允许串口中断 } void serial_port_one_initial_1200()//无线 { SCON = 0x50; //0101,0000 8位可变波特率,无奇偶校验位 // TMOD = 0x21; //0011,0001 设置顶时器1为8位自动重装计数器 // TH1 = RELOAD_COUNT; //设置定时器1自动重装数 // TL1 = RELOAD_COUNT; // TR1 = 1; //开定时器1 PCON=0x80; TL1=244;//1200 TH1=TL1; TR1=1; // BRTR = 1, S1BRS = 1, EXTRAM = 1 ENABLE EXTRAM ES = 1; //允许串口中断 EA = 1; //开总中断 } /********************************************************************************************************* ** 函数名称: Delay_ms ** 功能描述: 延时ms毫秒 (不精确) ** 日 期: 2004年12月29日 ********************************************************************************************************/ void Delay_ms (UINT ms) { UINT i,j,k; for(k=0; k<ms; k++) for(i=48; i>0; i--) for(j=10; j>0; j--); } /********************************************************************************************************* ** 函数名称: MB90092_WriteByte ** 功能描述: 向MB90092 写一个字节数据 ** 日 期: 2004年12月29日 ********************************************************************************************************/ void MB90092_WriteByte (UCHAR _data) { UCHAR i; ACC=_data; CS=0x00; CLK=1; for (i=8;i>0;i--) { SIN = ACC_0; _nop_(); ACC>>=1; CLK=0; _nop_(); _nop_(); CLK=1; } CS=0x01; } /********************************************************************************************************* ** 函数名称: MB90092_ClearXY ** 功能描述: 清掉屏幕上面坐标(x,y)处的字符,y=0x00~0x0B and x=0x00~0x17 for main screen ** 日 期: 2004年12月29日 ********************************************************************************************************/ /*void MB90092_ClearXY (UCHAR x,UCHAR y) { UCHAR byte1,byte2; if (x>0x17||y>0x0B) return; //invalid col number or row number byte1=((y>>2)&0x3)+0x80; byte2=((y<<5)&0x60)+x; MB90092_WriteByte(byte1); //command 0,设置写入地址,行和列 MB90092_WriteByte(byte2); MB90092_WriteByte(0x88); //command1-1,定义字符颜色,背景颜色 MB90092_WriteByte(0x00); MB90092_WriteByte(0x90+62/128); //command2-1,写入一个空格字符,地址62为空格符点阵 MB90092_WriteByte(62%128); } */ /********************************************************************************************************* ** 函数名称: MB90092_ClearRow ** 功能描述: 清掉屏幕上面的第y行字符,y=0x00~0x0B for main screen ** 日 期: 2004年12月29日 ********************************************************************************************************/ /*void MB90092_ClearRow (UCHAR y) { UCHAR x; if (y>0x0B) return; //invlid row number for (x=0;x<0x18;x++) MB90092_ClearXY (x,y); } */ /********************************************************************************************************* ** 函数名称: MB90092_ClearScreen ** 功能描述: 清屏 ** 日 期: 2004年12月29日 ********************************************************************************************************/ void MB90092_ClearScreen () { UCHAR byte1,byte2; /* UCHAR i; for (i=0;i<0x0C;i++) MB90092_ClearRow (i);*/ for(byte1=0;byte1<12;byte1++) for(byte2=0;byte2<24;byte2++) MB90092_DisChar(byte2,byte1,0xa1,0xa1,0,0,0,0); } /********************************************************************************************************* ** 函数名称: MB90092_DisColor ** 功能描述: MB90092颜色初始化 ** 日 期: 2004年12月29日 ********************************************************************************************************/ void MB90092_DisColor (UCHAR y) { UCHAR temp1,temp2; temp1=((y>>2)&0x3)+0x84; temp2=((y<<5)&0x60)+1; MB90092_WriteByte(temp1); //command 0,设置写入地址,行和列 MB90092_WriteByte(temp2); MB90092_WriteByte(0x88); //ff控制是否特显 MB90092_WriteByte(0x00); //command1-1,设置字符颜色,背景颜色 MB90092_WriteByte(0x90); //command2-1,设置字符点阵在外rom的地址 MB90092_WriteByte(0x00); } /********************************************************************************************************* ** 函数名称: MB90092_DisChar ** 功能描述: 在屏幕坐标(x,y)处显示一个字符,该字符的点阵存储地址为addr,为一24x32的矩形区域 ** 参 数: x,y为屏幕坐标,addr为字符点阵在外rom的存储地址,mul为字符尺寸,bc为字符背景颜色, cc为字符颜色,ff控制是否特显. ** 日 期: 2004年12月29日 ********************************************************************************************************/ void MB90092_DisChar (UCHAR x,UCHAR y,UCHAR addrH,UCHAR addrL,UCHAR mul,UCHAR bc,UCHAR cc,UCHAR ff) { UCHAR temp1,temp2,color; unsigned int ADDR; ADDR=addrH; // send_UART_one(addrH); // send_UART_one(addrL); // ADDR<<=8; // ADDR+=addrL; if (x>0x17||y>0x0B) return; //invalid col number or row number temp1=((y>>2)&0x3)+0x80; temp2=((y<<5)&0x60)+x; MB90092_WriteByte(temp1); //command 0,设置写入地址,行和列 MB90092_WriteByte(temp2); MB90092_WriteByte(0xB0|mul); //command 6,mul->字符尺寸控制(datasheel82),设置一整行 MB90092_WriteByte(0x20|y); /* if (synchronization==SYN_EXTERNAL) { cc=7; bc=0; }*/ color=((cc<<4)&0x70)|bc; if((addrH>=0xa1)&&(addrH<=0xa9)&&(addrL>=0xa1)) { ADDR=addrH-0xa1; ADDR=ADDR*94; ADDR=ADDR+(addrL-0xa1); } else if((addrH>=0xb0)&&(addrL>=0xa1)) { ADDR=addrH-0xa1-6; ADDR=ADDR*94; ADDR=ADDR+(addrL-0xa1); } // send_UART_one(0x44); // send_UART_one((unsigned char )(ADDR>>8)); // send_UART_one((unsigned char)(ADDR)); // send_UART_one(0x33); temp1=0; if((ADDR>>8)&0x04) temp1|=0x04; if((ADDR>>8)&0x08) temp1|=0x02; temp1|=0x88; temp2=0; if((ADDR>>8)&0x10) temp2|=0x08; color|=temp2; // send_UART_one(0xbb); // send_UART_one(temp1); // send_UART_one(color); MB90092_WriteByte(temp1|ff); //ff控制是否特显 MB90092_WriteByte(color); //command1-1,设置字符颜色,背景颜色 temp1=0; temp1=ADDR>>8; temp1<<=1; temp1&=0x07; temp2=0; temp2=ADDR; // send_UART_one(temp1); // send_UART_one(temp2); if(temp2&0x80) temp1|=0x01; // send_UART_one(temp1); temp2&=0x7f; temp1|=0x90; // send_UART_one(temp1); // send_UART_one(temp2); MB90092_WriteByte(temp1); //command2-1,设置字符点阵在外rom的地址 MB90092_WriteByte(temp2); // send_UART_one(0xff); } void MB90092_string(unsigned char *str,unsigned char row,unsigned char col,unsigned char cc) { unsigned char CH,temp_col,temp_row; temp_col=col; temp_row=row; while(*(str+CH)) { MB90092_DisChar(temp_col,temp_row,*(str+CH),*(str+CH+1),3,2,cc,0); temp_col++; if(temp_col>=10) { temp_row+=2; temp_col=0; } CH+=2; } } /***********************************************************************
评论
    相关推荐
    • mb90092.rar
      MB90092的叠加程序,以及电路板原理图等等
    • MB90092_OSC.rar
      基于MB90092的图像叠加 可以在彩色或者黑白图像上叠加,黑白字符,图片
    • _MB90092.rar
      采用字符视频叠加芯片,实现图形与字符数字叠加显示功能。
    • MB_Demo.zip
      基于Spartan6的软核处理器Microblaze的一个简单例子,方便初学者快速掌握MicroBlaze
    • mb_demo.rar
      本实例在vc2010下实现了miniblink控件调用,实现了简单浏览器的实现模拟,给初学者一个简单入门实例。
    • mb_demo_vc6.rar
      miniblink这个控件不错,提供的实例是vc2010的,对于很多开发者,习惯使用vc6进行开发,而且控件提供者,也强调这个控件支持vc6,今天好奇,进行了实验,结果很成功,特意分享给大家
    • Demo.zip
      将BYTE转换成KB、MB和GB,VC++精选编程学习源码,很好的参考资料。
    • Demo.rar
      一个我自己闲暇时间编写的一个游戏,希望管理员能喜欢
    • JQuery MB.Menu demo
      JQuery的导航栏按钮demo,有相当多的例子可供参考
    • Proteus7.12.rar
      Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路