附件为: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(); } */ }
上传时间: 2013-11-08
上传用户:aeiouetla
附件下载proteus7.8破解版包含了Proteus中文入门教程在内 Proteus Pro 7.8 sp2 汉化破解版,该Proteus 汉化破解版解决了7.2版本运行10分钟就自动关闭的问题,是目前最Protus中最高的版本。Proteus 不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。 Proteus 是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,Proteus为您建立完整的电子设计开发环境。中文系统可用,不需修改 “非unicode程序的语言”设置,不用改区域语言设置,也不要安装其他破解。 proteus7.8破解版安装步骤: 先安装P7.8sp2.exe,再运行"Proteus Pro 7.8 SP2破解1.0.exe"破解,再汉化。这个汉化补丁用7.5的汉化修改而来,覆盖前注意备份原文件,如果汉化报错,就将“汉化报错.exe” 复制到安装文件夹再运行。 Proteus 不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。 Proteus中文入门教程 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。 Proteus中文入门教程目 录 第一章 概述 2 一、进入Proteus ISIS 2 二、工作界面 3 三、基本操作 3 图形编辑窗口 3 预览窗口(The Overview Window) 4 对象选择器窗口 5 图形编辑的基本操作 5 参考1 10 参考2作原理图仿真调试 12 四、实例一 16 电路图的绘制 17 KeilC与Proteus连接调试 26 五、实例二 30 使用元件工具箱 30 使用状态信息条 30 使用对话框 30 使用仿真信息窗口 30 关闭Proteus ISIS 30 四、菜单命令简述 31 主窗口菜单 31 表格输出窗口(Table)菜单 33 方格输出窗口(Grid)菜单 33 Smith圆图输出窗口(Smith)菜单 33 直方图输出窗口(Histogram)菜单 33 第二章 基于51的PID炉温度调节器的硬件设计及仿真 34
上传时间: 2013-11-20
上传用户:tangsiyun
在16MHZ频率下速度为16MIPS的8位RISC结构单片机,内含硬件乘法器。 支持JTAG端口仿真和编程,仿真效果比传统仿真同更真实有效。 8通道10位AD转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器。 16K字节的FLASH存贮器,支持ISP、IAP编程,使系统开发、生产、维护更容易。 多达1K字节的SRAM,32个通用寄存器,三个数据指针,使用C语言编程更容易。 512字节的EEPROM存贮器,可以在系统掉电时保存您的重要数据。 多达20个中断源,每个中断有独立的中断向量入口地址。 2个8位定时/计数器,1个16位定时/计数器,带捕捉、比较功能,有四个通道的PWM。 硬件USART、SPI和基于字节处理的I2C接口。 杰出的电气性能,超强的抗干扰能力。每个IO口可负载40mA的电流,总电流不超过200mA。 可选片内/片外RC振荡、石英/陶瓷晶振、外部时钟,更具备实时时钟(RTC)功能;片内RC振荡可达8MHZ,频率可校调到1%精度;片外晶振振荡幅度可调,以改善EMI性能。 内置模拟量比较器。 可以用熔丝开启、带独立振荡器的看门狗,看门狗溢出时间分8级可调。 内置上电复位电路和可编程低电压检测(BOD)复位电路。 六种睡眠模式,给你更低的功耗和更灵活的选择。 ATMEGA16L工作电压2.7V-5.5V,工作频率0-8MHZ;ATMEGA16工作电压4.5-5.5V,工作频率0-16MHZ。 32个IO口,DIP40、TQFP44封装。 与其它8位单片机相比,有更高的程序安全性,保护您的知识产权。
上传时间: 2013-11-22
上传用户:wcl168881111111
1. 型号紧跟的字母,表示电压工作范围。带“V”:1.8-5.5V;若缺省,不带“V”:2.7-5.5V。 例:ATmega48-20AU,不带“V”表示工作电压为2.7-5.5V。 2. 后缀的数字部分,表示支持的最高系统时钟。 例:ATmega48-20AU,“20”表示可支持最高为20MHZ的系统时钟。 3. 后缀第一(第二)个字母,表示封装。“P”:DIP封装,“A”:TQFP封装,“M”:MLF封装。 例:ATmega48-20AU,“A”表示TQFP封装。 4. 后缀最后一个字母,表示应用级别。“C”:商业级,“I”:工业级(有铅)、“U”工业级(无铅)。 例:ATmega48-20AU,“U”表示无铅工业级。ATmega48-20AI,“I”表示有铅工业级。
上传时间: 2013-11-11
上传用户:jokey075
1. 单片机简介 1.1 单片机的概念 1.2 单片机的特点 1.3 单片机的种类 1.4 单片机的地位 1.5 典型单片机特性 单片机的概念含义: 将计算机硬件的5大单元——运算器、控制器、存储器、输入和输出接口集成在一块硅片上的微型计算机。别名:微控制器
标签: 单片机技术
上传时间: 2013-10-21
上传用户:叶立炫95
概述 BL35P02R是一款低功耗8位OTP型微控制器单元(MCU),并带有内置高精度振荡器,及一个可直接驱动红外发射管的遥控码输出口,适用于各类家电(如电视、VCD机等)的红外遥控器。 主要特点 8位CISC结构CPU(MotorolaHC05兼容)最多可支持16个通用IO口和1个输入口1个8位定时/计数器9路键盘中断(KBI)1路遥控码输出口(IROUT),8种载波频率可选(1/3占空比),驱动能力强(>300mA)外接晶振325K-8MHz/内置RC振荡4MHz(偏差≤5%,0-40℃,2.0-3.6V工作电压范围内)低功耗设计(待机功耗<1uA@3V)32byteRAM(含堆栈)2K*8bitOTPROMOTP数据加密功能工作电压2.0-5.5V封装形式:SOP20(300mil)/SOP18(300mil)/SOP16(150mil)
上传时间: 2013-10-12
上传用户:z240529971
概述 BL35P02是一款低功耗8位OTP型微控制器单元(MCU),适用于各类家电(如电视、VCD机等)的红外遥控器。 主要特点 8位CISC结构CPU(MotorolaHC05兼容)15个通用IO口1个8位定时/计数器9路键盘中断(KBI)1路遥控码输出口(IROUT),8种载波频率可选(1/3占空比)外接晶振325K-8MHz低功耗设计(待机功耗<1uA@3V)32byteRAM(含堆栈)2K*8bitOTPROMOTP数据加密功能工作电压2.0-5.5V封装形式:SOP20(300mil)/SSOP20(200mil)/SOP16(150mil)
上传时间: 2013-11-06
上传用户:894448095
概述 BL22P64可以作为许多中高档小家电(如电磁炉、微波炉、豆浆机等)的控制芯片,这一类小家电通常都需要灵活的、可编程的控制方式,并需要AD、PWM等资源,同时满足抗电磁干扰(EMC)4KV的要求。 主要特点 ●8位CISC型内核(兼容MotorolaHC05)●4KbyteOTPROM●208byteRAM●3组IO口(最多18个IOPIN)●1个PWM输出●1个8位基本定时器●1个8位带MATCH输出的定时器●1个10位ADC(9路输入)●2个外中断、1个定时器中断、1个PWM中断●WATCHDOG●3V低压复位●可选晶振/RC振荡晶振400K-4MHzRC振荡有3.2MHz(@5V,typ.)、0.5MHz(@5V,typ.)、外接电阻3种可选●工作电压2.7-5.5V●工作温度-40-85℃●封装形式:SOP20/DIP20/SOP16
上传时间: 2013-11-06
上传用户:DE2542
主要特点管脚完全与三星9454兼容8位CISC型内核(MC05)4KbyteOTPROM208byteRAM3组IO口(最多可支持17个通用IO口和1个输入口)1个PWM输出1个8位基本定时器1个8位带比较输出的定时器1个10位ADC(9路输入)2个外中断、1个定时器中断、1个PWM中断看门狗复位功能3V低压复位可选晶振/RC振荡晶振400K-8MHzRC振荡有3.2MHz(@5V,typ.)、8MHz(@5V,typ.)、外接电阻电容3种可选工作电压2.2-5.5V(工作频率400K-4MHz)2.4-5.5V(工作频率4M-8MHz)工作温度-40-85℃封装形式:MC10P2320S:SOP20MC10P2320D:DIP20MC10P2316S:SOP16MC10P2316D:DIP20MC10P2308S:SOP8MC10P2308D:DIP8
上传时间: 2014-01-19
上传用户:yd19890720
摘要:ZHC1010是ZILIG公司的红外收发芯片,该芯片在1米范围内的最高速度可达115.2KBPS,2.4V~5.5V的宽电源范围可使其与各种电压的CPU进行方便的接口,文中介绍了ZHX1010的特点、结构和使用方法,并给出了它与AT89C51的接口应用。
上传时间: 2013-10-16
上传用户:18711024007