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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uart_samplesession.c

?? NEC 單片機程序,和PC通信的例子,正在使用NEC單片機開發的工程師肯定有很大的幫助.
?? C
字號:
/******************************************************************************

  This program is a sample for 78K0S/KA1+ 8-bit Single-Chip Microcontrollers.

  Copyright(C) NEC Electronics Corporation 2004, 2005
  All rights reserved by NEC Electronics Corporation.

  This program should be used on your own responsibility.
  NEC Electronics Corporation assumes no responsibility for any losses
  incurred by customers or third parties arising from the use of this file.

  Filename :  uart_samplesession.c
  Device :    uPD78F9222
  Compiler :  NEC/CC78K0

  Description:  This sample program simulates a voltage meter with serial
                communication channel. The sample program does a cyclic
                measurement of the input voltage of AD converter channel 0,
                port P20/ANI0, and transfers the measured result via UART6
                to a terminal program running at the host machine. The data
                transfer speed is set to 115200 bps per default. The input
                voltage can be changed by potentiometer R24.

*******************************************************************************/

#pragma sfr
#pragma di
#pragma ei
#pragma interrupt INTTM80 vect_INTTM80
#pragma interrupt INTAD vect_INTAD

/*-----------------------------------------------------------------------------
   Include files
------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
   Definition of Option Byte
------------------------------------------------------------------------------*/
#pragma section @@CNST OPT AT 80H
const char OPTION = 0x9A;
                     /* Shortest stabilisation time 2^10/fx */
                     /* RESET pin is used as is External clock input */
                     /* shortest stabilisation time 2^10/fx */
                     /* Ring osc can be stopped */

/*-----------------------------------------------------------------------------
   Global Defines
------------------------------------------------------------------------------*/

/****************************  chose baudrate   *******************************/
#if 0
#define BAUDRATE 9600
#define BAUDRATE 38400
#else
#define BAUDRATE 115200
#endif

/*-----------------------------------------------------------------------------*/
#define LED1   P2.3    	    /* LED D1 */
#define LED2   P13.0        /* LED D2 */
#define LED3   P4.5         /* LED D3 */
#define LED4   P12.3        /* LED D4 */

/*-----------------------------------------------------------------------------
   Global variables
------------------------------------------------------------------------------*/
unsigned char result_out;
unsigned char result10;
unsigned char result1;
unsigned char result01;

/*-----------------------------------------------------------------------------
   Function prototyps
------------------------------------------------------------------------------*/
void drive_LED(unsigned char value);

/*-----------------------------------------------------------------------------
   Module:   init_CPU
   Function: Initialization of CPU
------------------------------------------------------------------------------*/
void init_CPU (void)
{
    WDTM = 0x70;        /* stop watchdog timer */

  /* time gererator settings */
    PCC = 0x00;         /* set CPU time to fx */
    PPCC = 0x00;

    LSRCM = 0x01;       /* low speed ring oscillator stops */

    OSTS  = 0x00;       /* shortest stabilisation time 2^10/fx */

  /* interrupt setting */
    IF0  = 0x00;
    IF1  = 0x00;
    MK0  = 0xFF;
    MK1  = 0xFF;
}

/*-----------------------------------------------------------------------------
   Module:   init_LED
   Function: Initialization of LED ports
------------------------------------------------------------------------------*/
void init_LED (void)
{
    PMC2.3=0;           /* set port mode control of P23 to port mode */
    PM2.3=0;            /* set port P23 to output mode -> LED1 */
    PM4.5=0;            /* set port P45 to output mode -> LED3 */
    PM12.3=0;           /* set port P123 to output mode -> LED4 */

    LED1=0;     	    /* drive LED1 */
    LED2=0;             /* drive LED2 */
    LED3=0;             /* drive LED3 */
    LED4=0;             /* drive LED4 */

    LED1=1;             /* switch LED1 off */
    LED2=1;             /* switch LED2 off */
    LED3=1;             /* switch LED3 off */
    LED4=1;             /* switch LED4 off */
}

/*-----------------------------------------------------------------------------
   Module:   init_ADC
   Function: Initialization of AD converter
------------------------------------------------------------------------------*/
void init_ADC (void)
{
    PMC2.0=1;           /* set alternate function mode */
    PM2.0=1;            /* set port to input mode */

    ADIF = 0;           /* clear interrupt request flag */
    ADMK = 0;           /* enable ADC interrupt */
}

