/* ********************************************************************************************************* * uC/TCP-IP V2 * The Embedded TCP/IP Suite * * (c) Copyright 2003-2010; Micrium, Inc.; Weston, FL * * All rights reserved. Protected by international copyright laws. * * uC/TCP-IP is provided in source form to registered licensees ONLY. It is * illegal to distribute this source code to any third party unless you receive * written permission by an authorized Micrium representative. Knowledge of * the source code may NOT be used to develop a similar product. * * Please help us continue to provide the Embedded community with the finest * software available. Your honesty is greatly appreciated. * * You can contact us at www.micrium.com. ********************************************************************************************************* */ /* ********************************************************************************************************* * * NETWORK TCP LAYER * (TRANSMISSION CONTROL PROTOCOL) * * Filename : net_tcp.h * Version : V2.10 * Programmer(s) : ITJ ********************************************************************************************************* * Note(s) : (1) Supports Transmission Control Protocol as described in RFC #793 with the following * restrictions/constraints : * * (a) TCP Security & Precedence NOT supported RFC # 793, Section 3.6 * * (b) TCP Urgent Data NOT supported RFC # 793, Section 3.7 * 'The Communication of * Urgent Information' * * (c) The following TCP options NOT supported : * * (1) Window Scale RFC #1072, Section 2 * RFC #1323, Section 2 * (2) Selective Acknowledgement (SACK) RFC #1072, Section 3 * RFC #2018 * RFC #2883 * (3) TCP Echo RFC #1072, Section 4 * (4) Timestamp RFC #1323, Section 3.2 * (5) Protection Against Wrapped Sequences (PAWS) RFC #1323, Section 4 * * (d) #### IP-Options-to-TCP-Connection RFC #1122, Section 4.2.3.8 * Handling NOT supported * * (e) #### ICMP-Error-Message-to-TCP-Connection RFC #1122, Section 4.2.3.9 * Handling NOT currently supported * * (2) TCP Layer assumes/requires Network Socket Layer (see 'net_sock.h MODULE Note #1a2'). ********************************************************************************************************* */ /*$PAGE*/ /* ********************************************************************************************************* * MODULE * * Note(s) : (1) TCP Layer module is NOT required for UDP-to-Application API configuration. * * See also 'net_cfg.h TRANSPORT LAYER CONFIGURATION' * & 'net_cfg.h USER DATAGRAM PROTOCOL LAYER CONFIGURATION'. * * See also 'net_tcp.h Note #2'. * * (2) The following TCP-module-present configuration value MUST be pre-#define'd in * 'net_cfg_net.h' PRIOR to all other network modules that require TCP Layer * configuration (see 'net_cfg_net.h TCP LAYER CONFIGURATION Note #2b') : * * NET_TCP_MODULE_PRESENT ********************************************************************************************************* */ #ifdef NET_TCP_MODULE_PRESENT /* See Note #2. */ /* ********************************************************************************************************* * EXTERNS ********************************************************************************************************* */ #if ((defined(NET_TCP_MODULE)) && \ (defined(NET_GLOBALS_EXT))) #define NET_TCP_EXT #else #define NET_TCP_EXT extern #endif /*$PAGE*/ /* ********************************************************************************************************* * DEFINES ********************************************************************************************************* */ /* ********************************************************************************************************* * TCP HEADER DEFINES * * Note(s) : (1) The following TCP value MUST be pre-#define'd in 'net_def.h' PRIOR to 'net_buf.h' so that * the Network Buffer Module can configure maximum buffer header size (see 'net_def.h TCP * LAYER DEFINES' & 'net_buf.h NETWORK BUFFER INDEX & SIZE DEFINES Note #1') : * * (a) NET_TCP_HDR_SIZE_MAX 60 (NET_TCP_HDR_LEN_MAX * * NET_TCP_HDR_LEN_WORD_SIZE) * * (2) Urgent pointer & data NOT supported (see 'net_tcp.h Note #1b'). ********************************************************************************************************* */ #define NET_TCP_HDR_LEN_MASK 0xF000u #define NET_TCP_HDR_LEN_SHIFT 12u #define NET_TCP_HDR_LEN_NONE 0u #define NET_TCP_HDR_LEN_MIN 5u #define NET_TCP_HDR_LEN_MAX 15u #define NET_TCP_HDR_LEN_WORD_SIZE CPU_WORD_SIZE_32 #define NET_TCP_HDR_SIZE_MIN (NET_TCP_HDR_LEN_MIN * NET_TCP_HDR_LEN_WORD_SIZE) #if 0 /* See Note #1a. */ #define NET_TCP_HDR_SIZE_MAX (NET_TCP_HDR_LEN_MAX * NET_TCP_HDR_LEN_WORD_SIZE) #endif #define NET_TCP_HDR_SIZE_TOT_MIN (NET_IP_HDR_SIZE_TOT_MIN + NET_TCP_HDR_SIZE_MIN) #define NET_TCP_HDR_SIZE_TOT_MAX (NET_IP_HDR_SIZE_TOT_MAX + NET_TCP_HDR_SIZE_MAX) #define NET_TCP_PSEUDO_HDR_SIZE 12u /* = sizeof(NET_TCP_PSEUDO_HDR) */ #define NET_TCP_PORT_NBR_RESERVED NET_PORT_NBR_RESERVED #define NET_TCP_PORT_NBR_NONE NET_TCP_PORT_NBR_RESERVED #define NET_TCP_HDR_URG_PTR_NONE 0x0000u /* See Note #2. */ /*$PAGE*/ /* ********************************************************************************************************* * TCP HEADER FLAG DEFINES * * Note(s) : (1) See 'TCP HEADER Note #2' for flag fields. * * (2) Urgent pointer & data NOT supported (see 'net_tcp.h Note #1b'). ********************************************************************************************************* */ #define NET_TCP_HDR_FLAG_MASK 0x0FFFu #define NET_TCP_HDR_FLAG_NONE DEF_BIT_NONE #define NET_TCP_HDR_FLAG_RESERVED 0x0FE0u /* MUST be '0'. */ #define NET_TCP_HDR_FLAG_URGENT DEF_BIT_05 /* See Note #2. */ #define NET_TCP_HDR_FLAG_ACK DEF_BIT_04 #define NET_TCP_HDR_FLAG_PUSH DEF_BIT_03 #define NET_TCP_HDR_FLAG_RESET DEF_BIT_02 #define NET_TCP_HDR_FLAG_SYNC DEF_BIT_01 #define NET_TCP_HDR_FLAG_FIN DEF_BIT_00 #define NET_TCP_HDR_FLAG_CLOSE NET_TCP_HDR_FLAG_FIN /* ********************************************************************************************************* * TCP FLAG DEFINES ********************************************************************************************************* */ /* ------------------ NET TCP FLAGS ------------------- */ #define NET_TCP_FLAG_NONE DEF_BIT_NONE #define NET_TCP_FLAG_USED DEF_BIT_00 /* TCP conn cur used; i.e. NOT in free TCP conn pool. */ /* ------------------ TCP TX FLAGS ------------------- */ /* TCP tx flags copied from TCP hdr flags. */ #define NET_TCP_FLAG_TX_FIN NET_TCP_HDR_FLAG_FIN #define NET_TCP_FLAG_TX_CLOSE NET_TCP_FLAG_TX_FIN #define NET_TCP_FLAG_TX_SYNC NET_TCP_HDR_FLAG_SYNC #define NET_TCP_FLAG_TX_RESET NET_TCP_HDR_FLAG_RESET #define NET_TCP_FLAG_TX_PUSH NET_TCP_HDR_FLAG_PUSH #define NET_TCP_FLAG_TX_ACK NET_TCP_HDR_FLAG_ACK #define NET_TCP_FLAG_TX_URGENT NET_TCP_HDR_FLAG_URGENT #define NET_TCP_FLAG_TX_BLOCK DEF_BIT_07 /* ------------------ TCP RX FLAGS ------------------- */ #define NET_TCP_FLAG_RX_DATA_PEEK DEF_BIT_08 #define NET_TCP_FLAG_RX_BLOCK DEF_BIT_15 /*$PAGE*/ /* ********************************************************************************************************* * TCP TYPE DEFINES * * Note(s) : (1) NET_TCP_TYPE_&&& #define values specifically chosen as ASCII representations of the TCP * types. Memory displays of TCP types will display with their chosen ASCII names. ********************************************************************************************************* */ /* ------------------ NET TCP TYPES ------------------- */ #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define NET_TCP_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x54435020u /* "TCP " in ASCII. */ #else #if (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32) #define NET_TCP_TYPE_NONE 0x454E4F4Eu /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x20504354u /* "TCP " in ASCII. */ #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16) #define NET_TCP_TYPE_NONE 0x4F4E454Eu /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x43542050u /* "TCP " in ASCII. */ #else /* Dflt CPU_WORD_SIZE_08. */ #define NET_TCP_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x54435020u /* "TCP " in ASCII. */ #endif #endif /* ********************************************************************************************************* * TCP SEQUENCE NUMBER DEFINES * * Note(s) : (1) TCP initial transmit sequence number is incremented by a fixed value, preferably a large * prime value or a large value with multiple unique factors. * * (a) One reasonable TCP initial transmit sequence number increment value example : * * 65527 = 37 * 23 * 11 * 7 * * * #### NET_TCP_TX_SEQ_NBR_CTR_INC could be developer-configured in 'net_cfg.h'. * * See also 'NET_TCP_TX_GET_SEQ_NBR() Notes #1b2 & #1c2'. ********************************************************************************************************* */ #define NET_TCP_SEQ_NBR_NONE 0u #define NET_TCP_ACK_NBR_NONE NET_TCP_SEQ_NBR_NONE #define NET_TCP_TX_SEQ_NBR_CTR_INC 65527u /* See Note #1. */ #define NET_TCP_ACK_NBR_DUP_WIN_SIZE_SCALE 4 /*$PAGE*/ /* ********************************************************************************************************* * TCP DATA/TOTAL LENGTH DEFINES * * Note(s) : (1) (a) TCP total length #define's (NET_TCP_TOT_LEN) relate to the total size of a complete * TCP packet, including the packet's TCP header. Note that a complete TCP packet MAY * be fragmented in multiple Internet Protocol packets. * * (b) TCP data length #define's (NET_TCP_DATA_LEN) relate to the data size of a complete * TCP packet, equal to the total TCP packet length minus its TCP header size. Note * that a complete TCP packet MAY be fragmented in multiple Internet Protocol packets. ********************************************************************************************************* */ /* See Notes #1a & #1b. */ #define NET_TCP_DATA_LEN_MIN 0u #define NET_TCP_TOT_LEN_MIN (NET_TCP_HDR_SIZE_MIN + NET_TCP_DATA_LEN_MIN) #define NET_TCP_TOT_LEN_MAX (NET_IP_TOT_LEN_MAX - NET_IP_HDR_SIZE_MIN ) #define NET_TCP_DATA_LEN_MAX (NET_TCP_TOT_LEN_MAX - NET_TCP_HDR_SIZE_MIN) /*$PAGE*/ /* ********************************************************************************************************* * TCP SEGMENT SIZE DEFINES * * Note(s) : (1) (a) RFC # 879, Section 3 states that the TCP Maximum Segment Size "counts only * data octets in the segment, ... not the TCP header or the IP header". * * (b) RFC #1122, Section 4.2.2.6 requires that : * * (1) "The MSS value to be sent in an MSS option must be less than or equal to * * (A) MMS_R - 20 * * where MMS_R is the maximum size for a transport-layer message that can * be received." * * (2) "If an MSS option is not received at connection setup, TCP MUST assume a * default send MSS of 536 (576 - 40)." * * See also 'net_ip.h IP DATA/TOTAL LENGTH DEFINES Note #1'. ********************************************************************************************************* */ /* See Note #1. */ #define NET_TCP_MAX_SEG_SIZE_DFLT (NET_IP_MAX_DATAGRAM_SIZE_DFLT - NET_IP_HDR_SIZE_MIN - NET_TCP_HDR_SIZE_MIN) #define NET_TCP_MAX_SEG_SIZE_DFLT_RX NET_TCP_DATA_LEN_MAX /* See Note #1b1. */ #define NET_TCP_MAX_SEG_SIZE_DFLT_TX NET_TCP_MAX_SEG_SIZE_DFLT /* See Note #1b2. */ #define NET_TCP_MAX_SEG_SIZE_NONE 0u #define NET_TCP_MAX_SEG_SIZE_MIN NET_TCP_MAX_SEG_SIZE_DFLT #define NET_TCP_MAX_SEG_SIZE_MAX NET_TCP_DATA_LEN_MAX #define NET_TCP_SEG_LEN_MIN NET_TCP_DATA_LEN_MIN #define NET_TCP_SEG_LEN_MAX NET_TCP_DATA_LEN_MAX #define NET_TCP_SEG_LEN_SYNC 1u #define NET_TCP_SEG_LEN_FIN 1u #define NET_TCP_SEG_LEN_CLOSE NET_TCP_SEG_LEN_FIN #define NET_TCP_SEG_LEN_ACK 0u #define NET_TCP_SEG_LEN_RESET 0u #define NET_TCP_SEG_LEN_PROBE 0u #define NET_TCP_DATA_LEN_TX_SYNC 0u #define NET_TCP_DATA_LEN_TX_FIN 0u #define NET_TCP_DATA_LEN_TX_CLOSE NET_TCP_DATA_LEN_TX_FIN #define NET_TCP_DATA_LEN_TX_ACK 0u #define NET_TCP_DATA_LEN_TX_PROBE_NO_DATA 0u #define NET_TCP_DATA_LEN_TX_PROBE_DATA 1u #define NET_TCP_DATA_LEN_TX_RESET 0u #define NET_TCP_TX_PROBE_DATA 0x00u /* ********************************************************************************************************* * TCP WINDOW SIZE DEFINES * * Note(s) : (1) Although NO RFC specifies the absolute minimum TCP connection window size value allowed, * RFC #793, Section 3.7 'Data Communication : Managing the Window' states that for "the * window ... there is an assumption that this is related to the currently available data * buffer space available for this connection". ********************************************************************************************************* */ #define NET_TCP_WIN_SIZE_NONE 0u #define NET_TCP_WIN_SIZE_MIN NET_TCP_MAX_SEG_SIZE_MIN #define NET_TCP_WIN_SIZE_MAX DEF_INT_16U_MAX_VAL /*$PAGE*/ /* ********************************************************************************************************* * TCP HEADER OPTIONS DEFINES * * Note(s) : (1) See the following RFC's for TCP options summary : * * (a) RFC # 793, Section 3.1 'Header Format : Options' * (b) RFC #1122; Sections 4.2.2.5, 4.2.2.6 * * (2) TCP option types are encoded in the first octet for each TCP option as follows : * * -------- * | TYPE | * -------- * * The TCP option type value determines the TCP option format : * * (a) The following TCP option types are single-octet TCP options -- i.e. the option type * octet is the ONLY octet for the TCP option. * * (1) TYPE = 0 End of Options List * (2) TYPE = 1 No Operation * * * (b) All other TCP options MUST be multi-octet TCP options (see RFC #1122, Section 4.2.2.5) : * * ------------------------------ * | TYPE | LEN | TCP OPT | * ------------------------------ * * where * TYPE Indicates the specific TCP option type * LEN Indicates the total TCP option length, in octets, including * the option type & the option length octets * TCP OPT Additional TCP option octets, if any, that contain the remaining * TCP option information * * The following TCP option types are multi-octet TCP options where the option's second * octet specify the total TCP option length, in octets, including the option type & the * option length octets : * * (1) TYPE = 2 Maximum Segment Size See RFC # 793, Section 3.1 'Header Format : * Options : Maximum Segment Size'; * RFC #1122, Section 4.2.2.6; * RFC # 879, Section 3 * * (2) TYPE = 3 Window Scale See 'net_tcp.h Note #1c1' * (3) TYPE = 4 SACK Allowed See 'net_tcp.h Note #1c2' * (4) TYPE = 5 SACK Option See 'net_tcp.h Note #1c2' * (5) TYPE = 6 Echo Request See 'net_tcp.h Note #1c3' * (6) TYPE = 7 Echo Reply See 'net_tcp.h Note #1c3' * (7) TYPE = 8 Timestamp See 'net_tcp.h Note #1c4' * * (3) TCP header allows for a maximum option list length of 40 octets : * * NET_TCP_HDR_OPT_SIZE_MAX = NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN * * = 60 - 20 * * = 40 * * (4) 'NET_TCP_OPT_SIZE' MUST be pre-defined PRIOR to all definitions that require TCP option * size data type. ********************************************************************************************************* */ /*$PAGE*/ #define NET_TCP_HDR_OPT_END_LIST 0u #define NET_TCP_HDR_OPT_NOP 1u #define NET_TCP_HDR_OPT_MAX_SEG_SIZE 2u #define NET_TCP_HDR_OPT_WIN_SCALE 3u #define NET_TCP_HDR_OPT_SACK_PERMIT 4u #define NET_TCP_HDR_OPT_SACK 5u #define NET_TCP_HDR_OPT_ECHO_REQ 6u #define NET_TCP_HDR_OPT_ECHO_REPLY 7u #define NET_TCP_HDR_OPT_TS 8u #define NET_TCP_HDR_OPT_PAD NET_TCP_HDR_OPT_END_LIST #define NET_TCP_HDR_OPT_LEN_END_LIST 1u #define NET_TCP_HDR_OPT_LEN_NOP 1u #define NET_TCP_HDR_OPT_LEN_MAX_SEG_SIZE 4u #define NET_TCP_HDR_OPT_LEN_WIN_SCALE 3u #define NET_TCP_HDR_OPT_LEN_SACK_PERMIT 2u #define NET_TCP_HDR_OPT_LEN_ECHO_REQ 6u #define NET_TCP_HDR_OPT_LEN_ECHO_REPLY 6u #define NET_TCP_HDR_OPT_LEN_TS 10u #define NET_TCP_HDR_OPT_LEN_SACK_MIN 6u #define NET_TCP_HDR_OPT_LEN_SACK_MAX 38u #define NET_TCP_HDR_OPT_LEN_MIN 1u #define NET_TCP_HDR_OPT_LEN_MIN_LEN 2u #define NET_TCP_HDR_OPT_LEN_MAX 38u typedef CPU_INT32U NET_TCP_OPT_SIZE; /* TCP opt size data type (see Note #4). */ #define NET_TCP_HDR_OPT_SIZE_WORD (sizeof(NET_TCP_OPT_SIZE)) #define NET_TCP_HDR_OPT_SIZE_MAX (NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN) #define NET_TCP_HDR_OPT_NBR_MIN 0u #define NET_TCP_HDR_OPT_NBR_MAX (NET_TCP_HDR_OPT_SIZE_MAX / NET_TCP_HDR_OPT_SIZE_WORD) #define NET_TCP_HDR_OPT_IX NET_TCP_HDR_SIZE_MIN /*$PAGE*/ /* ********************************************************************************************************* * TCP OPTION CONFIGURATION TYPE DEFINES * * Note(s) : (1) NET_TCP_OPT_CFG_TYPE_&&& #define values specifically chosen as ASCII representations of * the TCP option configuration types. Memory displays of TCP option configuration buffers * will display the TCP option configuration TYPEs with their chosen ASCII names. ********************************************************************************************************* */ /* ---------------- TCP OPT CFG TYPES ----------------- */ #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define NET_TCP_OPT_CFG_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x4D535320u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x57494E20u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x53434B50u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x5341434Bu /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x45524551u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4543484Fu /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x54532020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #else #if (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32) #define NET_TCP_OPT_CFG_TYPE_NONE 0x454E4F4Eu /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x2053534Du /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x204E4957u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x504B4353u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x4B434153u /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x51455245u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4F484345u /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x20205354u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16) #define NET_TCP_OPT_CFG_TYPE_NONE 0x4F4E454Eu /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x534D2053u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x4957204Eu /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x4353504Bu /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x41534B43u /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x52455145u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x43454F48u /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x53542020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #else /* Dflt CPU_WORD_SIZE_08. */ #define NET_TCP_OPT_CFG_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x4D535320u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x57494E20u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x53434B50u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x5341434Bu /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x45524551u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4543484Fu /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x54532020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #endif #endif /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION TIMEOUT DEFINES * * Note(s) : (1) (a) (1) RFC #1122, Section 4.2.2.13 'DISCUSSION' states that "the graceful close algorithm * of TCP requires that the connection state remain defined on (at least) one end of * the connection, for a timeout period of 2xMSL ... During this period, the (remote * socket, local socket) pair that defines the connection is busy and cannot be reused". * * (2) The following sections reiterate that the TIME-WAIT state timeout scalar is two * maximum segment lifetimes (2 MSL) : * * (A) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : * Check Sequence Number : TIME-WAIT STATE' * (B) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : * Check FIN Bit : TIME-WAIT STATE' * * (b) (1) RFC #793, Section 3.3 'Sequence Numbers : Knowing When to Keep Quiet' states that * "the Maximum Segment Lifetime (MSL) is ... to be 2 minutes. This is an engineering * choice, and may be changed if experience indicates it is desirable to do so". * * (2) Microsoft Corporation's Windows XP defaults MSL to 15 seconds. ********************************************************************************************************* */ /* Max seg timeout (see Note #1b) : */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_MIN_SEC ( 0u ) /* ... min = 0 seconds */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_MAX_SEC ( 2u * DEF_TIME_NBR_SEC_PER_MIN) /* ... max = 2 minutes */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_DFLT_SEC ( 15u ) /* ... dflt = 15 seconds */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_SCALAR 2u /* ... scalar (see Note #1a). */ #define NET_TCP_CONN_TIMEOUT_CONN_DFLT_SEC (120u * DEF_TIME_NBR_SEC_PER_MIN) /* Dflt conn timeout = 120 minutes */ #define NET_TCP_CONN_TIMEOUT_USER_DFLT_SEC ( 30u * DEF_TIME_NBR_SEC_PER_MIN) /* Dflt user timeout = 30 minutes */ /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION STATES * * Note(s) : (1) See the following RFC's for TCP state machine summary : * * (a) RFC # 793; Sections 3.2, 3.4, 3.5, 3.9 * (b) RFC #1122; Sections 4.2.2.8, 4.2.2.10, 4.2.2.11, 4.2.2.13, 4.2.2.18, 4.2.2.20 * * (2) (a) #### Additional closing-data-available state used for closing connections to allow the * application layer to receive any remaining data. * * See also 'net_tcp.c NetTCP_RxPktConnHandlerFinWait1() Note #2f5A2', * 'net_tcp.c NetTCP_RxPktConnHandlerFinWait2() Note #2f5B', * 'net_tcp.c NetTCP_RxPktConnHandlerClosing() Note #2d2B2a1B', * & 'net_tcp.c NetTCP_RxPktConnHandlerLastAck() Note #2d2A1b'. ********************************************************************************************************* */ #define NET_TCP_CONN_STATE_NONE 0u #define NET_TCP_CONN_STATE_FREE 1u #define NET_TCP_CONN_STATE_CLOSED 10u #define NET_TCP_CONN_STATE_LISTEN 20u #define NET_TCP_CONN_STATE_SYNC_RXD 30u #define NET_TCP_CONN_STATE_SYNC_RXD_PASSIVE 31u #define NET_TCP_CONN_STATE_SYNC_RXD_ACTIVE 32u #define NET_TCP_CONN_STATE_SYNC_TXD 35u #define NET_TCP_CONN_STATE_CONN 40u #define NET_TCP_CONN_STATE_FIN_WAIT_1 50u #define NET_TCP_CONN_STATE_FIN_WAIT_2 51u #define NET_TCP_CONN_STATE_CLOSING 52u #define NET_TCP_CONN_STATE_TIME_WAIT 53u #define NET_TCP_CONN_STATE_CLOSE_WAIT 55u #define NET_TCP_CONN_STATE_LAST_ACK 56u #define NET_TCP_CONN_STATE_CLOSING_DATA_AVAIL 59u /* See Note #2a. */ /* ********************************************************************************************************* * TCP CONNECTION QUEUE STATES ********************************************************************************************************* */ #define NET_TCP_RX_Q_STATE_NONE 0u #define NET_TCP_RX_Q_STATE_CLOSED 100u #define NET_TCP_RX_Q_STATE_CLOSING 101u #define NET_TCP_RX_Q_STATE_SYNC 110u #define NET_TCP_RX_Q_STATE_CONN 111u #define NET_TCP_TX_Q_STATE_NONE 0u #define NET_TCP_TX_Q_STATE_CLOSED 200u #define NET_TCP_TX_Q_STATE_CLOSING 201u #define NET_TCP_TX_Q_STATE_SYNC 210u #define NET_TCP_TX_Q_STATE_CONN 211u #define NET_TCP_TX_Q_STATE_SUSPEND 215u #define NET_TCP_TX_Q_STATE_CLOSED_SUSPEND 220u #define NET_TCP_TX_Q_STATE_CLOSING_SUSPEND 221u /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION CODE DEFINES **************
上傳時間: 2015-11-22
上傳用戶:the same kong
/* * _168ZHONGDUAN2.c * * Created: 2014/11/2 15:12:45 * Author: lenovo */ #include <avr/io.h> #include <avr/iom168pa.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/eeprom.h> //#include <util/delay_basic.h> //unsigned char const SEGtable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; #define BIT(x) (1<<(x)) #include<avr/signal.h> #include<avr/pgmspace.h> #include<util/delay.h> #include<avr/eeprom.h> #define setb(val,bitn) (val|=(1<<(bitn)))//設置某IO口某位為1 #define clr(val,bitn) (val&=~(1<<(bitn)))//設置某IO口某位為0 #define get(val,bitn) (val&(1<<(bitn)))//讀取某位狀態(tài) //uchar ACT[8] ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; #define CPL_BIT(x,y) (x^=(1<<y)) #define CLR_BIT(x,y) (x&=~(1<<y)) #define SET_1(a,b) a|=(1<<b) #define CLE_0(a,b) a&=~(1<<b) /*------宏定義------*/ #include <avr/wdt.h> #include <avr/sleep.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include <avr/eeprom.h> #define setb(val,bitn) (val|=(1<<(bitn)))//設置某IO口某位為1 #define clr(val,bitn) (val&=~(1<<(bitn)))//設置某IO口某位為0 #define get(val,bitn) (val&(1<<(bitn)))//讀取某位狀態(tài) #define uint8 unsigned char #define uint16 unsigned int #define P_LCDCS1 setb(PORTB,5) #define P_LCDCS0 clr(PORTB,5) #define P_LCDRST1 setb(PORTB,1) #define P_LCDRST0 clr(PORTB,1) #define P_LCDRS1 setb(PORTB,2) #define P_LCDRS0 clr(PORTB,2) #define P_LCDDAT1 setb(PORTB,4) #define P_LCDDAT0 clr(PORTB,4) #define P_LCDCLK1 setb(PORTB,3) #define P_LCDCLK0 clr(PORTB,3) //#define LCD_ //-----頁地址定義----- #define Page1 0 #define Page2 1 #define Page3 2 #define Page4 3 #define Page5 4 #define Page6 5 #define Page7 6 #define Page8 7 //-----列地址定義-----每8列地址增1 #define List8_1 0 #define List8_2 7 #define List8_3 15 #define List8_4 23 #define List8_5 31 #define List8_6 39 #define List8_7 47 #define List8_8 55 #define List8_9 63 #define List8_10 71 #define List8_11 79 #define List8_12 87 #define List8_13 95 #define List8_14 103 #define List8_15 111 #define List8_16 119 //#define List8_17 127 //-----列地址定義-----每16列地址增1 #define List16_1 0 #define List16_2 15 #define List16_3 31 #define List16_4 47 #define List16_5 63 #define List16_6 79 #define List16_7 95 #define List16_8 111 //---------------------------------- #define STR_CHARG "Charge" //提示充電 #define STR_PRCE "%" //電量百分比 #define STR_ERR "Err" //出錯顯示 #define STR_OFF "OFF" //關機顯示 //待機顯示 #define STR_WAIT1 "Portable UPS" #define STR_WAIT2 "110V/60HZ" #define STR_WAIT3 "Select:DC OR AC" #define STR_WAIT4 "BATTERY:" //開機顯示 #define STR_OUTSTATUS "Out Status:" #define STR_DCOUT12V "DC12V" #define STR_DCOUT5V "DC5V" #define STR_ACOUT "AC110V" //#define STR_MAOHAO ":" //====================================== extern uint8 LOCKA[2][16] ; //extern uint8 code BATS[10][16] ; extern uint8 BAT2S[12][32] ; extern uint8 NC[] ; extern uint8 mao_hao[] ; extern uint8 num1[] ; extern uint8 num2[] ; extern uint8 num3[] ; extern uint8 num4[] ; extern uint8 num5[] ; extern uint8 num6[] ; extern uint8 num7[] ; extern uint8 num8[] ; extern uint8 num9[] ; extern uint8 Tab_Ascii_8x16[95][16] ; extern uint8 Tab_Ascii_5x7[95][5] ; extern uint8 zhuang1[] ; extern uint8 tai1[] ; extern uint8 shi1[] ; extern uint8 yong1[] ; //---------------------------------- //extern void LcdWriteCommand(uint8 data1) ; extern void Display_Graphic_32x32(uint8 page,uint8 column,uint8 *dp) ; extern void Display_Graphic_32x16(uint8 page,uint8 column,uint8 *dp) ; extern void Display_Graphic_16x16(uint8 page,uint8 column,uint8 *dp) ; extern void Display_Graphic_8x16(uint8 page,uint8 column,uint8 *dp) ; extern void Display_String_8x16(uint8 page,uint8 column,uint8 *text) ; extern void Display_Num_8x16(uint8 page,uint8 column,uint8 Num) ; extern void Display_Digital_8x16(uint8 page,uint8 column,uint8 *a) ; extern void Display_Nop_8x16(uint8 page,uint8 column,uint8 DatLong) ; extern void Display_String_5x7(uint8 page,uint8 column,uint8 *text) ; extern void Full_Display(void) ; extern void Clear_Screen(void) ; extern void Init_lcd12864(void) ; //#endif //========c12864.c============================================== /*************************************************** LCD:晶聯(lián)訊電子 JLX12864G-086-PN(不帶字庫IC-UC1701X) 僅支持串行驅動方式 ***************************************************/ //#include "global.h" //#include "c12864.h" #define Tab_Ascii_8x16_CALL1 //粗體字形 #define Tab_Ascii_8x16_CALL2 //細體字形 #define Tab_Ascii_5x7_CALL #define Display_Graphic_32x32_CALL #define Display_Graphic_32x16_CALL #define Display_Graphic_16x16_CALL #define Display_Graphic_8x16_CALL #define Display_String_8x16_CALL //顯示字符串 #define Display_Num_8x16_CALL //顯示單個數據0-9 #define Display_Digital_8x16_CALL //顯示數據0-9999 #define Display_Nop_8x16_CALL //填充8*16的空字符N個 #define Display_String_5x7_CALL #define Full_Display_CALL //============================================================================== uint8 aa[]={0,1,2,3,4,5,6,7,8,9}; uint8 LOCKA[2][16]={ //-- 童鎖符號 -- //-- 此字體下對應的點陣為:寬x高=16x16 -- //0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xc4, 0xc4, 0xcc, 0xd8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, //0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xb0, 0x98, 0x8c, 0x8c, 0x8c, 0x8c, 0x98, 0xb0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, } ; const PROGMEM uint8_t BATS[10][16]={ //-- 電池符號 -- //-- 此字體下對應的點陣為:寬x高=16x16 -- 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xc8, 0xc8, 0xcc, 0xce, 0xce, 0xcc, 0xc8, 0xc8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, }; const PROGMEM uint8_t BAT2S1[12][32]={ /*-- 電池符號 --*/ /*-- 此字體下對應的點陣為:寬x高=32x16 --*/ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x3f, 0x07, 0x03}, } ; const PROGMEM uint8_t BAT2S2[2][32]={ //-- 電池符號 不顯示 -- //-- 此字體下對應的點陣為:寬x高=32x16 -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } ; uint8 NC[]={ /*-- 文字: 空符號 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, } ; uint8 mao_hao[]={ /*-- 文字: : (冒號) --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00}; uint8 num0[]={ /*-- 文字: 0 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00 }; uint8 num1[]={ /*-- 文字: 1 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00 }; uint8 num2[]={ /*-- 文字: 2 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00 //細體 //0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, // 粗體 }; uint8 num3[]={ /*-- 文字: 3 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00 }; uint8 num4[]={ /*-- 文字: 4 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00 }; uint8 num5[]={ /*-- 文字: 5 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00 }; uint8 num6[]={ /*-- 文字: 6 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00 }; uint8 num7[]={ /*-- 文字: 7 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00 }; uint8 num8[]={ /*-- 文字: 8 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00 }; uint8 num9[]={ /*-- 文字: 9 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00 }; //=======8x16======================================================================= #ifdef Display_String_8x16_CALL //Tab_Ascii_8x16_CALL const PROGMEM uint8_t Tab_Ascii_8x161[95][16]={ //粗體字形 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - - 0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -!- 0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -"- 0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00, // -#- 0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00, // -$- 0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00, // -%- 0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -&- 0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -'- 0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00, // -(- 0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00, // -)- 0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00, // -*- 0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00, // -+- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00, // -,- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // --- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00, // -.- 0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00, // -/- 0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00, // -0- 0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00, // -1- 0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, // -2- 0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -3- 0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00, // -4- 0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -5- 0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -6- 0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00, // -7- 0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -8- 0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00, // -9- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, // -:- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00, // -;- 0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00, // -<- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00, // -=- 0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00, // ->- 0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -?- 0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00, // -@- 0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -A- 0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00, // -B- 0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00, // -C- 0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00, // -D- 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -E- 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -F- 0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00, // -G- 0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -H- 0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -I- 0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00, // -J- 0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00, // -K- 0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -L- 0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -M- 0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -N- 0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00, // -O- 0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -P- 0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00, // -Q- 0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -R- 0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00, // -S- 0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -T- 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -U- 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00, // -V- 0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00, // -W- 0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00, // -X- 0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -Y- 0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00, // -Z- 0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00, // -[- 0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00, // -\- 0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00, // -]- 0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -^- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, // -_- 0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -`- 0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -a- 0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00, // -b- 0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -c- 0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -d- 0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -e- 0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -f- 0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00, // -g- 0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -h- 0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -i- 0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00, // -j- 0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00, // -k- 0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -l- 0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00, // -m- 0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -n- 0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -o- 0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00, // -p- 0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00, // -q- 0x20,0xE0,0xC0,0x60,0x20,0x60,0xC0,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -r- 0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00, // -s- 0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00, // -t- 0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -u- 0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00, // -v- 0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00, // -w- 0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00, // -x- 0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00, // -y- 0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00, // -z- 0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00, // -{- 0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00, // -|- 0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00, // -}- 0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -~- } ; #endif //Tab_Ascii_8x16_CALL1 //=======8x16======================================================================= //#ifdef Tab_Ascii_8x16_CALL2 // #ifdef Display_Num_8x16_CALL const PROGMEM uint8_t Tab_Ascii_8x162[95][16]={ //細體字形 /*-- 文字: --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: ! --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00, /*-- 文字: " --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: # --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00, /*-- 文字: $ --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00, /*-- 文字: % --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00, /*-- 文字: & --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10, /*-- 文字: ' --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: ( --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00, /*-- 文字: ) --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00, /*-- 文字: * --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00, /*-- 文字: + --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00, /*-- 文字: , --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00, /*-- 文字: - --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*-- 文字: . --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, /*-- 文字: / --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00, /*-- 文字: 0 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, /*-- 文字: 1 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-- 文字: 2 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, /*-- 文字: 3 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00, /*-- 文字: 4 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00, /*-- 文字: 5 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, /*-- 文字: 6 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00, /*-- 文字: 7 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-- 文字: 8 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00, /*-- 文字: 9 --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, /*-- 文字: : --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00, /*-- 文字: ; --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00, /*-- 文字: < --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00, /*-- 文字: = --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00, /*-- 文字: > --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00, /*-- 文字: ? --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00, /*-- 文字: @ --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00, /*-- 文字: A --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20, /*-- 文字: B --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00, /*-- 文字: C --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00, /*-- 文字: D --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00, /*-- 文字: E --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00, /*-- 文字: F --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00, /*-- 文字: G --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00, /*-- 文字: H --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20, /*-- 文字: I --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-- 文字: J --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00, /*-- 文字: K --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00, /*-- 文字: L --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00, /*-- 文字: M --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00, /*-- 文字: N --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00, /*-- 文字: O --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00, /*-- 文字: P --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00, /*-- 文字: Q --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00, /*-- 文字: R --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20, /*-- 文字: S --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00, /*-- 文字: T --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00, /*-- 文字: U --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00, /*-- 文字: V --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00, /*-- 文字: W --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00, /*-- 文字: X --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20, /*-- 文字: Y --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00, /*-- 文字: Z --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00, /*-- 文字: [ --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00, /*-- 文字: \ --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00, /*-- 文字: ] --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00, /*-- 文字: ^ --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: _ --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*-- 文字: ` --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: a --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20, /*-- 文字: b --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00, /*-- 文字: c --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00, /*-- 文字: d --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20, /*-- 文字: e --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00, /*-- 文字: f --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-- 文字: g --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00, /*-- 文字: h --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20, /*-- 文字: i --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-- 文字: j --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00, /*-- 文字: k --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00, /*-- 文字: l --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-- 文字: m --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F, /*-- 文字: n --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20, /*-- 文字: o --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00, /*-- 文字: p --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00, /*-- 文字: q --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80, /*-- 文字: r --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00, /*-- 文字: s --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00, /*-- 文字: t --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00, /*-- 文字: u --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20, /*-- 文字: v --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00, /*-- 文字: w --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00, /*-- 文字: x --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00, /*-- 文字: y --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00, /*-- 文字: z --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00, /*-- 文字: { --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40, /*-- 文字: | --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, /*-- 文字: } --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00, /*-- 文字: ~ --*/ /*-- Comic Sans MS12; 此字體下對應的點陣為:寬x高=8x16 --*/ 0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; ///#endif //#endif //Tab_Ascii_8x16_CALL1 //=======5x7======================================================================= //#ifdef Tab_Ascii_5x7_CALL const PROGMEM uint8_t Tab_Ascii_5x71[95][5]={ /*全體ASCII 列表:5x7點陣*/ 0x00,0x00,0x00,0x00,0x00,//space 0x00,0x00,0x4f,0x00,0x00,//! 0x00,0x07,0x00,0x07,0x00,//" 0x14,0x7f,0x14,0x7f,0x14,//# 0x24,0x2a,0x7f,0x2a,0x12,//$ 0x23,0x13,0x08,0x64,0x62,//% 0x36,0x49,0x55,0x22,0x50,//& 0x00,0x05,0x07,0x00,0x00,//] 0x00,0x1c,0x22,0x41,0x00,//( 0x00,0x41,0x22,0x1c,0x00,//) 0x14,0x08,0x3e,0x08,0x14,//* 0x08,0x08,0x3e,0x08,0x08,//+ 0x00,0x50,0x30,0x00,0x00,//, 0x08,0x08,0x08,0x08,0x08,//- 0x00,0x60,0x60,0x00,0x00,//. 0x20,0x10,0x08,0x04,0x02,/// 0x3e,0x51,0x49,0x45,0x3e,//0 0x00,0x42,0x7f,0x40,0x00,//1 0x42,0x61,0x51,0x49,0x46,//2 0x21,0x41,0x45,0x4b,0x31,//3 0x18,0x14,0x12,0x7f,0x10,//4 0x27,0x45,0x45,0x45,0x39,//5 0x3c,0x4a,0x49,0x49,0x30,//6 0x01,0x71,0x09,0x05,0x03,//7 0x36,0x49,0x49,0x49,0x36,//8 0x06,0x49,0x49,0x29,0x1e,//9 0x00,0x36,0x36,0x00,0x00,//: 0x00,0x56,0x36,0x00,0x00,//; 0x08,0x14,0x22,0x41,0x00,//< 0x14,0x14,0x14,0x14,0x14,//= 0x00,0x41,0x22,0x14,0x08,//> 0x02,0x01,0x51,0x09,0x06,//? 0x32,0x49,0x79,0x41,0x3e,//@ 0x7e,0x11,0x11,0x11,0x7e,//A 0x7f,0x49,0x49,0x49,0x36,//B 0x3e,0x41,0x41,0x41,0x22,//C 0x7f,0x41,0x41,0x22,0x1c,//D 0x7f,0x49,0x49,0x49,0x41,//E 0x7f,0x09,0x09,0x09,0x01,//F 0x3e,0x41,0x49,0x49,0x7a,//G 0x7f,0x08,0x08,0x08,0x7f,//H 0x00,0x41,0x7f,0x41,0x00,//I 0x20,0x40,0x41,0x3f,0x01,//J 0x7f,0x08,0x14,0x22,0x41,//K 0x7f,0x40,0x40,0x40,0x40,//L 0x7f,0x02,0x0c,0x02,0x7f,//M 0x7f,0x04,0x08,0x10,0x7f,//N 0x3e,0x41,0x41,0x41,0x3e,//O 0x7f,0x09,0x09,0x09,0x06,//P 0x3e,0x41,0x51,0x21,0x5e,//Q 0x7f,0x09,0x19,0x29,0x46,//R 0x46,0x49,0x49,0x49,0x31,//S 0x01,0x01,0x7f,0x01,0x01,//T 0x3f,0x40,0x40,0x40,0x3f,//U 0x1f,0x20,0x40,0x20,0x1f,//V 0x3f,0x40,0x38,0x40,0x3f,//W 0x63,0x14,0x08,0x14,0x63,//X 0x07,0x08,0x70,0x08,0x07,//Y 0x61,0x51,0x49,0x45,0x43,//Z 0x00,0x7f,0x41,0x41,0x00,//[ 0x02,0x04,0x08,0x10,0x20,//\ 0x00,0x41,0x41,0x7f,0x00,//] 0x04,0x02,0x01,0x02,0x04,//^ 0x40,0x40,0x40,0x40,0x40,//_ 0x01,0x02,0x04,0x00,0x00,//` 0x20,0x54,0x54,0x54,0x78,//a 0x7f,0x48,0x48,0x48,0x30,//b 0x38,0x44,0x44,0x44,0x44,//c 0x30,0x48,0x48,0x48,0x7f,//d 0x38,0x54,0x54,0x54,0x58,//e 0x00,0x08,0x7e,0x09,0x02,//f 0x48,0x54,0x54,0x54,0x3c,//g 0x7f,0x08,0x08,0x08,0x70,//h 0x00,0x00,0x7a,0x00,0x00,//i 0x20,0x40,0x40,0x3d,0x00,//j 0x7f,0x20,0x28,0x44,0x00,//k 0x00,0x41,0x7f,0x40,0x00,//l 0x7c,0x04,0x38,0x04,0x7c,//m 0x7c,0x08,0x04,0x04,0x78,//n 0x38,0x44,0x44,0x44,0x38,//o 0x7c,0x14,0x14,0x14,0x08,//p 0x08,0x14,0x14,0x14,0x7c,//q 0x7c,0x08,0x04,0x04,0x08,//r 0x48,0x54,0x54,0x54,0x24,//s 0x04,0x04,0x3f,0x44,0x24,//t 0x3c,0x40,0x40,0x40,0x3c,//u 0x1c,0x20,0x40,0x20,0x1c,//v 0x3c,0x40,0x30,0x40,0x3c,//w 0x44,0x28,0x10,0x28,0x44,//x 0x04,0x48,0x30,0x08,0x04,//y 0x44,0x64,0x54,0x4c,0x44,//z 0x08,0x36,0x41,0x41,0x00,//{ 0x00,0x00,0x77,0x00,0x00,//| 0x00,0x41,0x41,0x36,0x08,//} 0x04,0x02,0x02,0x02,0x01,//~ }; //#endif //Tab_Ascii_5x7_CALL uint8 zhuang1[]={ /*-- 文字: 狀 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/ 0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00, 0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00 }; uint8 tai1[]={ /*-- 文字: 態(tài) --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/ 0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00, 0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00 }; uint8 shi1[]={ /*-- 文字: 使 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/ 0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00, 0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00 }; uint8 yong1[]={ /*-- 文字: 用 --*/ /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/ 0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00, 0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00 }; //x=9 y=16 點陣 0-9 const PROGMEM uint8_t lcd_numbers_lit[]={ 0x00,0xE0,0xE0,0x60,0x20,0x60,0xE0,0xE0,0x00,//0 0x00,0x7F,0x7F,0x60,0x40,0x60,0x7F,0x7F,0x00, 0x00,0x00,0x40,0x40,0xE0,0xE0,0x00,0x00,0x00,//1 0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00, 0x00,0xE0,0xE0,0x20,0x20,0xE0,0xE0,0xC0,0x00,//2 0x00,0x71,0x79,0x78,0x5E,0x47,0x43,0x41,0x00, 0x00,0xE0,0xE0,0x20,0x20,0xE0,0xE0,0xC0,0x00,//3 0x00,0x78,0x78,0x42,0x47,0x7F,0x7D,0x39,0x00, 0x00,0x00,0x00,0x80,0xE0,0xE0,0xE0,0x00,0x00,//4 0x00,0x0E,0x0F,0x0B,0x7F,0x7F,0x7F,0x08,0x00, 0x00,0xE0,0xE0,0xE0,0x20,0x20,0x20,0x20,0x00,//5 0x00,0x73,0x73,0x43,0x41,0x7F,0x7F,0x3E,0x00, 0x00,0xE0,0xE0,0x60,0x20,0x60,0x60,0x60,0x00,//6 0x00,0x7F,0x7F,0x43,0x43,0x7F,0x7E,0x3C,0x00, 0x00,0x20,0x20,0x20,0xA0,0xE0,0xE0,0x60,0x00,//7 0x00,0x00,0x40,0x78,0x7F,0x0F,0x01,0x00,0x00, 0x00,0xE0,0xE0,0x20,0x20,0x20,0xE0,0xE0,0x00,//8 0x00,0x7D,0x7D,0x47,0x42,0x47,0x7D,0x7D,0x00, 0x00,0xE0,0xE0,0x20,0x20,0xE0,0xE0,0x80,0x00,//9 0x00,0x67,0x6F,0x4C,0x6C,0x7F,0x3F,0x0F,0x00 }; //x=12 y=16 點陣 0-9數字 const PROGMEM uint8_t lcd_numbers[]={ 0x00,0xF0,0xFC,0xFC,0x0E,0x02,0x02,0x0E,0xFC,0xFC,0xF0,0x00,//0 0x00,0x07,0x3F,0x3F,0x70,0x40,0x40,0x70,0x3F,0x3F,0x07,0x00, 0x00,0x00,0x00,0x08,0x08,0xFC,0xFE,0xFE,0x00,0x00,0x00,0x00,//1 0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00, 0x00,0x38,0x3C,0x3E,0x06,0x02,0x86,0xFE,0xFC,0x78,0x00,0x00,//2 0x00,0x60,0x78,0x7C,0x5E,0x4F,0x43,0x41,0x40,0x40,0x00,0x00, 0x00,0x18,0x1C,0x1E,0x86,0x82,0xC6,0xFE,0x7C,0x38,0x00,0x00,//3 0x00,0x1C,0x3C,0x7C,0x60,0x40,0x61,0x7F,0x3F,0x1E,0x00,0x00, 0x00,0x00,0x80,0xC0,0xF0,0x3C,0xFE,0xFE,0xFE,0x00,0x00,0x00,//4 0x00,0x06,0x07,0x05,0x04,0x04,0x7F,0x7F,0x7F,0x04,0x04,0x00, 0x00,0x00,0xFE,0xFE,0xFE,0x62,0x62,0xE2,0xE2,0x82,0x00,0x00,//5 0x00,0x18,0x38,0x78,0x60,0x40,0x60,0x7F,0x3F,0x1F,0x00,0x00, 0x00,0xF0,0xFC,0xFC,0xCE,0x42,0xC6,0xCE,0x8E,0x0C,0x00,0x00,//6 0x00,0x0F,0x3F,0x7F,0x60,0x40,0x60,0x7F,0x3F,0x1F,0x00,0x00, 0x00,0x02,0x02,0x02,0x02,0x82,0xF2,0xFE,0x7E,0x0E,0x00,0x00,//7 0x00,0x00,0x00,0x60,0x7C,0x7F,0x1F,0x03,0x00,0x00,0x00,0x00, 0x00,0x38,0x7C,0x7E,0xC6,0x82,0x82,0xC6,0x7E,0x7C,0x38,0x00,//8 0x00,0x1E,0x3F,0x7F,0x61,0x40,0x40,0x61,0x7F,0x3F,0x1E,0x00, 0x00,0xF8,0xFC,0xFE,0x06,0x02,0x06,0xFE,0xFC,0xF0,0x00,0x00,//9 0x00,0x30,0x71,0x73,0x63,0x42,0x73,0x3F,0x1F,0x07,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//. 0x00,0x00,0x00,0x38,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,//- 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00 }; const PROGMEM uint8_t Tab_Ascii_5x72[95][5]={ /*全體ASCII 列表:5x7點陣*/ 0x00,0x00,0x00,0x00,0x00,//space 0x00,0x00,0x4f,0x00,0x00,//! 0x00,0x07,0x00,0x07,0x00,//" 0x14,0x7f,0x14,0x7f,0x14,//# 0x24,0x2a,0x7f,0x2a,0x12,//$ 0x23,0x13,0x08,0x64,0x62,//% 0x36,0x49,0x55,0x22,0x50,//& 0x00,0x05,0x07,0x00,0x00,//] 0x00,0x1c,0x22,0x41,0x00,//( 0x00,0x41,0x22,0x1c,0x00,//) 0x14,0x08,0x3e,0x08,0x14,//* 0x08,0x08,0x3e,0x08,0x08,//+ 0x00,0x50,0x30,0x00,0x00,//, 0x08,0x08,0x08,0x08,0x08,//- 0x00,0x60,0x60,0x00,0x00,//. 0x20,0x10,0x08,0x04,0x02,/// 0x3e,0x51,0x49,0x45,0x3e,//0 0x00,0x42,0x7f,0x40,0x00,//1 0x42,0x61,0x51,0x49,0x46,//2 0x21,0x41,0x45,0x4b,0x31,//3 0x18,0x14,0x12,0x7f,0x10,//4 0x27,0x45,0x45,0x45,0x39,//5 0x3c,0x4a,0x49,0x49,0x30,//6 0x01,0x71,0x09,0x05,0x03,//7 0x36,0x49,0x49,0x49,0x36,//8 0x06,0x49,0x49,0x29,0x1e,//9 0x00,0x36,0x36,0x00,0x00,//: 0x00,0x56,0x36,0x00,0x00,//; 0x08,0x14,0x22,0x41,0x00,//< 0x14,0x14,0x14,0x14,0x14,//= 0x00,0x41,0x22,0x14,0x08,//> 0x02,0x01,0x51,0x09,0x06,//? 0x32,0x49,0x79,0x41,0x3e,//@ 0x7e,0x11,0x11,0x11,0x7e,//A 0x7f,0x49,0x49,0x49,0x36,//B 0x3e,0x41,0x41,0x41,0x22,//C 0x7f,0x41,0x41,0x22,0x1c,//D 0x7f,0x49,0x49,0x49,0x41,//E 0x7f,0x09,0x09,0x09,0x01,//F 0x3e,0x41,0x49,0x49,0x7a,//G 0x7f,0x08,0x08,0x08,0x7f,//H 0x00,0x41,0x7f,0x41,0x00,//I 0x20,0x40,0x41,0x3f,0x01,//J 0x7f,0x08,0x14,0x22,0x41,//K 0x7f,0x40,0x40,0x40,0x40,//L 0x7f,0x02,0x0c,0x02,0x7f,//M 0x7f,0x04,0x08,0x10,0x7f,//N 0x3e,0x41,0x41,0x41,0x3e,//O 0x7f,0x09,0x09,0x09,0x06,//P 0x3e,0x41,0x51,0x21,0x5e,//Q 0x7f,0x09,0x19,0x29,0x46,//R 0x46,0x49,0x49,0x49,0x31,//S 0x01,0x01,0x7f,0x01,0x01,//T 0x3f,0x40,0x40,0x40,0x3f,//U 0x1f,0x20,0x40,0x20,0x1f,//V 0x3f,0x40,0x38,0x40,0x3f,//W 0x63,0x14,0x08,0x14,0x63,//X 0x07,0x08,0x70,0x08,0x07,//Y 0x61,0x51,0x49,0x45,0x43,//Z 0x00,0x7f,0x41,0x41,0x00,//[ 0x02,0x04,0x08,0x10,0x20,// 0x00,0x41,0x41,0x7f,0x00,//] 0x04,0x02,0x01,0x02,0x04,//^ 0x40,0x40,0x40,0x40,0x40,//_ 0x01,0x02,0x04,0x00,0x00,//` 0x20,0x54,0x54,0x54,0x78,//a 0x7f,0x48,0x48,0x48,0x30,//b 0x38,0x44,0x44,0x44,0x44,//c 0x30,0x48,0x48,0x48,0x7f,//d 0x38,0x54,0x54,0x54,0x58,//e 0x00,0x08,0x7e,0x09,0x02,//f 0x48,0x54,0x54,0x54,0x3c,//g 0x7f,0x08,0x08,0x08,0x70,//h 0x00,0x00,0x7a,0x00,0x00,//i 0x20,0x40,0x40,0x3d,0x00,//j 0x7f,0x20,0x28,0x44,0x00,//k 0x00,0x41,0x7f,0x40,0x00,//l 0x7c,0x04,0x38,0x04,0x7c,//m 0x7c,0x08,0x04,0x04,0x78,//n 0x38,0x44,0x44,0x44,0x38,//o 0x7c,0x14,0x14,0x14,0x08,//p 0x08,0x14,0x14,0x14,0x7c,//q 0x7c,0x08,0x04,0x04,0x08,//r 0x48,0x54,0x54,0x54,0x24,//s 0x04,0x04,0x3f,0x44,0x24,//t 0x3c,0x40,0x40,0x40,0x3c,//u 0x1c,0x20,0x40,0x20,0x1c,//v 0x3c,0x40,0x30,0x40,0x3c,//w 0x44,0x28,0x10,0x28,0x44,//x 0x04,0x48,0x30,0x08,0x04,//y 0x44,0x64,0x54,0x4c,0x44,//z 0x08,0x36,0x41,0x41,0x00,//{ 0x00,0x00,0x77,0x00,0x00,//| 0x00,0x41,0x41,0x36,0x08,//} 0x04,0x02,0x02,0x02,0x01,//~ }; /////////////// #define Start_T1 TCCR1B|=_BV(CS11);TCNT1=0//復位預計分頻器并開啟定時器T1 #define Stop_T1 TCCR1B&=~_BV(CS11) //關閉定時器T1 //數碼管的段碼編碼 unsigned char table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; volatile unsigned char i,j,k; volatile unsigned char IRcode; //定義一個長度為4字節(jié)的無符號long類型變量來存儲代碼 volatile unsigned char IR_OK=0; //IR信號接收有效 當程序響應接收以后請馬上清零 這樣才會繼續(xù)接收下一IR碼 volatile unsigned char IR_con=0; //IR信號當前接收位 0時表示第0位即同步碼(4.5ms高電平) volatile unsigned int Pulse_length=0; //捕獲的脈沖寬度 volatile unsigned char ICP_Parity=0; //捕獲中斷奇偶次計數 1時為偶次 并在此時判斷脈寬 volatile unsigned char address; volatile unsigned char code_data; volatile unsigned char code_data1; unsigned char clrbit; #define FREQ 8 //定義單片機工作頻率為 4M /////////////// //**************************************************************** // 函數名稱:DelayLcd // 函數功能:延時 // 入口參數: // 出口參數: //***************************************************************** void DelayLcd(uint16 i) { uint16 j; for(j=200;j>0;j--) for(;i>0;i--); //while(i--); } //**************************************************************** // 函數名稱:LcdWriteCommand // 函數功能:寫指令到LCD模塊 // 入口參數:數據 // 出口參數: //***************************************************************** void LcdWriteCommand(uint8 data1) // { uint8 i ; P_LCDCS0 ; P_LCDRS0 ; for(i=8;i>0;i--) { P_LCDCLK0; if(data1&0x80) P_LCDDAT1; else P_LCDDAT0; P_LCDCLK1; data1 <<= 1; } } //**************************************************************** // 函數名稱:LcdWritedata // 函數功能:寫數據到LCD模塊 // 入口參數:數據 // 出口參數: //***************************************************************** void LcdWritedata(uint8 data1) // { uint8 i; P_LCDCS0 ; P_LCDRS1 ; for(i=8;i>0;i--) { P_LCDCLK0; if(data1&0x80) P_LCDDAT1; else P_LCDDAT0; P_LCDCLK1; data1 <<= 1; } } //**************************************************************** // 函數名稱:Lcd_SetAddr // 函數功能:設置LCD顯示地址 // 入口參數: 頁地址 列地址 // 出口參數: //***************************************************************** void Lcd_SetAddr(uint8 page,uint8 column) { //LcdWriteCommand(0xb0 | (y+yy)); //LcdWriteCommand(0x10 | (x>>4)); //LcdWriteCommand(0x00 | (x&0x0f)); //P_LCDCS0 ; LcdWriteCommand(0xb0|page); /*設置頁地址*/ LcdWriteCommand((column>>4)|0x10); /*設置列地址的高4位*/ LcdWriteCommand(column&0x0f); /*設置列地址的低4位*/ } ////// void Display_Graphic_32x2(uint8 page,uint8 column,PROGMEM uint8_t *dp) // 電池顯示 0、2、4、6、8、10 { uint8 i,j; uint8 page_address; uint8 column_address_L,column_address_H; page_address = 0xb0|page; column_address_L =(column&0x0f); column_address_H =(column>>4)|0x10; P_LCDCS0 ; for(j=0;j<2;j++) { LcdWriteCommand(page_address+j); /*設置頁地址*/ LcdWriteCommand(column_address_H); /*設置列地址的高4位*/ LcdWriteCommand(column_address_L); /*設置列地址的低4位*/ for (i=32;i>0;i--) //寫32行 { LcdWritedata(pgm_read_byte(dp++)); /*寫數據到LCD,每寫完一個8位的數據后列地址自動加1*/ } LcdWritedata(0x00); } P_LCDCS1 ; } //#ifdef Display_Graphic_32x32_CALL void Display_Graphic_32x32(uint8 page,uint8 column,PROGMEM uint8_t *dp) { uint8 i,j; uint8 page_address; uint8 column_address_L,column_address_H; page_address = 0xb0|page; column_address_L =(column&0x0f); column_address_H =(column>>4)|0x10; P_LCDCS0 ; &
標簽: 程序
上傳時間: 2016-03-03
上傳用戶:彥 yan
批處理感知器算法的代碼matlab w1=[1,0.1,1.1;1,6.8,7.1;1,-3.5,-4.1;1,2.0,2.7;1,4.1,2.8;1,3.1,5.0;1,-0.8,-1.3; 1,0.9,1.2;1,5.0,6.4;1,3.9,4.0]; w2=[1,7.1,4.2;1,-1.4,-4.3;1,4.5,0.0;1,6.3,1.6;1,4.2,1.9;1,1.4,-3.2;1,2.4,-4.0; 1,2.5,-6.1;1,8.4,3.7;1,4.1,-2.2]; w3=[1,-3.0,-2.9;1,0.5,8.7;1,2.9,2.1;1,-0.1,5.2;1,-4.0,2.2;1,-1.3,3.7;1,-3.4,6.2; 1,-4.1,3.4;1,-5.1,1.6;1,1.9,5.1]; figure; plot(w3(:,2),w3(:,3),'ro'); hold on; plot(w2(:,2),w2(:,3),'b+'); W=[w2;-w3];%增廣樣本規(guī)范化 a=[0,0,0]; k=0;%記錄步數 n=1; y=zeros(size(W,2),1);%記錄錯分的樣本 while any(y<=0) k=k+1; y=a*transpose(W);%記錄錯分的樣本 a=a+sum(W(find(y<=0),:));%更新a if k >= 250 break end end if k<250 disp(['a為:',num2str(a)]) disp(['k為:',num2str(k)]) else disp(['在250步以內沒有收斂,終止']) end %判決面:x2=-a2*x1/a3-a1/a3 xmin=min(min(w1(:,2)),min(w2(:,2))); xmax=max(max(w1(:,2)),max(w2(:,2))); x=xmin-1:xmax+1;%(xmax-xmin): y=-a(2)*x/a(3)-a(1)/a(3); plot(x,y)
上傳時間: 2016-11-07
上傳用戶:a1241314660
/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定義 sfr WDT_CONTR = 0xe1;//stc2051的看門狗?????? /**********全局常量************/ //寫卡的命令 #define write_command0 0//寫密碼 #define write_command1 1//寫配置字 #define write_command2 2//密碼寫數據 #define write_command3 3//喚醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //讀卡的時間參數us #define ts_min 250//270*11.0592/12=249//取近似的整數 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10調整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中斷處理:采用查詢的方法讀卡時關所有中斷****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI總線 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//測試綠燈 sbit led_light1 = P1^5;//測試紅燈 sbit led_light_ok = P1^1;//讀卡成功標志 sbit fengmingqi = P1^5; /***********全局變量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密碼 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存儲卡上用戶數據(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收數組ram uchar command; //第一個命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //緩存定時值,因用同一個定時器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //緩存定時值,因用同一個定時器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函數原型*****************/ //讀寫操作 void f_readcard(void);//全部讀出1~7 AOR喚醒 void f_writecard(uchar x);//根據命令寫不同的內容和操作 void f_clearpassword(void);//清除密碼 void f_changepassword(void);//修改密碼 //功能子函數 void write_password(uchar data *data p);//寫初始密碼或數據 void write_block(uchar x,uchar data *data p);//不能用通用指針 void write_bit(bit x);//寫位 /*子函數區(qū)*****************************************************/ void delay_2(uint x) //延時,時間x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能頻繁的復位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允許接收 //SCON =0x50; //01010000B:10位異步收發(fā),波特率可變,SM2=0不用接收到有效停止位才RI=1, //REN=1允許接收 TMOD = 0x21; //定時器1 定時方式2(8位),定時器0 定時方式1(16位) TCON = 0x40; //設定時器1 允許開始計時(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //啟動定時器 WDT_CONTR = 0x3c;//使能看門狗 p_U2270B_Standby = 0;//單電源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//讀卡 { EA = 0;//全關,防止影響跳變的定時器計時 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用喚醒功能來防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作碼讀0頁 write_bit(0); write_password(&bankdata[24]);//密碼block7 p_U2270B_CFE =1 ;// delay_2(516);//編程及確認時間5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一個穩(wěn)定的低電平?超時判斷? while(!p_U2270B_OutPut);//等待上升沿的到來同步信號檢測1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定時器晚啟動10個周期 //同步頭 if((324 < a.W) && (a.W < 353)) ;//檢測同步信號1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //讀0~7塊的數據 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8個位 { //等待下降沿的到來 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再賦值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//讀卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//寫卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//寫密碼:初始化密碼 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_bit(0);//寫鎖定位0 for(i = 0;i < 35;i++) { write_bit(1);//寫數據位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//測試使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密碼存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡參數:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_bit(0);//寫鎖定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密碼寫數據 { uchar data*data p; p = &bankdata[24]; write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_password(p);//發(fā)口令 write_bit(0);//寫鎖定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//寫數據 } else if(x == write_command3)//aor //喚醒 { //cominceptbuff[1]操作碼10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密碼 p_U2270B_CFE = 1;//此時數據不停的循環(huán)傳出 } else //停止操作碼 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密碼 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密碼 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作碼10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//發(fā)原密碼 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//鎖定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//寫新配置參數:pwd=0 //密碼無效:即清除密碼 DATA = 0x00;//停止操作碼00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密碼 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密碼 DATA = 0x80;//操作碼10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//發(fā)原密碼 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//鎖定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//寫新密碼 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密碼存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作碼00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函數***********************************/ void write_bit(bit x)//寫一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延時448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26寫1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26寫0 } } /*******************寫一個block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0數據 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //讀卡 f_writecard(command1); //寫卡 f_clearpassword(); //清除密碼 f_changepassword(); //修改密碼 } }
標簽: 12345
上傳時間: 2017-10-20
上傳用戶:my_lcs
VK元泰原廠LED的面板驅動產品主要應用于段式和點陣式LED的顯示驅動包括但不局限以下產品: 儀表顯示、大小家電、標志牌、健身器材顯示面板等,同時涉及顯示器控制器、雙斜率與顯示驅動ADC及顯示器驅動計數器相關產品,產品具備顯示、背光、按鍵掃描、單線、兩線及三線通訊等不同特色。LED面板顯示驅動控制芯片/段式和點陣式LED顯示驅動專家。樣品免費,大量原裝現貨!歡迎加Q索取產品PDF資料。 VK元泰原廠LED顯示屏驅動主要大量應用于以下這些產品簡介: 1:VCR、VCD、DVD 及家庭影院等產品的顯示屏驅動。 2:電磁爐、微波爐、冰箱、空調 、家庭影院等產品的高段位顯示屏驅動。 3:電子產品LED顯示屏驅動,電子秤及小家電產品的顯示屏驅動。 4:機頂盒、各種家電設備、智能電表等數碼管、多段位顯示屏驅動 VK1628概述 VK1628 是 1/5~1/8 占空比的 LED 顯示控制驅動電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個顯示存儲器、控制電路、鍵掃描電路組成了一個高可靠性的單片機外圍 LED 驅動電路。串行數據通過4線串行接口輸入到 VK1628采用 SOP28 的封裝形式。 VK1629A概述 VK1629A 是LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有MCU 數字接口、數據鎖存器、LED 高壓驅動等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 VK1629B概述 VK1629B 是 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、鍵盤掃描、LED 高壓驅動等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 VK1629C 概述 VK1629C 是帶鍵盤掃描接口的 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部 集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 VK1629D 概述 VK1629D 是 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 VK1640 概述 VK1640 是一款 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動。本產品采用 CMOS 工藝,主要應用于小型 LED 顯示屏驅動。 VK1640B概述 ----- SSOP24 超小封裝體積方便開發(fā)設計,更低成本單價! VK1640B 是一款 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、 數據鎖存器、LED 高壓驅動。本產品采用 CMOS 工藝,主要應用于小型 LED 顯示屏驅動。 VK1650概述 VK1650 是一種帶鍵盤掃描電路接口的 LED 驅動控制專用電路。內部集成有 MCU 輸入輸出控制數字接口、數據鎖存器、LED 驅動、鍵盤掃描、輝度調節(jié)等電路。本芯片性能穩(wěn)定、質量可靠、抗干擾能力強,可適應于 24 小時長期連續(xù)工作的應用場合。 VK1651概述 VK1651 是一種帶鍵盤掃描接口的 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集 成有 MCU 數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。本產品性能優(yōu)良,質量可靠。主要應用于電磁爐。微波爐及小家電產品的顯示屏驅動。 VK1668概述 VK1668 是 1/5~1/8 占空比的 LED 顯示控制驅動電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個顯示存儲器、控制電路、鍵掃描電路組成了一個高可靠性的單片機外圍 LED 驅動電路。串行數據通過4線串行接口輸入到 VK1668采用 SOP24 的封裝形式。 VK6932概述 VK6932 是一款 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動。本產品采用 CMOS 工藝,主要應用于 LED 顯示屏驅動。 VK16K33 概述 --- RAM映射16*8 LED控制器驅動器,帶按鍵控制 VK16K33是一個內存映射和多功能LED控制器驅動程序。更大顯示設備中的段是128個模式(16個SEG 和 8個COM),矩陣鍵為13*3(更大值)。掃描路。VK16K33的軟件配置特點使其適用于多個LED應用包括LED模塊和顯示子系統(tǒng)。VK16K33與大多數微控制器兼容,并且通過雙線雙向I2c總線進行通信。 內存映射的LED控制器及驅動器 VK1628 --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52 共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP28 VK1629 --- 通訊接口:STB/CLK/DIN/DOUT 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:16段8位 共陽驅動:8段16位 按鍵:8x4 封裝QFP44 VK1629A --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:16段8位 共陽驅動:8段16位 按鍵:--- 封裝SOP32 VK1629B --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:112 共陰驅動:14段8位 共陽驅動:8段14位 按鍵:8x2 封裝SOP32 VK1629C --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:120 共陰驅動:15段8位 共陽驅動:8段15位 按鍵:8x1 封裝SOP32 VK1629D --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:96 共陰驅動:12段8位 共陽驅動:8段12位 按鍵:8x4 封裝SOP32 VK1640 --- 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:8段16位 共陽驅動:16段8位 按鍵:--- 封裝SOP28 VK1640B -- 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:96 共陰驅動:8段12位 共陽驅動:12段8位(封裝小,價格低)封裝SSOP24 VK1650 --- 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅動點陣:8x16 共陰驅動:8段4位 共陽驅動:4段8位 按鍵:7x4 封裝SOP16/DIP16 VK1651 --- 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅動點陣:8x14 共陰驅動:7段4位 共陽驅動:4段7位 按鍵:7x4 封裝SOP16/DIP16 VK1668 ---通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52 共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP24 VK6932 --- 通訊接口:STB/CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:8段16位17.5/140mA 共陽驅動:16段8位 按鍵:--- 封裝SOP32 VK16K33 --- 通訊接口:SCL/SDA 電源電壓:5V(4.5V~5.5V) 驅動點陣:128/96/64 共陰驅動:16段8位/12段8位/8段8位 共陽驅動:8段16位/8段12位/8段8位 按鍵:13x3 10x3 8x3 封裝SOP20/SOP24/SOP28 聯(lián) 系 人:許先生 聯(lián) 系 QQ:191 888 5898 聯(lián)系手機:188 9858 2398
標簽: 1628 1629 1640 1651 1650 LED VK 面板 芯片 版本
上傳時間: 2019-02-16
上傳用戶:szqxw1688
VK元泰原廠LED的面板驅動產品主要應用于段式和點陣式LED的顯示驅動包括但不局限以下產品: 儀表顯示、大小家電、標志牌、健身器材顯示面板等,同時涉及顯示器控制器、雙斜率與顯示驅動ADC及顯示器驅動計數器相關產品,產品具備顯示、背光、按鍵掃描、單線、兩線及三線通訊等不同特色。LED面板顯示驅動控制芯片/段式和點陣式LED顯示驅動專家。樣品免費,大量原裝現貨!歡迎加Q索取產品PDF資料。 VK元泰原廠LED顯示屏驅動主要大量應用于以下這些產品簡介: 1:VCR、VCD、DVD 及家庭影院等產品的顯示屏驅動。 2:電磁爐、微波爐、冰箱、空調 、家庭影院等產品的高段位顯示屏驅動。 3:電子產品LED顯示屏驅動,電子秤及小家電產品的顯示屏驅動。 4:機頂盒、各種家電設備、智能電表等數碼管、多段位顯示屏驅動 VK1628概述 VK1628 是 1/5~1/8 占空比的 LED 顯示控制驅動電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個顯示存儲器、控制電路、鍵掃描電路組成了一個高可靠性的單片機外圍 LED 驅動電路。串行數據通過4線串行接口輸入到 VK1628采用 SOP28 的封裝形式。 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52 共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP28 VK1629A概述 VK1629A 是LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有MCU 數字接口、數據鎖存器、LED 高壓驅動等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:16段8位 共陽驅動:8段16位 按鍵:--- 封裝SOP32 VK1629B概述 VK1629B 是 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、鍵盤掃描、LED 高壓驅動等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:112 共陰驅動:14段8位 共陽驅動:8段14位 按鍵:8x2 封裝SOP32 VK1629C 概述 VK1629C 是帶鍵盤掃描接口的 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:120 共陰驅動:15段8位 共陽驅動:8段15位 按鍵:8x1 封裝SOP32 VK1629D 概述 VK1629D 是 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動等電路。主要應用于冰箱、空調、家庭影院等產品的高段位顯示屏驅動。 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:96 共陰驅動:12段8位 共陽驅動:8段12位 按鍵:8x4 封裝SOP32 VK1640 概述 VK1640 是一款 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動。本產品采用 CMOS 工藝,主要應用于小型 LED 顯示屏驅動。 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:8段16位 共陽驅動:16段8位 按鍵:--- 封裝SOP28 VK1640B概述 ----- SSOP24 超小封裝體積方便開發(fā)設計,更低成本單價! VK1640B 是一款 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、 數據鎖存器、LED 高壓驅動。本產品采用 CMOS 工藝,主要應用于小型 LED 顯示屏驅動。 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:96 共陰驅動:8段12位 共陽驅動:12段8位【封裝小,價格低】封裝SSOP24 VK1650概述 VK1650 是一種帶鍵盤掃描電路接口的 LED 驅動控制專用電路。內部集成有 MCU 輸入輸出控制數字接口、數據鎖存器、LED 驅動、鍵盤掃描、輝度調節(jié)等電路。本芯片性能穩(wěn)定、質量可靠、抗干擾能力強,可適應于 24 小時長期連續(xù)工作的應用場合。 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅動點陣:8x16 共陰驅動:8段4位 共陽驅動:4段8位 按鍵:7x4 封裝SOP16/DIP16 VK1651概述 VK1651 是一種帶鍵盤掃描接口的 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。本產品性能優(yōu)良,質量可靠。主要應用于電磁爐。微波爐及小家電產品的顯示屏驅動。 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅動點陣:8x14 共陰驅動:7段4位 共陽驅動:4段7位 按鍵:7x4 封裝SOP16/DIP16 VK1668概述 VK1668 是 1/5~1/8 占空比的 LED 顯示控制驅動電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個顯示存儲器、控制電路、鍵掃描電路組成了一個高可靠性的單片機外圍 LED 驅動電路。串行數據通過4線串行接口輸入到 VK1668采用 SOP24 的封裝形式。 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52 共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP24 VK6932概述 VK6932 是一款 LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動。本產品采用 CMOS 工藝,主要應用于 LED 顯示屏驅動。 通訊接口:STB/CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:8段16位17.5/140mA 共陽驅動:16段8位 按鍵:--- 封裝SOP32 VK16K33 概述 --- RAM映射16*8 LED控制器驅動器,帶按鍵控制 VK16K33是一個內存映射和多功能LED控制器驅動程序。最大顯示設備中的段是128個模式(16個SEG 和 8個COM),矩陣鍵為13*3(最大值)。掃描路。VK16K33的軟件配置特點使其適用于多個LED應用包括LED模塊和顯示子系統(tǒng)。VK16K33與大多數微控制器兼容,并且通過雙線雙向I2c總線進行通信。 內存映射的LED控制器及驅動器 通訊接口:SCL/SDA 電源電壓:5V(4.5V~5.5V) 驅動點陣:128/96/64 共陰驅動:16段8位/12段8位/8段8位 共陽驅動:8段16位/8段12位/8段8位 LCD/LED液晶控制器及驅動器系列 芯片簡介如下: RAM映射LCD控制器和驅動器系列 VK1024B 2.4V~5.2V 6seg*4com 6*3 6*2 偏置電壓1/2 1/3 S0P-16 VK1056B 2.4V~5.2V 14seg*4com 14*3 14*2 偏置電壓1/2 1/3 SOP-24/SSOP-24 VK1072B 2.4V~5.2V 18seg*4com 18*3 18*2 偏置電壓1/2 1/3 SOP-28 VK1072C 2.4V~5.2V 18seg*4com 18*3 18*2 偏置電壓1/2 1/3 SOP-28 VK1088B 2.4V~5.2V 22seg*4com 22*3 偏置電壓1/2 1/3 QFN-32L(4MM*4MM) VK0192 2.4V~5.2V 24seg*8com 偏置電壓1/4 LQFP-44 VK0256 2.4V~5.2V 32seg*8com 偏置電壓1/4 QFP-64 VK0256B 2.4V~5.2V 32seg*8com 偏置電壓1/4 LQFP-64 VK0256C 2.4V~5.2V 32seg*8com 偏置電壓1/4 LQFP-52 VK1621S-1 2.4V~5.2V 32*4 32*3 32*2 偏置電壓1/2 1/3 LQFP44/48/SSOP48/SKY28/DICE裸片 VK1622B 2.7V~5.5V 32seg*8com 偏置電壓1/4 LQFP-48 VK1622S 2.7V~5.5V 32seg*8com 偏置電壓1/4 LQFP44/48/52/64/QFP64/DICE裸片 VK1623S 2.4V~5.2V 48seg*8com 偏置電壓1/4 LQFP-100/QFP-100/DICE裸片 VK1625 2.4V~5.2V 64seg*8com 偏置電壓1/4 LQFP-100/QFP-100/DICE VK1626 2.4V~5.2V 48seg*16com 偏置電壓1/5 LQFP-100/QFP-100/DICE (高品質 高性價比:液晶顯示驅動IC 原廠直銷 工程技術支持!) (所有型號全部封裝均有現貨,歡迎加Q查詢 191 888 5898 許生) 高抗干擾LCD液晶控制器及驅動系列 VK2C21A 2.4~5.5V 20seg*4com 16*8 偏置電壓1/3 1/4 I2C通訊接口 SOP-28 VK2C21B 2.4~5.5V 16seg*4com 12*8 偏置電壓1/3 1/4 I2C通訊接口 SOP-24 VK2C21C 2.4~5.5V 12seg*4com 8*8 偏置電壓1/3 1/4 I2C通訊接口 SOP-20 VK2C21D 2.4~5.5V 8seg*4com 4*8 偏置電壓1/3 1/4 I2C通訊接口 NSOP-16 VK2C22A 2.4~5.5V 44seg*4com 偏置電壓1/2 1/3 I2C通訊接口 LQFP-52 VK2C22B 2.4~5.5V 40seg*4com 偏置電壓1/2 1/3 I2C通訊接口 LQFP-48 VK2C23A 2.4~5.5V 56seg*4com 52*8 偏置電壓1/3 1/4 I2C通訊接口 LQFP-64 VK2C23B 2.4~5.5V 36seg*8com 偏置電壓1/3 1/4 I2C通訊接口 LQFP-48 VK2C24 2.4~5.5V 72seg*4com 68*8 60*16 偏置電壓1/3 1/4 1/5 I2C通訊接口 LQFP-80 超低功耗LCD液晶控制器及驅動系列 VKL060 2.5~5.5V 15seg*4com 偏置電壓1/2 1/3 I2C通訊接口 SSOP-24 VKL128 2.5~5.5V 32seg*4com 偏置電壓1/2 1/3 I2C通訊接口 LQFP-44 VKL144A 2.5~5.5V 36seg*4com 偏置電壓1/2 1/3 I2C通訊接口 TSSOP-48 VKL144B 2.5~5.5V 36seg*4com 偏置電壓1/2 1/3 I2C通訊接口 QFN48L (6MM*6MM) 靜態(tài)顯示LCD液晶控制器及驅動系列 VKS118 2.4~5.2V 118seg*2com 偏置電壓 -- 4線通訊接口 LQFP-128 VKS232 2.4~5.2V 116seg*2com 偏置電壓1/1 1/2 4線通訊接口 LQFP-128 內存映射的LED控制器及驅動器 VK1628 --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52 共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP28 VK1629 --- 通訊接口:STB/CLK/DIN/DOUT 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:16段8位 共陽驅動:8段16位 按鍵:8x4 封裝QFP44 VK1629A --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:16段8位 共陽驅動:8段16位 按鍵:--- 封裝SOP32 VK1629B --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:112 共陰驅動:14段8位 共陽驅動:8段14位 按鍵:8x2 封裝SOP32 VK1629C --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:120 共陰驅動:15段8位 共陽驅動:8段15位 按鍵:8x1 封裝SOP32 VK1629D --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:96 共陰驅動:12段8位 共陽驅動:8段12位 按鍵:8x4 封裝SOP32 VK1640 --- 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:8段16位 共陽驅動:16段8位 按鍵:--- 封裝SOP28 VK1650 --- 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅動點陣:8x16 共陰驅動:8段4位 共陽驅動:4段8位 按鍵:7x4 封裝SOP16/DIP16 VK1668 ---通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52 共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP24 VK6932 --- 通訊接口:STB/CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128 共陰驅動:8段16位17.5/140mA 共陽驅動:16段8位 按鍵:--- 封裝SOP32 VK16K33 --- 通訊接口:SCL/SDA 電源電壓:5V(4.5V~5.5V) 驅動點陣:128/96/64 共陰驅動:16段8位/12段8位/8段8位 共陽驅動:8段16位/8段12位/8段8位 按鍵:13x3 10x3 8x3 封裝SOP20/SOP24/SOP28 (所有型號全部封裝均有現貨,歡迎加Q查詢 191 888 5898 許生) 以上介紹內容為IC參數簡介,難免有錯漏,且相關IC型號眾多,未能一一收錄。歡迎聯(lián)系索取完整資料及樣品! 請加許先生 QQ:191 888 5898聯(lián)系!謝謝 生意無論大小,做人首重誠信!本公司全體員工將既往開來,再接再厲。爭取為各位帶來更專業(yè)的技術支持,更優(yōu)質的銷售服務,更高性價比的好產品.竭誠希望能與各位客戶朋友深入溝通,攜手共進,共同成長,合作共贏!謝謝。
上傳時間: 2019-07-03
上傳用戶:shubashushi66
產品型號:VK2C21A/B/C/D 產品品牌:永嘉微電/VINKA 封裝形式:SOP28/24/20/16 產品年份:新年份 聯(lián)系人:陳先生 聯(lián)系手機:188& 2466& 2436 (加V) 企鵝號:361& 888& 5898 E-mail:crh_chip@163.com 原廠直銷,工程服務,技術支持,價格最具優(yōu)勢! VK2C21A/B/C/D概述: VK2C21是一個點陣式存儲映射的LCD驅動器,可支持最大80點(20SEGx4COM)或者最大128點(16SEGx8COM)的LCD屏。單片機可通過I2C接口配置顯示參數和讀寫顯示數據,也可通過指令進入省電模式。其高抗干擾,低功耗的特性適用于水電氣表以及工控儀表類產品。 特點: ★ 工作電壓 2.4-5.5V ★ 內置32 kHz RC振蕩器 ★ 偏置電壓(BIAS)可配置為1/3、1/4 ★ COM周期(DUTY)可配置為1/4、1/8 ★ 內置顯示RAM為20x4位、16x8位 ★ 幀頻可配置為80Hz、160Hz ★ 省電模式(通過關顯示和關振蕩器進入)??? ★ I2C通信接口 ★ 顯示模式20x4、16x8 ★ 3種顯示整體閃爍頻率 ★ 軟件配置LCD顯示參數 ★ 讀寫顯示數據地址自動加1 ★ VLCD腳提供LCD驅動電壓源(<VDD) ★ 內置16級LCD驅動電壓調整電路 ★ 內置上電復位電路(POR) ★ 低功耗、高抗干擾 —————————————————————————————————— 產品型號:VK2C22A/B 產品品牌:永嘉微電/VINKA 封裝形式:LQFP52/48 產品年份:新年份 原廠直銷,工程服務,技術支持,價格最具優(yōu)勢! VK2C22A/B概述: VK2C22A/B是一個點陣式存儲映射的LCD驅動器,可支持最大176點(44SEGx4COM)的LCD屏。單片機可通過I2C接口配置顯示參數和讀寫顯示數據,也可通過指令進入省電模式。其高抗干擾,低功耗的特性適用于水電氣表以及工控儀表類產品。 特點: ★ 工作電壓 2.4-5.5V ★ 內置32 kHz RC振蕩器 ★ 偏置電壓(BIAS)可配置為1/2、1/3 ★ COM周期(DUTY)為1/4 ★ 內置顯示RAM為44x4位 ★ 幀頻可配置為80Hz、160Hz ★ 省電模式(通過關顯示和關振蕩器進入)??? ★ I2C通信接口 ★ 顯示模式44x4 ★ 3種顯示整體閃爍頻率 ★ 軟件配置LCD顯示參數 ★ 讀寫顯示數據地址自動加1 ★ VLCD腳提供LCD驅動電壓源(<5.5V) ★ 內置16級LCD驅動電壓調整電路 ★ 內置上電復位電路(POR) ★ 低功耗、高抗干擾 —————————————————————————————————— 產品型號:VK2C23A/B 產品品牌:永嘉微電/VINKA 封裝形式:LQFP64/48 產品年份:新年份 原廠直銷,工程服務,技術支持,價格最具優(yōu)勢! VK2C23A/B概述: VK2C23A/B是一個點陣式存儲映射的LCD驅動器,可支持最大224點(56SEGx4COM)或者最大416點(52SEGx8COM)的LCD屏。單片機可通過I2C接口配置顯示參數和讀寫顯示數據,也可通過指令進入省電模式。其高抗干擾,低功耗的特性適用于水電氣表以及工控儀表類產品。 特點: ★ 工作電壓 2.4-5.5V ★ 內置32 kHz RC振蕩器 ★ 偏置電壓(BIAS)可配置為1/3、1/4 ★ COM周期(DUTY)可配置為1/4、1/8 ★ 內置顯示RAM為56x4位、52x8位 ★ 幀頻可配置為80Hz、160Hz ★ 省電模式(通過關顯示和關振蕩器進入)??? ★ I2C通信接口 ★ 顯示模式56x4、52x8 ★ 3種顯示整體閃爍頻率 ★ 軟件配置LCD顯示參數 ★ 讀寫顯示數據地址自動加1 ★ VLCD腳提供LCD驅動電壓源(<5.5V) ★ 內置16級LCD驅動電壓調整電路 ★ 內置上電復位電路(POR) ★ 低功耗、高抗干擾 —————————————————————————————————— 產品型號:VK2C24A/B 產品品牌:永嘉微電/VINKA 封裝形式:LQFP80/64 產品年份:新年份 原廠直銷,工程服務,技術支持,價格最具優(yōu)勢! VK2C24A/B概述: VK2C24A/B是一個點陣式存儲映射的LCD驅動器,可支持最大288點(72SEGx4COM)或者最大544點(68SEGx8COM)或者最大960點(60SEGx16COM)的LCD屏。單片機可通過I2C接口配置顯示參數和讀寫顯示數據,也可通過指令進入省電模式。其高抗干擾,低功耗的特性適用于水電氣表以及工控儀表類產品。 特點: ★ 工作電壓 2.4-5.5V ★ 內置32 kHz RC振蕩器 ★ 偏置電壓(BIAS)可配置為1/3、1/4、1/5 ★ COM周期(DUTY)可配置為1/4、1/8、1/16 ★ 內置顯示RAM為72x4位、68x8位、60x16位 ★ 幀頻可配置為80Hz、160Hz ★ 省電模式(通過關顯示和關振蕩器進入)??? ★ I2C通信接口 ★ 顯示模式72x4、68x8、60x8 ★ 3種顯示整體閃爍頻率 ★ 軟件配置LCD顯示參數 ★ 讀寫顯示數據地址自動加1 ★ VLCD腳提供LCD驅動電壓源(<5.5V) ★ 內置16級LCD驅動電壓調整電路 ★ 內置上電復位電路(POR) ★ 低功耗、高抗干擾 ★ 此篇產品敘述為功能簡介,如需要完整產品PDF資料可以聯(lián)系陳先生索取! —————————————————————————————————— LCD/LED液晶控制器及驅動器系列芯片簡介如下: RAM映射LCD控制器和驅動器系列: VK1024B 2.4V~5.2V 6seg*4com 6*3 6*2 偏置電壓1/2 1/3 S0P-16 VK1056B 2.4V~5.2V 14seg*4com 14*3 14*2 偏置電壓1/2 1/3 SOP-24/SSOP-24 VK1072B 2.4V~5.2V 18seg*4com 18*3 18*2 偏置電壓1/2 1/3 SOP-28 VK1072C 2.4V~5.2V 18seg*4com 18*3 18*2 偏置電壓1/2 1/3 SOP-28 VK1088B 2.4V~5.2V 22seg*4com 22*3 偏置電壓1/2 1/3 QFN-32L(4MM*4MM) VK0192 2.4V~5.2V 24seg*8com 偏置電壓1/4 LQFP-44 VK0256 2.4V~5.2V 32seg*8com 偏置電壓1/4 QFP-64 VK0256B 2.4V~5.2V 32seg*8com 偏置電壓1/4 LQFP-64 VK0256C 2.4V~5.2V 32seg*8com 偏置電壓1/4 LQFP-52 VK1621 2.4V~5.2V 32*4 32*3 32*2 偏置電壓1/2 1/3 LQFP44/48/SSOP48/SKY28/DICE裸片 VK1622 2.7V~5.5V 32seg*8com 偏置電壓1/4 LQFP44/48/52/64/QFP64/DICE裸片 VK1623 2.4V~5.2V 48seg*8com 偏置電壓1/4 LQFP-100/QFP-100/DICE裸片 VK1625 2.4V~5.2V 64seg*8com 偏置電壓1/4 LQFP-100/QFP-100/DICE VK1626 2.4V~5.2V 48seg*16com 偏置電壓1/5 LQFP-100/QFP-100/DICE (高品質 高性價比:液晶顯示驅動IC 原廠直銷 工程技術支持! 高抗干擾LCD液晶控制器及驅動系列: VK2C21A 2.4~5.5V 20seg*4com 16*8 偏置電壓1/3 1/4 I2C通訊接口 SOP-28 VK2C21B 2.4~5.5V 16seg*4com 12*8 偏置電壓1/3 1/4 I2C通訊接口 SOP-24 VK2C21C 2.4~5.5V 12seg*4com 8*8 偏置電壓1/3 1/4 I2C通訊接口 SOP-20 VK2C21D 2.4~5.5V 8seg*4com 4*8 偏置電壓1/3 1/4 I2C通訊接口 SOP-16 VK2C22A 2.4~5.5V 44seg*4com 偏置電壓1/2 1/3 I2C通訊接口 LQFP-52 VK2C22B 2.4~5.5V 40seg*4com 偏置電壓1/2 1/3 I2C通訊接口 LQFP-48 VK2C23A 2.4~5.5V 56seg*4com 52*8 偏置電壓1/3 1/4 I2C通訊接口 LQFP-64 VK2C23B 2.4~5.5V 36seg*8com 偏置電壓1/31/4 I2C通訊接口 LQFP-48 VK2C24 2.4~5.5V 72seg*4com 68*8 60*16 偏置電壓1/3 1/4 1/5 I2C通訊接口 LQFP-80 超低功耗LCD液晶控制器及驅動系列: VKL060 2.5~5.5V 15seg*4com 偏置電壓1/2 1/3 I2C通訊接口 SSOP-24 VKL128 2.5~5.5V 32seg*4com 偏置電壓1/2 1/3 I2C通訊接口 LQFP-44 VKL144A 2.5~5.5V 36seg*4com 偏置電壓1/2 1/3 I2C通訊接口 TSSOP-48 VKL144B 2.5~5.5V 36seg*4com 偏置電壓1/2 1/3 I2C通訊接口 QFN48L (6MM*6MM) 靜態(tài)顯示LCD液晶控制器及驅動系列: VKS118 2.4~5.2V 118seg*2com 偏置電壓 -- 4線通訊接口 LQFP-128 VKS232 2.4~5.2V 116seg*2com 偏置電壓1/1 1/2 4線通訊接口 LQFP-128 永嘉微電/VINKA原廠直銷,工程服務技術支持,主營LCD/LED驅動IC/觸摸IC __________________________________________________________________________________________________ 內存映射的LED控制器及驅動器: VK1628 --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52 共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP28 VK1638--- VK1S38A--- VK1629 --- 通訊接口:STB/CLK/DIN/DOUT 電源電壓:5V(4.5~5.5V) 驅動點陣:128共陰驅動:16段8位 共陽驅動:8段16位 按鍵:8x4 封裝QFP44 VK1629A --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:128共陰驅動:16段8位 共陽驅動:8段16位 按鍵:--- 封裝SOP32 VK1629B --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:112 共陰驅動:14段8位 共陽驅動:8段14位 按鍵:8x2 封裝SOP32 VK1629C --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:120 共陰驅動:15段8位 共陽驅動:8段15位 按鍵:8x1 封裝SOP32 VK1629D --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:96 共陰驅動:12段8位 共陽驅動:8段12位 按鍵:8x4 封裝SOP32 VK1640 --- 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128共陰驅動:8段16位 共陽驅動:16段8位 按鍵:--- 封裝SOP28 VK1650 --- 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅動點陣:8x16共陰驅動:8段4位 共陽驅動:4段8位 按鍵:7x4 封裝SOP16/DIP16 VK1668 ---通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅動點陣:70/52共陰驅動:10段7位/13段4位 共陽驅動:7段10位 按鍵:10x2 封裝SOP24 VK6932 --- 通訊接口:STB/CLK/DIN 電源電壓:5V(4.5~5.5V) 驅動點陣:128共陰驅動:8段16位17.5/140mA 共陽驅動:16段8位 按鍵:--- 封裝SOP32 VK16K33 --- 通訊接口:SCL/SDA 電源電壓:5V(4.5V~5.5V) 驅動點陣:128/96/64 共陰驅動:16段8位/12段8位/8段8位 共陽驅動:8段16位/8段12位/8段8位按鍵:13x3 10x3 8x3 封裝SOP20/SOP24/SOP2 永嘉微電/VINKA原廠直銷,工程服務技術支持,主營LCD/LED驅動IC/觸摸IC 觸摸觸控IC系列簡介如下: 標準觸控IC-電池供電系列: VKD223EB --- 工作電壓/電流:2.0V-5.5V/5uA-3V 感應通道數:1 通訊接口 最長響應時間快速模式60mS,低功耗模式220ms 封裝:SOT23-6 VKD223B --- 工作電壓/電流:2.0V-5.5V/5uA-3V 感應通道數:1 通訊接口 最長響應時間快速模式60mS,低功耗模式220ms 封裝:SOT23-6 VKD233DB --- 工作電壓/電流:2.4V-5.5V/2.5uA-3V 1感應按鍵 封裝:SOT23-6 通訊接口:直接輸出,鎖存(toggle)輸出 低功耗模式電流2.5uA-3V VKD233DH ---工作電壓/電流:2.4V-5.5V/2.5uA-3V 1感應按鍵 封裝:SOT23-6 通訊接口:直接輸出,鎖存(toggle)輸出 有效鍵最長時間檢測16S VKD233DS --- 工作電壓/電流:2.4V-5.5V/2.5uA-3V 1感應按鍵 封裝:DFN6(2*2超小封裝) 通訊接口:直接輸出,鎖存(toggle)輸出 低功耗模式電流2.5uA-3V VKD233DR --- 工作電壓/電流:2.4V-5.5V/1.5uA-3V 1感應按鍵 封裝:DFN6(2*2超小封裝) 通訊接口:直接輸出,鎖存(toggle)輸出 低功耗模式電流1.5uA-3V VKD233DG --- 工作電壓/電流:2.4V-5.5V/2.5uA-3V 1感應按鍵 封裝:DFN6(2*2超小封裝) 通訊接口:直接輸出,鎖存(toggle)輸出 低功耗模式電流2.5uA-3V VKD233DQ --- 工作電壓/電流:2.4V-5.5V/5uA-3V 1感應按鍵 封裝:SOT23-6 通訊接口:直接輸出,鎖存(toggle)輸出 低功耗模式電流5uA-3V VKD233DM --- 工作電壓/電流:2.4V-5.5V/5uA-3V 1感應按鍵 封裝:SOT23-6 (開漏輸出) 通訊接口:開漏輸出,鎖存(toggle)輸出 低功耗模式電流5uA-3V VKD232C --- 工作電壓/電流:2.4V-5.5V/2.5uA-3V 感應通道數:2 封裝:SOT23-6 通訊接口:直接輸出,低電平有效 固定為多鍵輸出模式,內建穩(wěn)壓電路 MTP觸摸IC——VK36N系列抗電源輻射及手機干擾: VK3601L --- 工作電壓/電流:2.4V-5.5V/4UA-3V3 感應通道數:1 1對1直接輸出 待機電流小,抗電源及手機干擾,可通過CAP調節(jié)靈敏 封裝:SOT23-6 VK36N1D --- 工作電壓/電流:2.2V-5.5V/7UA-3V3 感應通道數:1 1對1直接輸出 觸摸積水仍可操作,抗電源及手機干擾,可通過CAP調節(jié)靈敏封裝:SOT23-6 VK36N2P --- 工作電壓/電流:2.2V-5.5V/7UA-3V3 &n
上傳時間: 2021-11-25
上傳用戶:15218646864
|- 9.配套數據手冊 - 0 B|- 8.面包板接線軟件 - 0 B|- 7.物聯(lián)網實驗 - 0 B|- 6.圖形化編程 - 0 B|- 5.實驗接線圖 - 0 B|- 4.視頻教程 - 0 B|- 3.案例程序 - 0 B|- 2.開發(fā)環(huán)境 - 0 B|- 10.輔助軟件 - 0 B|- 1.學前先看 - 0 B|- CLB.ico - 17.00 kB|- Autorun.inf - 23 B
上傳時間: 2022-06-06
上傳用戶:
VIP專區(qū)-嵌入式/單片機編程源碼精選合集系列(49)資源包含以下內容:1. 凌陽非接觸式紅外測溫傳感器的C51源程序。.2. 液晶模塊LCD2X8C驅動程序.3. 含t h r e a d x,u c o s 的b s p.4. 液晶sed1335芯片.5. 8237可編程DMA控制器altera提供.6. xilinx嵌入式開發(fā)源碼.7. ZLG的LPC2220讀取SD卡的源代碼.8. 三星44b0 usbpid驅動程序.9. 三星44B0的一款BOOTLOADER.10. i2c_slave mode for pic.11. max7219驅動.12. max7219控制程序.13. 語音通用程序.14. adc通用程序.15. 通用語音資料.16. ATMEGA128....液晶顯示程序.17. 基于MSP430的單片機的TC35/MC35的無線通訊MODEM.18. Uc-Os ii的多任務操作系統(tǒng)全部原代碼(強烈推薦).19. nios開發(fā)ucos源碼.20. MinOS嵌入式操作系統(tǒng),C/C++源代碼!基于KeilC51編譯器..21. 基于51單片機的濾波程序.22. IIC讀寫程序.23. 無刷電機無位置傳感器dsp程序.24. c51液晶顯示程序,顯示模塊,可通用于基于HD44780內控器的液晶顯示器..25. DP-51H下載仿真實驗儀提供80C51與接口實例.ZLG7290例程*.26. DP-51H下載仿真實驗儀提供80C51與接口實例.讀EEPROM并顯示例程*.27. 一個讀取PCI配置空間的TOOL (在DOS下OR WIN 98).28. AT89C52實時時鐘DS1302測試,帶Proteus文件.29. 用AT89C52演奏音樂.30. 這個是安防用的控制鍵盤C源程序,采用KEIL C51開發(fā).用于控制前端解碼器!.31. 這是一個用于視頻切換的控制程序,采用AT89C51芯片,KEIL 51開發(fā).32. 自己近期寫的一個串口通信的小程序.33. 這是基于藍海微芯LJD-SY-XA+單片機開發(fā)系統(tǒng)的遠程無線監(jiān)控系統(tǒng)的DA及AD采集和數碼顯示的部分.34. 基于51內核的單片機的ucos-ii操作系統(tǒng)的移植的源代碼.35. 此代碼是實現將lwip協(xié)議移植于51單片機的測試程序.36. DOS下采用中斷接收數據的串口通訊的例子,很難找到的好東西!.37. lpc2292的can總線的簡單收發(fā)程序 底層驅動程序都有.38. 數字密碼鎖設計的源代碼,喜歡的朋友就下載..39. 一個使用STGapiBuffer編程的例子.40. 好東西 AVR study.
上傳時間: 2013-04-15
上傳用戶:eeworm
高性能可編程DMA控制接口82C37A-54.1 概述對象實體:直接存儲器訪問(DMA)控制接口芯片82C37A-5芯片的特點:1、管腳引線與NMOS 8237A-5兼容。2、允許/禁止單獨DMA請求控制。3、頻率從0~5MHz區(qū)間全靜態(tài)設計。4、低電平操作。 5、4個各自獨立的DMA通道并獨立的進行初始化。6、存儲器到存儲器之間傳送。7、存儲器模塊初始化處理。8、地址的增量和減量。9、傳送速率可達1.6MB/s.10、可直接擴展成任意數量的通道。11 、終止傳送的過程即輸入結束。12、軟件請求。13、獨立信號DREQ和信號DACK的極性控制。4.2 82C37A-5的體系結構4.2.1 基本結構描述1. 82C37A-5內部配備了規(guī)模為344位的內部存儲器,它是以寄存器的形式出現的。2. 配有3個基本的控制模塊: (1)定時及控制模塊; (2)優(yōu)先級編碼及循環(huán)優(yōu)先級控制模塊;(3)命令控制模塊; 3. 12個不同類型的寄存器 。圖 4-1 82C37A-5結構圖EOP# A0~A3RESETCS#. IOW# DREQ0~DREQ3HLDAHRQ DB0~DB7DACK0~DACK3
上傳時間: 2013-10-21
上傳用戶:ming52900