亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

源碼<b>天堂</b>2源碼<b>天堂</b>2源碼

  • 實(shí)驗(yàn)?zāi)康? 通過(guò)上機(jī)實(shí)習(xí),加深對(duì)語(yǔ)法制導(dǎo)翻譯原理的理解,掌握將語(yǔ)法分析所識(shí)別的語(yǔ)法成分變換為中間代碼的語(yǔ)義翻譯方法. 實(shí)驗(yàn)要求 采用遞歸下降語(yǔ)法制導(dǎo)翻譯法,對(duì)算術(shù)表達(dá)式、賦值語(yǔ)句進(jìn)行語(yǔ)義分析并生成

    實(shí)驗(yàn)?zāi)康? 通過(guò)上機(jī)實(shí)習(xí),加深對(duì)語(yǔ)法制導(dǎo)翻譯原理的理解,掌握將語(yǔ)法分析所識(shí)別的語(yǔ)法成分變換為中間代碼的語(yǔ)義翻譯方法. 實(shí)驗(yàn)要求 采用遞歸下降語(yǔ)法制導(dǎo)翻譯法,對(duì)算術(shù)表達(dá)式、賦值語(yǔ)句進(jìn)行語(yǔ)義分析并生成四元式序列。 實(shí)驗(yàn)的輸入和輸出 輸入是語(yǔ)法分析提供的正確的單詞串,輸出為三地址指令形式的四元式序列。 例如:對(duì)于語(yǔ)句串 begin a:=2+3*4 x:=(a+b)/c end# 輸出的三地址指令如下: (1) t1=3*4 (2) t2=2+t1 (3) a=t2 (4) t3=a+b (5) t4=t3/c (6) x=t4

    標(biāo)簽: 翻譯 實(shí)驗(yàn) 制導(dǎo)

    上傳時(shí)間: 2017-09-27

    上傳用戶:hjshhyy

  • net_tcp.h

    /* ********************************************************************************************************* *                                             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 **************

    標(biāo)簽: tcp uCOS-II

    上傳時(shí)間: 2015-11-22

    上傳用戶:the same kong

  • 批處理感知器算法

    批處理感知器算法的代碼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;%記錄步數(shù) n=1; y=zeros(size(W,2),1);%記錄錯(cuò)分的樣本 while any(y<=0)     k=k+1;     y=a*transpose(W);%記錄錯(cuò)分的樣本     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步以內(nèi)沒(méi)有收斂,終止']) 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)

    標(biāo)簽: 批處理 算法matlab

    上傳時(shí)間: 2016-11-07

    上傳用戶:a1241314660

  • 激活工具h(yuǎn)eu

    1.軟件安裝步驟   a)運(yùn)行光盤(pán)中客戶軟件\CCS5000 CCS2.20\CCS2.2\SETUP.EXE,進(jìn)入引導(dǎo)界面;   b)選擇Install下的Code Composer Studio進(jìn)入安裝界面; c)按照默認(rèn)的方式安裝,裝在C:\ti下。 d)安裝軟件補(bǔ)丁:運(yùn)行光盤(pán)客戶軟件\c5000ccs2.20\CCS FOR C5000-補(bǔ)丁\C5000-2.20.00-FULL-to-C5000-2.20.18-FULL.EXE,進(jìn)入安裝界面,然后按照默認(rèn)的方式安裝即可。 e)重新啟動(dòng)計(jì)算機(jī),按DEL鍵進(jìn)入CMOS的設(shè)置界面CMOS SETUP UTILITY,將Integrated Peripherals中的Onboard Paralell Port改為378/IRQ,Parrallel Port Mode改為EPP,保存退出。 f)進(jìn)入windows后會(huì)出現(xiàn)“CCS 2(‘ C5000) ”、 “Setup  CCS 2(‘ C5000) ”兩個(gè)圖標(biāo)。

    標(biāo)簽: 激活

    上傳時(shí)間: 2017-01-03

    上傳用戶:jmw8637

  • 12345

    /****************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的看門(mén)狗??????     /**********全局常量************/    //寫(xiě)卡的命令     #define    write_command0       0//寫(xiě)密碼     #define    write_command1       1//寫(xiě)配置字     #define    write_command2       2//密碼寫(xiě)數(shù)據(jù)     #define    write_command3       3//喚醒     #define    write_command4       4//停止命令     #define    TRUE       1     #define    FALSE      0     #define    OK         0     #define    ERROR      255     //讀卡的時(shí)間參數(shù)us     #define ts_min          250//270*11.0592/12=249//取近似的整數(shù)     #define ts_max          304//330*11.0592/12=304     #define t1_min          73//90*11.0592/12=83:-10調(diào)整     #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     //***********不采用中斷處理:采用查詢的方法讀卡時(shí)關(guān)所有中斷****************/     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;//測(cè)試綠燈     sbit led_light1 = P1^5;//測(cè)試紅燈     sbit led_light_ok  = P1^1;//讀卡成功標(biāo)志     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};     //存儲(chǔ)卡上用戶數(shù)據(jù)(1-7)7*4=28     uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收數(shù)組ram     uchar command; //第一個(gè)命令     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;    //緩存定時(shí)值,因用同一個(gè)定時(shí)器     union HLint { uint W;    struct   {    uchar H;uchar L;   }   B; };//union HLint idata a     union HLint data a;    //緩存定時(shí)值,因用同一個(gè)定時(shí)器     union HLint0 { uint W;    struct {   uchar H;   uchar L; } B; };//union HLint idata a     union HLint0 data b;    /**********************函數(shù)原型*****************/    //讀寫(xiě)操作     void f_readcard(void);//全部讀出1~7 AOR喚醒     void f_writecard(uchar x);//根據(jù)命令寫(xiě)不同的內(nèi)容和操作     void f_clearpassword(void);//清除密碼     void f_changepassword(void);//修改密碼     //功能子函數(shù)     void write_password(uchar data *data p);//寫(xiě)初始密碼或數(shù)據(jù)     void write_block(uchar x,uchar data *data p);//不能用通用指針     void write_bit(bit x);//寫(xiě)位     /*子函數(shù)區(qū)*****************************************************/    void delay_2(uint x)    //延時(shí),時(shí)間x*10us@12mhz,最小20us@12mhz     {    x--; x--;    while(x)    {      _nop_();      _nop_();      x--;    }    _nop_();//WDT_CONTR=0X3C;不能頻繁的復(fù)位     _nop_();    }    /////////////////////////////////////////////////////////////////////     void initial(void)    {    SCON = 0x50; //串口方式1,允許接收     //SCON  =0x50;     //01010000B:10位異步收發(fā),波特率可變,SM2=0不用接收到有效停止位才RI=1,     //REN=1允許接收     TMOD = 0x21; //定時(shí)器1 定時(shí)方式2(8位),定時(shí)器0 定時(shí)方式1(16位)     TCON = 0x40; //設(shè)定時(shí)器1 允許開(kāi)始計(jì)時(shí)(IT1=1)     TH1 = 0xfD;  //FB 18.432MHz 9600 波特率     TL1 = 0xfD;  //fd 11.0592 9600     IE = 0X90;     //EA=ES=1     TR1 = 1;     //啟動(dòng)定時(shí)器     WDT_CONTR = 0x3c;//使能看門(mén)狗     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;//全關(guān),防止影響跳變的定時(shí)器計(jì)時(shí)     WDT_CONTR = 0X3C;//喂狗     p_U2270B_CFE = 1;//      delay_2(232);  //>2.5ms            /*   //   aor    用喚醒功能來(lái)防碰撞   p_U2270B_CFE = 0; delay_2(18);//start gap>150us   write_bit(1);//10=操作碼讀0頁(yè)   write_bit(0);       write_password(&bankdata[24]);//密碼block7   p_U2270B_CFE =1 ;//    delay_2(516);//編程及確認(rèn)時(shí)間5.6ms   */    WDT_CONTR = 0X3C;//喂狗     led_light = 0;    b.W = 0;    while(!(read_ok == 1))    {             //while(p_U2270B_OutPut);//等一個(gè)穩(wěn)定的低電平?超時(shí)判斷?              while(!p_U2270B_OutPut);//等待上升沿的到來(lái)同步信號(hào)檢測(cè)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;//定時(shí)器晚啟動(dòng)10個(gè)周期       //同步頭       if((324 < a.W) && (a.W < 353)) ;//檢測(cè)同步信號(hào)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塊的數(shù)據(jù)       for(j = 0;j < 28;j++)      {       //uchar i;                  for(i = 0;i < 16;i++)//8個(gè)位        {        //等待下降沿的到來(lái)         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)//寫(xiě)卡     {    p_U2270B_CFE = 1;    delay_2(232);  //>2.5ms            //psw=0 standard write     if (x == write_command0)//寫(xiě)密碼:初始化密碼     {      uchar i;      uchar data *data p;      p = cominceptbuff;      p_U2270B_CFE = 0;   delay_2(31);//start gap>330us       write_bit(1);//寫(xiě)操作碼1:10       write_bit(0);//寫(xiě)操作碼0       write_bit(0);//寫(xiě)鎖定位0       for(i = 0;i < 35;i++)      {       write_bit(1);//寫(xiě)數(shù)據(jù)位1       }      p_U2270B_CFE = 1;      led_light1 = 0;   led_light = 1;   delay_2(40000);//測(cè)試使用       //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)//配置卡參數(shù):初始化     {      uchar data *data p;      p = cominceptbuff;      write_bit(1);//寫(xiě)操作碼1:10       write_bit(0);//寫(xiě)操作碼0       write_bit(0);//寫(xiě)鎖定位0               write_block(cominceptbuff[4],p);      p_U2270B_CFE=  1;    }    //psw=1  pssword mode     else if(x == write_command2)  //密碼寫(xiě)數(shù)據(jù)    {      uchar data*data p;      p = &bankdata[24];      write_bit(1);//寫(xiě)操作碼1:10       write_bit(0);//寫(xiě)操作碼0       write_password(p);//發(fā)口令       write_bit(0);//寫(xiě)鎖定位0       p = cominceptbuff;      write_block(cominceptbuff[4],p);//寫(xiě)數(shù)據(jù)            }    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;//此時(shí)數(shù)據(jù)不停的循環(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);//寫(xiě)新配置參數(shù):pwd=0             //密碼無(wú)效:即清除密碼     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);//寫(xiě)新密碼     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     }    /***************************子函數(shù)***********************************/    void write_bit(bit x)//寫(xiě)一位     {    if(x)    {      p_U2270B_CFE = 1;   delay_2(32);//448*11.0592/120=42延時(shí)448us       p_U2270B_CFE = 0;   delay_2(28);//280*11.0592/120=26寫(xiě)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寫(xiě)0     }    }    /*******************寫(xiě)一個(gè)block*******************/    void write_block(uchar addr,uchar data *data p)    {    uchar i,j;        for(i = 0;i < 4;i++)//block0數(shù)據(jù)     {             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);  //寫(xiě)卡    f_clearpassword();   //清除密碼     f_changepassword();    //修改密碼 } }

    標(biāo)簽: 12345

    上傳時(shí)間: 2017-10-20

    上傳用戶:my_lcs

  • sharpmap的教程及資料

    SharpMap是一個(gè)基于.net 2.0使用C#開(kāi)發(fā)的Map渲染類庫(kù),可以渲染各類GIS數(shù)據(jù)(目前支持ESRI Shape和PostGIS格式),可應(yīng)用于桌面和Web程序。 它的優(yōu)點(diǎn)有: 1、占用資源較少,響應(yīng)比較快。在對(duì)于項(xiàng)目中如果只需要簡(jiǎn)單的地圖功能的話,是一個(gè)比 較好的選擇 。 2、它是基于.NET 2.0環(huán)境下開(kāi)發(fā)的,對(duì)于.NET環(huán)境支持較好。 3、使用簡(jiǎn)單,只要在.NET項(xiàng)目中引用相應(yīng)的dll文件即可,沒(méi)有復(fù)雜的安裝步驟。 支持B/S及C/S兩種方式的DLL調(diào)用,支持地圖渲染效果 SharpMap最新版基于.NET Framework 4,采用C#開(kāi)發(fā)的地圖渲染引擎,非常易于使用。我這次給出的是比較穩(wěn)定發(fā)布的V1.0版本和demo。

    標(biāo)簽: sharpmap 教程

    上傳時(shí)間: 2018-01-09

    上傳用戶:mawenyao

  • java實(shí)現(xiàn)大整數(shù)運(yùn)算

    在包 hugeinteger 中創(chuàng)建功能類 HugeInteger,該類用來(lái)存放和操作一個(gè)不超過(guò) 40 位的大整數(shù)。 (1) 定義一個(gè)構(gòu)造函數(shù),用來(lái)對(duì)大整數(shù)進(jìn)行初始化。參數(shù)為一個(gè)字符串。 (2) 定義 input 成員函數(shù),實(shí)現(xiàn)大整數(shù)的重新賦值。參數(shù)為一個(gè)字符串,無(wú)返回 值。 (3) 定義 output 成員函數(shù),將大整數(shù)輸出到屏幕上。無(wú)參數(shù)無(wú)返回值。 (4) 定義 add 成員函數(shù),實(shí)現(xiàn)兩個(gè)大整數(shù)的加法。參數(shù)為一個(gè) HugeInteger 對(duì) 象,無(wú)返回值,例如: HugeInteger A = new HugeInteger("12345"); HugeInteger B = new HugeInteger("1234"); A.add(B); 此時(shí),A 為 13579,B 為 1234。 (5) 定義 sub 成員函數(shù),實(shí)現(xiàn)兩個(gè)大整數(shù)的減法。參數(shù)和返回值同 add 函數(shù)。 (6) 定義若干大整數(shù)關(guān)系運(yùn)算的成員函數(shù),包括 isEqualTo(等于,=)、 isNotEqualTo(不等于,≠)、isGreaterThan(大于,>)、isLessThan(小 于,<)、isGreaterThanOrEqualTo(大于等于,≥)和 isLessThanOrEqualTo (小于等于,≤)。這些函數(shù)的參數(shù)為一個(gè) HugeInteger 對(duì)象,返回值為一個(gè) 布爾類型,表示關(guān)系運(yùn)算的結(jié)果,例如: HugeInteger A = new HugeInteger("12345"); HugeInteger B = new HugeInteger("1234"); 那么此時(shí) A.isGreaterThan(B)的結(jié)果應(yīng)當(dāng)為 True,表示 12345>1234。

    標(biāo)簽: java 整數(shù) 運(yùn)算

    上傳時(shí)間: 2019-06-01

    上傳用戶:idealist

  • 成績(jī)查詢系統(tǒng)

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號(hào)查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(jī)總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學(xué)生信息   {   FILE *fp;     if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL)       {       printf("不能打開(kāi)文件!\n");       }     else       {       printf("保存信息到D盤(pán)\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(jī)     平均成績(jī)\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系統(tǒng)   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績(jī)總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   printf("學(xué)號(hào):%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成績(jī)錄入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//統(tǒng)計(jì)成績(jī)   {   printf("數(shù)學(xué)新成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)新成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)新成績(jī):");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改學(xué)生資料   {   printf("學(xué)號(hào):%d----修改為:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改為:",stu[a].name);   gets(stu[a].name);   printf("數(shù)學(xué)成績(jī):%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績(jī):%.2f----修改為:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此學(xué)生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//刪除總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否刪除此條記錄?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("記錄已刪除!\n");     }   } void delete_student2(int a,int b)//刪除學(xué)生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查詢總函數(shù)   {   printf("1、按學(xué)號(hào)查詢\n2、按平均分最高查詢\n請(qǐng)選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜單調(diào)度總函數(shù)   {   print_menu();   choosemenu();   } void sort_student1(void)//排序總函數(shù)   {   printf("1、按數(shù)學(xué)成績(jī)排序\n2、按英語(yǔ)成績(jī)排序\n3、按計(jì)算機(jī)成績(jī)排序\n4、按平均成績(jī)排序\n請(qǐng)選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//顯示全部學(xué)生資料   {   printf("本班所有學(xué)生具體信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//顯示學(xué)生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//顯示表頭   {   printf("  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(jī)     平均成績(jī)\n");   } void input_student4(int a,int b)//覆蓋原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判斷學(xué)號(hào)是否重復(fù)   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此學(xué)號(hào)代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請(qǐng)選擇:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替換!\n");             break;             }           case 2:             {             printf("請(qǐng)重新輸入學(xué)生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//輸出菜單   {   printf("======歡迎來(lái)到學(xué)生信息管理系統(tǒng)======\n");   printf("      1、輸入學(xué)生資料\n");   printf("      2、刪除學(xué)生資料\n");   printf("      3、查詢學(xué)生資料\n");   printf("      4、修改學(xué)生資料\n");   printf("      5、顯示學(xué)生資料\n");   printf("      6、統(tǒng)計(jì)學(xué)生成績(jī)\n");   printf("      7、排序?qū)W生成績(jī)\n");   printf("      8、保存學(xué)生資料\n");   printf("      9、獲取幫助信息\n");   printf("      10、退出系統(tǒng)\n");   printf("====================================\n");   printf("請(qǐng)選擇:");   } void input_student2(void)//輸入總函數(shù)   {   char end;   printf("請(qǐng)輸入學(xué)生信息(在最后一個(gè)學(xué)生信息錄入完成后以“/”結(jié)束錄入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//輸入學(xué)生信息   {   printf("學(xué)號(hào):");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("數(shù)學(xué)成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績(jī):");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計(jì)算學(xué)生平均成績(jī)   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查詢并輸出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照數(shù)學(xué)成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英語(yǔ)成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照計(jì)算機(jī)成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照學(xué)號(hào)查找學(xué)生并輸出   {   int num;   int c;   printf("請(qǐng)輸入要查詢的學(xué)號(hào):");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此學(xué)生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜單選擇   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         運(yùn)行結(jié)果:                         源文件下載地址: http://115.com/file/clnq138g#一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng).rar (請(qǐng)將此地址復(fù)制到瀏覽器地址欄中訪問(wèn)下載頁(yè)面)  

    標(biāo)簽: 成績(jī)查詢系統(tǒng)

    上傳時(shí)間: 2019-06-08

    上傳用戶:啊的撒旦

  • 學(xué)生成績(jī)guanli

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號(hào)查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(jī)總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學(xué)生信息   {   FILE *fp;     if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL)       {       printf("不能打開(kāi)文件!\n");       }     else       {       printf("保存信息到D盤(pán)\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(jī)     平均成績(jī)\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系統(tǒng)   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績(jī)總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   printf("學(xué)號(hào):%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成績(jī)錄入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//統(tǒng)計(jì)成績(jī)   {   printf("數(shù)學(xué)新成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)新成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)新成績(jī):");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改學(xué)生資料   {   printf("學(xué)號(hào):%d----修改為:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改為:",stu[a].name);   gets(stu[a].name);   printf("數(shù)學(xué)成績(jī):%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績(jī):%.2f----修改為:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此學(xué)生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//刪除總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否刪除此條記錄?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("記錄已刪除!\n");     }   } void delete_student2(int a,int b)//刪除學(xué)生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查詢總函數(shù)   {   printf("1、按學(xué)號(hào)查詢\n2、按平均分最高查詢\n請(qǐng)選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜單調(diào)度總函數(shù)   {   print_menu();   choosemenu();   } void sort_student1(void)//排序總函數(shù)   {   printf("1、按數(shù)學(xué)成績(jī)排序\n2、按英語(yǔ)成績(jī)排序\n3、按計(jì)算機(jī)成績(jī)排序\n4、按平均成績(jī)排序\n請(qǐng)選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//顯示全部學(xué)生資料   {   printf("本班所有學(xué)生具體信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//顯示學(xué)生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//顯示表頭   {   printf("  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(jī)     平均成績(jī)\n");   } void input_student4(int a,int b)//覆蓋原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判斷學(xué)號(hào)是否重復(fù)   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此學(xué)號(hào)代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請(qǐng)選擇:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替換!\n");             break;             }           case 2:             {             printf("請(qǐng)重新輸入學(xué)生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//輸出菜單   {   printf("======歡迎來(lái)到學(xué)生信息管理系統(tǒng)======\n");   printf("      1、輸入學(xué)生資料\n");   printf("      2、刪除學(xué)生資料\n");   printf("      3、查詢學(xué)生資料\n");   printf("      4、修改學(xué)生資料\n");   printf("      5、顯示學(xué)生資料\n");   printf("      6、統(tǒng)計(jì)學(xué)生成績(jī)\n");   printf("      7、排序?qū)W生成績(jī)\n");   printf("      8、保存學(xué)生資料\n");   printf("      9、獲取幫助信息\n");   printf("      10、退出系統(tǒng)\n");   printf("====================================\n");   printf("請(qǐng)選擇:");   } void input_student2(void)//輸入總函數(shù)   {   char end;   printf("請(qǐng)輸入學(xué)生信息(在最后一個(gè)學(xué)生信息錄入完成后以“/”結(jié)束錄入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//輸入學(xué)生信息   {   printf("學(xué)號(hào):");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("數(shù)學(xué)成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績(jī):");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計(jì)算學(xué)生平均成績(jī)   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查詢并輸出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照數(shù)學(xué)成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英語(yǔ)成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照計(jì)算機(jī)成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成績(jī)排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照學(xué)號(hào)查找學(xué)生并輸出   {   int num;   int c;   printf("請(qǐng)輸入要查詢的學(xué)號(hào):");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此學(xué)生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜單選擇   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         運(yùn)行結(jié)果:                         源文件下載地址: http://115.com/file/clnq138g#一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng).rar (請(qǐng)將此地址復(fù)制到瀏覽器地址欄中訪問(wèn)下載頁(yè)面)   #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號(hào)查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(jī)總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學(xué)生信息   {   FILE *fp;     if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL)       {       printf("不能打開(kāi)文件!\n");       }     else       {       printf("保存信息到D盤(pán)\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(jī)     平均成績(jī)\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系統(tǒng)   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績(jī)總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   printf("學(xué)號(hào):%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成績(jī)錄入成功!

    標(biāo)簽: c語(yǔ)言

    上傳時(shí)間: 2019-06-09

    上傳用戶:啊的撒旦

  • LED數(shù)顯驅(qū)動(dòng)芯片TM1629A/B/C/兼容替代VK1629A/B/C/D/

    VK元泰原廠LED的面板驅(qū)動(dòng)產(chǎn)品主要應(yīng)用于段式和點(diǎn)陣式LED的顯示驅(qū)動(dòng)包括但不局限以下產(chǎn)品: 儀表顯示、大小家電、標(biāo)志牌、健身器材顯示面板等,同時(shí)涉及顯示器控制器、雙斜率與顯示驅(qū)動(dòng)ADC及顯示器驅(qū)動(dòng)計(jì)數(shù)器相關(guān)產(chǎn)品,產(chǎn)品具備顯示、背光、按鍵掃描、單線、兩線及三線通訊等不同特色。LED面板顯示驅(qū)動(dòng)控制芯片/段式和點(diǎn)陣式LED顯示驅(qū)動(dòng)專家。樣品免費(fèi),大量原裝現(xiàn)貨!歡迎加Q索取產(chǎn)品PDF資料。       VK元泰原廠LED顯示屏驅(qū)動(dòng)主要大量應(yīng)用于以下這些產(chǎn)品簡(jiǎn)介:   1:VCR、VCD、DVD 及家庭影院等產(chǎn)品的顯示屏驅(qū)動(dòng)。 2:電磁爐、微波爐、冰箱、空調(diào) 、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動(dòng)。 3:電子產(chǎn)品LED顯示屏驅(qū)動(dòng),電子秤及小家電產(chǎn)品的顯示屏驅(qū)動(dòng)。 4:機(jī)頂盒、各種家電設(shè)備、智能電表等數(shù)碼管、多段位顯示屏驅(qū)動(dòng) VK1628概述 VK1628 是 1/5~1/8 占空比的 LED 顯示控制驅(qū)動(dòng)電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個(gè)顯示存儲(chǔ)器、控制電路、鍵掃描電路組成了一個(gè)高可靠性的單片機(jī)外圍 LED 驅(qū)動(dòng)電路。串行數(shù)據(jù)通過(guò)4線串行接口輸入到 VK1628采用 SOP28 的封裝形式。 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:70/52 共陰驅(qū)動(dòng):10段7位/13段4位 共陽(yáng)驅(qū)動(dòng):7段10位  按鍵:10x2 封裝SOP28     VK1629A概述   VK1629A 是LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動(dòng)。 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:128 共陰驅(qū)動(dòng):16段8位   共陽(yáng)驅(qū)動(dòng):8段16位   按鍵:---  封裝SOP32   VK1629B概述 VK1629B 是 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、鍵盤(pán)掃描、LED 高壓驅(qū)動(dòng)等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動(dòng)。 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:112 共陰驅(qū)動(dòng):14段8位   共陽(yáng)驅(qū)動(dòng):8段14位   按鍵:8x2  封裝SOP32   VK1629C 概述 VK1629C 是帶鍵盤(pán)掃描接口的 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)、鍵盤(pán)掃描等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動(dòng)。 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:120 共陰驅(qū)動(dòng):15段8位  共陽(yáng)驅(qū)動(dòng):8段15位   按鍵:8x1  封裝SOP32   VK1629D 概述 VK1629D 是 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動(dòng)。 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:96 共陰驅(qū)動(dòng):12段8位  共陽(yáng)驅(qū)動(dòng):8段12位   按鍵:8x4  封裝SOP32 VK1640 概述 VK1640 是一款 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)。本產(chǎn)品采用 CMOS 工藝,主要應(yīng)用于小型 LED 顯示屏驅(qū)動(dòng)。 通訊接口: CLK/DIN    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:128 共陰驅(qū)動(dòng):8段16位  共陽(yáng)驅(qū)動(dòng):16段8位   按鍵:---  封裝SOP28    VK1640B概述 -----  SSOP24 超小封裝體積方便開(kāi)發(fā)設(shè)計(jì),更低成本單價(jià)! VK1640B 是一款 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、 數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)。本產(chǎn)品采用 CMOS 工藝,主要應(yīng)用于小型 LED 顯示屏驅(qū)動(dòng)。 通訊接口: CLK/DIN    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:96 共陰驅(qū)動(dòng):8段12位 共陽(yáng)驅(qū)動(dòng):12段8位【封裝小,價(jià)格低】封裝SSOP24   VK1650概述 VK1650 是一種帶鍵盤(pán)掃描電路接口的 LED 驅(qū)動(dòng)控制專用電路。內(nèi)部集成有 MCU 輸入輸出控制數(shù)字接口、數(shù)據(jù)鎖存器、LED 驅(qū)動(dòng)、鍵盤(pán)掃描、輝度調(diào)節(jié)等電路。本芯片性能穩(wěn)定、質(zhì)量可靠、抗干擾能力強(qiáng),可適應(yīng)于 24 小時(shí)長(zhǎng)期連續(xù)工作的應(yīng)用場(chǎng)合。 通訊接口: SCL/SDA    電源電壓:5V(3.0~5.5V)    驅(qū)動(dòng)點(diǎn)陣:8x16 共陰驅(qū)動(dòng):8段4位   共陽(yáng)驅(qū)動(dòng):4段8位   按鍵:7x4  封裝SOP16/DIP16   VK1651概述 VK1651 是一種帶鍵盤(pán)掃描接口的 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)、鍵盤(pán)掃描等電路。本產(chǎn)品性能優(yōu)良,質(zhì)量可靠。主要應(yīng)用于電磁爐。微波爐及小家電產(chǎn)品的顯示屏驅(qū)動(dòng)。 通訊接口: SCL/SDA    電源電壓:5V(3.0~5.5V)    驅(qū)動(dòng)點(diǎn)陣:8x14 共陰驅(qū)動(dòng):7段4位   共陽(yáng)驅(qū)動(dòng):4段7位   按鍵:7x4  封裝SOP16/DIP16   VK1668概述 VK1668 是 1/5~1/8 占空比的 LED 顯示控制驅(qū)動(dòng)電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個(gè)顯示存儲(chǔ)器、控制電路、鍵掃描電路組成了一個(gè)高可靠性的單片機(jī)外圍 LED 驅(qū)動(dòng)電路。串行數(shù)據(jù)通過(guò)4線串行接口輸入到 VK1668采用 SOP24 的封裝形式。   通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:70/52   共陰驅(qū)動(dòng):10段7位/13段4位 共陽(yáng)驅(qū)動(dòng):7段10位 按鍵:10x2 封裝SOP24   VK6932概述 VK6932 是一款 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動(dòng)。本產(chǎn)品采用 CMOS 工藝,主要應(yīng)用于 LED 顯示屏驅(qū)動(dòng)。 通訊接口:STB/CLK/DIN    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:128 共陰驅(qū)動(dòng):8段16位17.5/140mA  共陽(yáng)驅(qū)動(dòng):16段8位 按鍵:--- 封裝SOP32   VK16K33 概述 --- RAM映射16*8 LED控制器驅(qū)動(dòng)器,帶按鍵控制 VK16K33是一個(gè)內(nèi)存映射和多功能LED控制器驅(qū)動(dòng)程序。最大顯示設(shè)備中的段是128個(gè)模式(16個(gè)SEG 和 8個(gè)COM),矩陣鍵為13*3(最大值)。掃描路。VK16K33的軟件配置特點(diǎn)使其適用于多個(gè)LED應(yīng)用包括LED模塊和顯示子系統(tǒng)。VK16K33與大多數(shù)微控制器兼容,并且通過(guò)雙線雙向I2c總線進(jìn)行通信。 內(nèi)存映射的LED控制器及驅(qū)動(dòng)器 通訊接口:SCL/SDA   電源電壓:5V(4.5V~5.5V)   驅(qū)動(dòng)點(diǎn)陣:128/96/64    共陰驅(qū)動(dòng):16段8位/12段8位/8段8位 共陽(yáng)驅(qū)動(dòng):8段16位/8段12位/8段8位 LCD/LED液晶控制器及驅(qū)動(dòng)器系列 芯片簡(jiǎn)介如下: RAM映射LCD控制器和驅(qū)動(dòng)器系列 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  (高品質(zhì) 高性價(jià)比:液晶顯示驅(qū)動(dòng)IC  原廠直銷 工程技術(shù)支持!) (所有型號(hào)全部封裝均有現(xiàn)貨,歡迎加Q查詢 191 888 5898 許生) 高抗干擾LCD液晶控制器及驅(qū)動(dòng)系列 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液晶控制器及驅(qū)動(dòng)系列 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液晶控制器及驅(qū)動(dòng)系列 VKS118   2.4~5.2V  118seg*2com           偏置電壓 --       4線通訊接口   LQFP-128 VKS232   2.4~5.2V  116seg*2com           偏置電壓1/1 1/2   4線通訊接口   LQFP-128             內(nèi)存映射的LED控制器及驅(qū)動(dòng)器 VK1628 --- 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:70/52   共陰驅(qū)動(dòng):10段7位/13段4位  共陽(yáng)驅(qū)動(dòng):7段10位   按鍵:10x2  封裝SOP28 VK1629 --- 通訊接口:STB/CLK/DIN/DOUT    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:128 共陰驅(qū)動(dòng):16段8位   共陽(yáng)驅(qū)動(dòng):8段16位   按鍵:8x4  封裝QFP44 VK1629A --- 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:128 共陰驅(qū)動(dòng):16段8位   共陽(yáng)驅(qū)動(dòng):8段16位   按鍵:---  封裝SOP32 VK1629B --- 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:112   共陰驅(qū)動(dòng):14段8位   共陽(yáng)驅(qū)動(dòng):8段14位   按鍵:8x2  封裝SOP32 VK1629C --- 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:120   共陰驅(qū)動(dòng):15段8位  共陽(yáng)驅(qū)動(dòng):8段15位   按鍵:8x1  封裝SOP32 VK1629D --- 通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:96   共陰驅(qū)動(dòng):12段8位  共陽(yáng)驅(qū)動(dòng):8段12位   按鍵:8x4  封裝SOP32 VK1640 --- 通訊接口: CLK/DIN    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:128 共陰驅(qū)動(dòng):8段16位  共陽(yáng)驅(qū)動(dòng):16段8位   按鍵:---  封裝SOP28 VK1650 --- 通訊接口: SCL/SDA    電源電壓:5V(3.0~5.5V)    驅(qū)動(dòng)點(diǎn)陣:8x16 共陰驅(qū)動(dòng):8段4位   共陽(yáng)驅(qū)動(dòng):4段8位   按鍵:7x4  封裝SOP16/DIP16 VK1668 ---通訊接口:STB/CLK/DIO    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:70/52 共陰驅(qū)動(dòng):10段7位/13段4位  共陽(yáng)驅(qū)動(dòng):7段10位   按鍵:10x2  封裝SOP24 VK6932 --- 通訊接口:STB/CLK/DIN    電源電壓:5V(4.5~5.5V)    驅(qū)動(dòng)點(diǎn)陣:128 共陰驅(qū)動(dòng):8段16位17.5/140mA  共陽(yáng)驅(qū)動(dòng):16段8位   按鍵:---  封裝SOP32 VK16K33 --- 通訊接口:SCL/SDA   電源電壓:5V(4.5V~5.5V)   驅(qū)動(dòng)點(diǎn)陣:128/96/64    共陰驅(qū)動(dòng):16段8位/12段8位/8段8位   共陽(yáng)驅(qū)動(dòng):8段16位/8段12位/8段8位 按鍵:13x3 10x3 8x3  封裝SOP20/SOP24/SOP28 (所有型號(hào)全部封裝均有現(xiàn)貨,歡迎加Q查詢 191 888 5898 許生)   以上介紹內(nèi)容為IC參數(shù)簡(jiǎn)介,難免有錯(cuò)漏,且相關(guān)IC型號(hào)眾多,未能一一收錄。歡迎聯(lián)系索取完整資料及樣品! 請(qǐng)加許先生 QQ:191 888 5898聯(lián)系!謝謝     生意無(wú)論大小,做人首重誠(chéng)信!本公司全體員工將既往開(kāi)來(lái),再接再厲。爭(zhēng)取為各位帶來(lái)更專業(yè)的技術(shù)支持,更優(yōu)質(zhì)的銷售服務(wù),更高性價(jià)比的好產(chǎn)品.竭誠(chéng)希望能與各位客戶朋友深入溝通,攜手共進(jìn),共同成長(zhǎng),合作共贏!謝謝。  

    標(biāo)簽: 1629 LED TM VK 數(shù)顯 兼容 驅(qū)動(dòng)芯片

    上傳時(shí)間: 2019-07-03

    上傳用戶:shubashushi66

主站蜘蛛池模板: 南充市| 五常市| 泊头市| 黄山市| 栖霞市| 砀山县| 家居| 清水县| 莱州市| 永清县| 濮阳市| 循化| 民县| 雷山县| 郁南县| 罗江县| 鹿泉市| 纳雍县| 平利县| 柯坪县| 柞水县| 郴州市| 潜江市| 兴化市| 谢通门县| 沙坪坝区| 温州市| 祁连县| 宁津县| 达拉特旗| 贵州省| 文成县| 会同县| 牟定县| 灵寿县| 成安县| 河北省| 舒兰市| 和静县| 宁陵县| 林西县|