/*-----------------------------------------------------------------------------
   Module:   init_UART
   Function: Initialization of UART6
------------------------------------------------------------------------------*/
void init_UART(void)
{
    PM4.4=1;                /* input mode for RxD */
    PM4.3=0;                /* output mode for TxD */
    P4.3=1;                 /* set TxD output to high level */

#if BAUDRATE==9600          /* initialization for baudrate = 9600 */
    CKSR6 = 0x02;
    BRGC6 = 104;
#elif BAUDRATE==38400       /* initialization for baudrate = 38400 */
    CKSR6 = 0x00;
    BRGC6 = 104;
#elif BAUDRATE==115200      /* initialization for baudrate = 115200 */
    CKSR6 = 0x00;
    BRGC6 = 35;
#endif

    POWER6 = 1;             /* enable internal clock operation */

    ASIM6 |= 0xE5;          /* enable transmission */
                            /* enable reception */
                            /* no parity */
                            /* character lenght of data = 8-bits */
                            /* number of stop bits = 1 */
}

/*-----------------------------------------------------------------------------
   Module:   init_TM80
   Function: Initialization of Timer80
------------------------------------------------------------------------------*/
void init_TM80(unsigned char interval)
{
    TCE80 = 0;              /* stop timer80 */
    TMC80 = 0x06;           /* set input clock to fxp / 2^10 7.81Khz @ 8MHz */
    CR80  = interval;       /* set interval time */
    TCE80 = 1;              /* start timer80 */
    TMIF80 = 0;             /* clear interrupt request flag */
    TMMK80=0;               /* enable timer80 interrupt */
}

/*-----------------------------------------------------------------------------
   Module:   UART_SendChar
   Function: Send char via UART6
------------------------------------------------------------------------------*/
void UART_SendChar (unsigned char ucData)
{
    TXB6 = ucData;          /* load UART transmit buffer */
    while(!STIF6);          /* wait for transmission finished */
    STIF6=0;
}

/*-----------------------------------------------------------------------------
   Module:   UART_GetChar
   Function: Get char from UART6
------------------------------------------------------------------------------*/
unsigned char UART_GetChar(void)
{
    unsigned char receive_byte;
    while(!SRIF6);               /* wait for uart receive byte */
    receive_byte = RXB6;         /* load UART receive buffer */
    SRIF6=0;
    return (receive_byte);
}

/*-----------------------------------------------------------------------------
   Module:   UART_SendString
   Function: Send string via UART6
------------------------------------------------------------------------------*/
void UART_SendString (char *ucpStr)
{
    unsigned char ucData;
    while (1)
    {
       	ucData = (unsigned char)(*ucpStr++);
        if(ucData){
		    UART_SendChar (ucData);
		}
        else{
            break;
        }
    }
}

/*-----------------------------------------------------------------------------
   Module:   UART_SendResult
   Function: Send measured result via UART6
------------------------------------------------------------------------------*/
void UART_SendResult(void)
{
    UART_SendString("Voltage = ");
    UART_SendChar(result10+0x30);
    UART_SendString(".");
    UART_SendChar(result1+0x30);
    UART_SendChar(result01+0x30);
    UART_SendString(" V\r");
    drive_LED(result10);
    result_out = 0;
}

/*-----------------------------------------------------------------------------
   Module:   wait
   Function: generates a wait loop
------------------------------------------------------------------------------*/
__callt void wait(void)
{
    char a=0;
    while(a!=0xff)
    {
        a++;
    }
}

/*-----------------------------------------------------------------------------
   Module:   main
   Function: main program
------------------------------------------------------------------------------*/
void main(void)
{
    DI();               /* global interrupt disable */

    init_CPU();         /* cpu initialization */
    init_LED();         /* led port initialization */
    init_UART();        /* uart60 initialization */

    UART_SendString("***************************************\n\r");
    UART_SendString("*                                     *\n\r");
    UART_SendString("*         K_Line    78K0S/KA1+        *\n\r");
    UART_SendString("*                                     *\n\r");
    UART_SendString("*         Low Pin Count - Do it!      *\n\r");
    UART_SendString("*                                     *\n\r");
    UART_SendString("***************************************\n\n\r");
    UART_SendString("Press a key to start voltage measuring!\n\n\r");

    UART_GetChar();     /* wait for uart receive byte */

    UART_SendString("***************************************\n\n\r");

    init_ADC();         /* adc initialization */
    init_TM80(60);      /* initialization of timer80 */

    EI();               /* global interrupt enable */

    while(1)
    {
        wait();
        if (result_out) UART_SendResult();
    }
}

