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

Z-STACK

  • 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

  • c51流水灯仿真与程序

    对应程序: #include<reg52.h> #define uint unsigned int #define uchar unsigned char uchar code tab[]={ 0x81, 0x42, 0x24, 0x18, }; void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=120;j>0;j--); } void init() { P0=0x00; }

    标签: c51 流水灯 仿真 程序

    上传时间: 2014-01-17

    上传用户:ruan2570406

  • 反激式开关电源电子数据表格

    序号 参数 数据 单位 参数 说 明 . 输 入 参 数 变 量 1 umin V 交流输入电压最小值 2 umax V 交流输入电压最大值 3 fL Hz 电网频率 4 f kHz 开关频率 5 UO V 直流输出电压 6 PO W 输出功率 7 η % 电源效率 8 Z 0.5 损耗分配系数 9 UFB V 反馈电压  

    标签: 反激式开关电源 电子 数据表格

    上传时间: 2013-10-14

    上传用户:小码农lz

  • SONIX 8BIT单片机26系列I/O型原理及基础课件

    主要内容: 1、Sonix 26xx单片机简介;2、Sonix 26xx单片机特点;3、Sonix 26xx单片机内部结构;4、Sonix 26xx单片机资源;5、Sonix 26xx单片机ROM、RAM的映射;6、Sonix 26xx寄存器(ACC、PFLAG、PC、Y、Z、R);

    标签: SONIX 8BIT 单片机

    上传时间: 2013-10-29

    上传用户:远远ssad

  • 单片机应用编程技巧(FAQ)

    1.C语言和汇编语言在开发单片机时各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。对于目前普遍使用的RISC架构的8bitMCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。如果对单片机C语言有兴趣,HOLTEK的单片机就有提供C编译器,可以到HOLTEK的网站(www.holtek.com.cn)免费下载使用。

    标签: FAQ 单片机应用 编程技巧

    上传时间: 2013-10-24

    上传用户:qb1993225

  • 基于PIC24FJ64GA002的小型WEB服务器设计与应用

    本文以PIC24FJ64GA002 16位单片机为处理器控制10BASE-T SPI以太网控制器ENC28J60,实现了单片机的上网。应用Microchip TCPIP Stack协议,实现了HTTP,FTP协议和基于CGI动态网页的设计。操作员可以在远程计算机上以Web页面的方式实现系统的监控,也可以通过FTP更新系统参数和数据。最后将本系统应用在了生物发酵远程监控系统中,得到了良好的效果。

    标签: PIC 002 WEB 24

    上传时间: 2013-11-08

    上传用户:赵一霞a

  • CiA 简介

    CiA全称为“CAN in Automation-国际用户和厂商协会”,在德国Erlangen注册。CiA总部位于Erlangen,并由CiA董事会建立各个办事处。1992年,为促进CAN以及CAN协议的发展,欧洲的一些公司组成一个商业协会,提供CAN的技术、产品以及市场信息。到2002年6月时,共有约400家公司加入了这个协会,协作开发和支持各类CAN高层协议。经过近十年的发展,该协会已经为全球应用CAN技术的权威。CiA提供的各种服务有:􀁺 发布各类技术规范。免费下载CAN文献资料,提供CANopen规范、DeviceNet规范。􀁺 发布CAN产品数据库、CANopen产品指南。􀁺 出版CAN时事通讯杂志。􀁺 组织国际CAN会议(iCC)、CAN入门培训、CAN内部讲座。􀁺 在国际商业展览会上负责分发印刷资料,并举办CAN技术研讨会。􀁺 提供CANopen验证工具,执行CANopen认证测试。􀁺 为最终用户提供技术咨询服务,解答有关DeviceNet和CANopen的问题。􀁺 通过email、传真或电话等方式为器件开发人员、系统设计人员提供免费的咨询服务。􀁺 开发CAN规范(包括物理层定义、应用层和设备协议),并发布为CiA标准。在CiA的努力推广下,CAN技术在汽车电控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运输等方面均得到了广泛的应用。2002年6月17日,广州周立功单片机发展有限公司与CiA正式签订协议,成为中国的第一家CiA团体会员(FCM)。我们将从CiA获得各类CAN技术资料、市场信息,并在CiA支持下,从事CAN技术在中国的推广工作。作为Philips公司在亚太地区的销量最大的微控制器元件销售商,广州周立功单片机发展有限公司提供Philips的CAN控制器、CAN收发器,以及LIN收发器。同时,广州周立功单片机发展有限公司提供CAN开发工具、CAN调试仪器,并为最终产品应用提供CAN嵌入模块、CAN接口模块、CAN高层协议软件库、CAN应用方案。第 1

    标签: CiA

    上传时间: 2013-12-22

    上传用户:时代将军

  • 8SH702&703用户接口电路

    8SH702&703用户接口电路 概述:SHL7038是本公司于2005年在60系列产品(SHL6014和SHR6024)、70系列产品(SHL703和SHR702)基础上设计的一种同时具备8路用户接口(选用2片SHL6014,等同于8路SHL703)或者8路中继接口(选用2片SHR6024,等同于8路SHR702)或者4路用户接口加4路中继接口(选用1片SHL6014加1片SHR6024,,等同于4路SHL703加4路SHR702)的通用接口模板;􀁺 其中的用户接口性能指标描述详见SHL6014资料介绍(附后);􀁺 其中的中继接口性能指标描述详见SHR6024资料介绍(附后);􀁺 阻抗可调整;􀁺 100mm * 64mm * 6mm MAX拔插式结构,体积超小,使用方便。􀁺 特别适用于语音卡、调度机、交换机、环路终端等既要求密度高、又要求拔插方便、尤其希望能灵活变更模块类型的场合。􀁺 单电源供电。

    标签: 702 703 SH 用户接口

    上传时间: 2013-10-17

    上传用户:haoxiyizhong

  • MPLAB C30用户指南(英文)

    MPLAB C30用户指南(英文) HIGHLIGHTSThe information covered in this chapter is as follows:• About this Guide• Recommended Reading• Troubleshooting• The Microchip Web Site• Development Systems Customer Notification Service• Customer Support Document LayoutThe document layout is as follows:• Chapter 1: Compiler Overview – describes MPLAB C30, development tools andfeature set.• Chapter 2: Differences between MPLAB C30 and ANSI C – describes thedifferences between the C language supported by MPLAB C30 syntax and thestandard ANSI-89 C.• Chapter 3: Using MPLAB C30 – describes how to use the MPLAB C30 compilerfrom the command line.• Chapter 4: MPLAB C30 Runtime Environment – describes the MPLAB C30runtime model, including information on sections, initialization, memory models, thesoftware stack and much more.• Chapter 5: Data Types – describes MPLAB C30 integer, floating point and pointerdata types.• Chapter 6: Device Support Files – describes the MPLAB C30 header and registerdefinition files, as well as how to use with SFR’s.• Chapter 7: Interrupts – describes how to use interrupts.• Chapter 8: Mixing Assembly Language and C Modules – provides guidelines tousing MPLAB C30 with MPLAB ASM30 assembly language modules.

    标签: MPLAB C30 用户 英文

    上传时间: 2013-10-21

    上传用户:13925096126

  • SPCE061A的指令周期表.pdf

    SPCE061A的指令周期表 SPCE061A的指令周期表[注意]:表中目标寄存器为PC时,部分指令周期会发生改变;建议在非必要的情况下,尽量不用PC作为目标寄存器。[符号约定]:表中符号代表的含义如下:R1,R2,R3,R4: 通用寄存器;BP(R5): 基址指针寄存器,也可以作为通用寄存器使用;SR: 段寄存器;SP: 堆栈指针寄存器;PC: 程序计数器;N: 负标志;Z: 零标志;S: 符号标志;C: 进位标志;IM6: 6位立即数寻址;IM16: 16位立即数寻址;[A6]: 存储器绝对寻址,用6位立即数表示地址;[A16]: 存储器绝对寻址,用16位立即数表示地址;R: 寄存器寻址;[R]: 寄存器间接寻址;[BP+IM6]: 变址寻址,地址偏移量为6位立即数;[BP+IM16]: 变址寻址,地址偏移量为16位立即数;{}: 可选项;D: 数据段基址,D:或省略都表示基址为0(在第0页);#: 算术逻辑运算符(不能为乘除);n 移位操作时的移位位数。

    标签: SPCE 061A 061

    上传时间: 2013-10-23

    上传用户:nanshan