/*-----------------------------------------------------------------------------
   ISR: 	 vect_INTTM80
   Function: Interrupt service routine of Timer80
------------------------------------------------------------------------------*/
__interrupt void vect_INTTM80(void)
{
    ADCE = 1;           /* enable voltage generator */
    ADS  = 0x00;        /* AD channel select */
    ADCS = 1;           /* start conversion */
}

/*-----------------------------------------------------------------------------
   ISR: 	 vect_INTAD
   Function: Interrupt service routine of ASD converter
------------------------------------------------------------------------------*/
__interrupt void vect_INTAD(void)
{
    unsigned short result;
    unsigned char temp;

    result = ADCRH;     /* load AD conversion result */
    ADCS = 0;           /* stop AD converter */
    ADCE = 0;           /* disable voltage generator */

    result=result<<1;            /* convert AD result for */
    result10 = result/100;       /* decimal output */
    result1  = result%100;
    temp = result1;
    result1  = result1/10;
    result01   = temp % 10;
    result_out = 1;
}

/*-----------------------------------------------------------------------------
   Module:   drive_LED
   Function: Output of 4-bit value to LED port
------------------------------------------------------------------------------*/
void drive_LED(unsigned char value)
{
    LED1 =~(value>>3);
    LED2 =~(value>>2);
    LED3 =~(value>>1);
    LED4 =~(value);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产a级| 精品福利一二区| 精品少妇一区二区三区在线视频| 亚洲成a天堂v人片| 欧美成人福利视频| 粉嫩13p一区二区三区| 最新中文字幕一区二区三区 | www.久久精品| 亚洲精品乱码久久久久| 欧美日韩免费观看一区二区三区| 亚洲福利国产精品| 久久蜜桃香蕉精品一区二区三区| 国产福利电影一区二区三区| 国产精品二区一区二区aⅴ污介绍| 日本久久一区二区三区| 午夜视黄欧洲亚洲| 国产清纯美女被跳蛋高潮一区二区久久w | 成人免费高清在线| 亚洲激情校园春色| 日韩三级免费观看| 99精品视频在线播放观看| 亚洲一区二区三区四区的| 日韩亚洲欧美在线| 91在线丨porny丨国产| 五月综合激情日本mⅴ| 国产偷国产偷亚洲高清人白洁| 91亚洲国产成人精品一区二三| 亚洲一区二区高清| 久久一夜天堂av一区二区三区| 97超碰欧美中文字幕| 青青草97国产精品免费观看 | 久久久精品国产免费观看同学| 97国产一区二区| 九九热在线视频观看这里只有精品| 国产精品超碰97尤物18| 欧美一区二区三区日韩| 国产成人自拍高清视频在线免费播放| 久久蜜桃av一区二区天堂| 亚洲欧美二区三区| 一区二区三区在线观看动漫| 欧美一二三四区在线| 99精品1区2区| 国产精品综合视频| 午夜亚洲福利老司机| 国产精品的网站| 精品国产制服丝袜高跟| 欧美亚洲动漫另类| 99re成人在线| 国产精品一区免费在线观看| 偷拍亚洲欧洲综合| 亚洲综合图片区| 成人免费一区二区三区视频| 精品免费99久久| 在线电影院国产精品| 色婷婷久久久亚洲一区二区三区| 国产精品影视天天线| 美女性感视频久久| 日韩成人免费电影| 亚洲一区二区三区在线播放| 日韩一区在线看| 亚洲精品乱码久久久久久黑人 | 亚洲成人动漫在线免费观看| 国产精品美女久久久久久久久久久| 欧美成人精品高清在线播放| 欧美日韩激情一区二区| 色系网站成人免费| 91香蕉视频mp4| 成人激情校园春色| 成人动漫一区二区在线| 粉嫩蜜臀av国产精品网站| 国产美女视频91| 极品少妇xxxx偷拍精品少妇| 经典三级视频一区| 精品一二三四区| 国产真实乱对白精彩久久| 另类调教123区| 久久av中文字幕片| 国内外成人在线| 精品一区二区影视| 国产激情一区二区三区| 国产毛片一区二区| 丰满白嫩尤物一区二区| 99久久精品国产精品久久| 9i在线看片成人免费| 92国产精品观看| 欧美性一级生活| 欧美日韩国产一区二区三区地区| 欧美日韩一二三区| 欧美一级专区免费大片| 精品国产一区二区三区久久影院| 精品国产免费久久| 国产午夜三级一区二区三| 国产精品久久久久久久久晋中| 国产精品国产三级国产普通话蜜臀 | 丰满少妇久久久久久久| gogo大胆日本视频一区| 欧美羞羞免费网站| 欧美电影免费观看高清完整版在线观看 | 久久99精品久久久久久动态图| 韩国av一区二区三区在线观看| 国产一区二区三区蝌蚪| eeuss鲁一区二区三区| 欧美三级在线看| 26uuu另类欧美| 亚洲欧美视频在线观看| 日韩成人伦理电影在线观看| 国产精品一区一区| 欧美午夜精品久久久久久孕妇| 欧美一区二区三区在线观看| 久久精品欧美日韩| 一级女性全黄久久生活片免费| 日韩高清不卡在线| 成人午夜电影网站| 欧美日韩国产综合草草| 国产清纯白嫩初高生在线观看91 | 美国欧美日韩国产在线播放| 国产激情视频一区二区在线观看| 91黄色小视频| 久久人人97超碰com| 一区二区欧美国产| 国产一区二区三区最好精华液| 99久久久久免费精品国产| 51精品秘密在线观看| 国产精品成人网| 激情图片小说一区| 在线免费视频一区二区| 国产亚洲1区2区3区| 日韩电影一区二区三区| 99久久综合狠狠综合久久| 日韩欧美一区二区不卡| 夜色激情一区二区| 成人免费va视频| 精品国产1区二区| 午夜电影一区二区三区| 99久久精品久久久久久清纯| 欧美精品一区二区久久久| 亚洲成人动漫在线免费观看| 成人午夜电影久久影院| 欧美mv和日韩mv国产网站| 香蕉乱码成人久久天堂爱免费| 岛国精品在线播放| xfplay精品久久| 日本不卡免费在线视频| 欧美日韩国产天堂| 亚洲视频 欧洲视频| 丁香啪啪综合成人亚洲小说| 精品日韩av一区二区| 日精品一区二区| 欧美网站一区二区| 一区二区三区在线免费播放| 成人免费视频视频在线观看免费| 日韩视频国产视频| 男人的j进女人的j一区| 欧美日韩国产另类一区| 亚洲人成精品久久久久| 波多野结衣亚洲一区| 国产清纯在线一区二区www| 国产精品一区二区三区网站| 日韩午夜在线播放| 亚洲成人激情自拍| 欧洲亚洲国产日韩| 亚洲va欧美va国产va天堂影院| 色综合天天综合| 中文字幕亚洲区| 色综合咪咪久久| 亚洲激情图片小说视频| 91搞黄在线观看| 亚洲一区中文日韩| 欧美美女一区二区三区| 婷婷开心激情综合| 91精品麻豆日日躁夜夜躁| 日本欧美加勒比视频| 欧美一级二级三级乱码| 国产制服丝袜一区| 中文av一区二区| 91色视频在线| 亚洲国产一区视频| 欧美一区二区三区免费| 久久国产精品免费| 国产亚洲综合在线| 成人高清伦理免费影院在线观看| 国产精品欧美一级免费| 91美女片黄在线观看91美女| 亚洲黄色片在线观看| 欧美午夜电影一区| 亚洲成av人片一区二区| 欧美三级午夜理伦三级中视频| 青青草精品视频| 欧美本精品男人aⅴ天堂| 日本欧美韩国一区三区| 国产亚洲综合色| 成人在线综合网站| 中文字幕一区在线观看| 91色九色蝌蚪| 亚洲综合一区在线| 欧美日韩高清在线播放| 蜜臀av国产精品久久久久 | 99re这里只有精品首页| 亚洲精品免费在线播放| 日本高清无吗v一区|