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

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

?? 16c554.c

?? 16c654.cIAR2.31下調試通過
?? C
?? 第 1 頁 / 共 3 頁
字號:
#include  <msp430x14x.h>
#include  <math.h>

#define  LSB          0x00           //除數鎖存器低位
#define  MSB          0x04           //除數鎖存器高位

#define  RHR          0x00           //16C554寄存器選擇,P1.2-p1.4與A0-A2相連
#define  THR          0x00
#define  IER          0x04
#define  EFR          0x08
#define  FCR          0x08
#define  ISR          0x08
#define  LCR          0x0c
#define  MCR          0x10
#define  LSR          0x14
#define  MSR          0x18

#define  WRITE_EN     0x02            //寫信號選擇,p1.1
#define  READ_EN      0x01            //讀信號選擇,p1.0

#define  CSA          0x0e0           //A口的片選信號,p1.5-p1.7
#define  CSB          0x0c0           //B口的片選信號
#define  CSC          0x0a0
#define  CSD          0x80

#define    num1 20
#define    num2 18
#define    num3 12
#define    num4 3
#define    num5 3
#define    num6 5

unsigned char M_com_initf[num1]  = {'a','t','b','0','e','0','q','1','p','s','0','=','1','&','y','1','&','w','1',13};    //q1狀態碼不送回終端機,&y1自動載入預存第1組參數值,&w1將現行參數存入第1組存儲器,s0=1表示自動接聽,最后一個是回車,modem的初始化命令

unsigned char M_com_retry[num4]  = {'a','/',13};                           //重撥命令
unsigned char M_com_escape[num5] = {'+','+','+'};                          //數據模式跳到指令模式
unsigned char M_com_end[num6]    = {'a','t','h','0',13};                   //掛機命令

#define con_port        P1OUT                //16c554的控制端口
#define con_port_dir    P1DIR                //控制端口的方向選擇
#define data_out_port   P4OUT                //數據端口輸出
#define data_in_port    P4IN                 //數據端口輸入
#define data_port_dir   P4DIR                //數據端口的方向選擇

#define con_leisure     0x0e3                //p1口為16c554控制信號,讀寫信號禁止(0:1),A0-A2為000(2:3:4),片選為一個無用的端口(5:6:7)
#define interrupt_edge  P2IES                // Port 2 Interrupt Edge Select 
#define interrupt_en    P2IE                 // Port 2 Interrupt Enable 
#define interrupt_flag  P2IFG                //中斷標志

#define st16c554_mhz    1.8432               //16c554外接的晶振頻率,單位(MHZ)
#define dl_554          (st16c554_mhz*1000000/16)                 //分頻系數計算的中間常量

#define  data_maxa        23                                      //一個數據包的最大字節數
#define  buf_len_554     1*data_maxa                             //數組的長度,3表示可以存3個數據包
unsigned char Rx_flag_554[4];                                     //Rx_flag_554表示接收到的數據包的個數
unsigned char Rx_out_554[4];                                      //緩沖數組的讀數據指針

extern unsigned char PSTN_num[16];
extern unsigned char rxdata[6][25];
extern unsigned char port554_r;
void low_power(void);
//extern void command_oper(unsigned char uartn);
//extern void digit_sensor(unsigned char uartn);

//A口
unsigned char Rx_in_554a;                                         //接收緩沖數組的存數據指針
unsigned char Rx_full_554a;                                       //接收數據滿
unsigned char Rx_554a_start;                                      //Rx_554a_start表示開始接收有效的數據,
unsigned char data_num_554a;                                      //接收到的數據的字節數
unsigned char checksuma;                                          //校驗和
unsigned char rx_temp1_554a,rx_temp2_554a;                        //接收數據的臨時存儲單元

//B口
#define  data_maxb        23
unsigned char Rx_in_554b;
unsigned char Rx_full_554b;                                       //接收數據滿
unsigned char Rx_554b_start;
unsigned char data_num_554b;
unsigned char checksumb;                                          //校驗和
unsigned char rx_temp1_554b,rx_temp2_554b;

//C口
#define  data_maxc        23
unsigned char Rx_in_554c;
unsigned char Rx_full_554c;
unsigned char Rx_554c_start;
unsigned char data_num_554c;
unsigned char checksumc;                                          //校驗和
unsigned char rx_temp1_554c,rx_temp2_554c,rx_temp3_554c;

//D口       ,連接7字節協議數字傳感器
#define  data_maxd        7
unsigned char Rx_in_554d;
unsigned char Rx_full_554d;
unsigned char Rx_554d_start;
unsigned char data_num_554d;
unsigned char checksumd;                                          //校驗和
unsigned char rx_temp1_554d,rx_temp2_554d;

unsigned char DCD_flag,CTS_flag;                                  //C口的載波信號和清除發送信號的標志





/****************************************************
*
*    名稱:delayus()
*    功能:延時時間= (5*i+5)*指令周期(us)
*    入口參數:i 為循環次數
*
****************************************************/

void delayus(unsigned int i)
{
    while(--i);
}

/****************************************************
*
*    名稱:delayms()
*    功能:延時時間= i(ms)
*    入口參數:i 為循環次數
*
****************************************************/

void delayms(unsigned int i)
{
    while(--i)
    {
        delayus(200);
    }
}

void delays(unsigned int i)
{
    while(--i)
    {
        delayms(1000);
    }
}

/****************************************************
*
*    名稱:init_16c554a()
*    功能:對16c554的a口初始化
*    入口參數:select_554IO是16C554的端口選擇:0-A口,1-B口,3-D口;bps是波特率
*    出口:無
*
****************************************************/

void init_16c554port(unsigned char select_554IO,unsigned int bps)
{
    unsigned int divisor;            //分頻系數
    unsigned char CS;                //片選信號
    if(select_554IO == 0)            //判斷是選擇哪個口,然后把該口的片選信號給CS
        CS = CSA;
    else if(select_554IO == 1)
             CS = CSB;
         else if(select_554IO == 3)
                  CS = CSD;
              else return;
    divisor = dl_554/bps;
    con_port_dir = 0x0ff;            //16c554控制信號為輸出
    con_port = con_leisure;          //讀寫信號禁止,A0-A2為000,片選為一個無用的端口
    data_port_dir = 0x0ff;           //16c554數據信號為輸出
    
    con_port |= LCR;                 //選中16c554的LCR寄存器
    con_port &= ~CS;                 //片選端口
    con_port ^= WRITE_EN;            //選中寄存器的寫
    data_out_port = 0x83;            //使能波特率設置
    con_port = con_leisure;
    
    con_port |= LSB;                 //選中16C554波特率設置寄存器的低位
    con_port &= ~CS;
    con_port ^= WRITE_EN;            //選中寄存器的寫
    data_out_port = divisor%256;     //設置通訊波特率為9600
    con_port = con_leisure;
    
    con_port |= MSB;                 //選中16C554波特率設置寄存器的高位
    con_port &= ~CS;
    con_port ^= WRITE_EN;            //選中寄存器的寫
    data_out_port = divisor/256;
    con_port = con_leisure;
    
    con_port |= FCR;                 //FCR寄存器
    con_port &= ~CS;
    con_port ^= WRITE_EN;            //選中寄存器的寫
    data_out_port = 0x06;            //FIFO模式
    con_port = con_leisure;
    
    con_port |= LCR;                 //LCR
    con_port &= ~CS;
    con_port ^= WRITE_EN;             
    data_out_port = 0x03;            //8 bit_data, 1 bit_stop, no parity
    con_port = con_leisure;
    
    con_port |= IER;
    con_port &= ~CS;
    con_port ^= WRITE_EN;            //IER
    data_out_port = 0x11;            //接收中斷   ,IER-bit4=1,sllep
    con_port = con_leisure;
    
    con_port |= MCR;                 //MCR
    con_port &= ~CS;
    con_port ^= WRITE_EN;
    data_out_port = 0x08;            //禁止回寫模式
    con_port = con_leisure;
    low_power();
}

/****************************************************
*
*    名稱:init_16c554c()
*    功能:對16c554的c口初始化
*    入口參數:bps 波特率
*    出口:無
*
****************************************************/

void init_16c554c(unsigned int bps)
{
    unsigned int divisor;            //分頻系數
    divisor = dl_554/bps;
    
    con_port_dir = 0x0ff;            //16c554控制信號為輸出
    con_port = con_leisure;          //讀寫信號禁止,A0-A2為000,片選為一個無用的斷口
    data_port_dir = 0x0ff;           //16c554數據信號為輸出
    
    con_port |= LCR;                //選中16c554的LCR寄存器
    con_port &= ~CSC;               //片選中C口
    con_port ^= WRITE_EN;           //選中寄存器的寫
    data_out_port = 0x83;           //使能波特率設置
    con_port = con_leisure;
    
    con_port |= LSB;                //選中16C554波特率設置寄存器的低位
    con_port &= ~CSC;               //片選C口
    con_port ^= WRITE_EN;           //選中寄存器的寫
    data_out_port = divisor%256;    //設置通訊波特率
    con_port = con_leisure;
    
    con_port |= MSB;               //選中16C554波特率設置寄存器的高位
    con_port &= ~CSC;              //片選C口
    con_port ^= WRITE_EN;          //選中寄存器的寫
    data_out_port = divisor/256;
    con_port = con_leisure;
    
    con_port |= FCR;               //FCR寄存器
    con_port &= ~CSC;              //片選C口
    con_port ^= WRITE_EN;          //選中寄存器的寫
    data_out_port = 0x06;          //FIFO模式
    con_port = con_leisure;
    
    con_port |= LCR;               //LCR
    con_port &= ~CSC;
    con_port ^= WRITE_EN;             
    data_out_port = 0x03;          //8 bit_data, 1 bit_stop, no parity
    con_port = con_leisure;
    
    con_port |= IER;
    con_port &= ~CSC;
    con_port ^= WRITE_EN;          //IER
    data_out_port = 0x19;          // modem中斷和接收中斷,, ,IER-bit4--sleep
    con_port = con_leisure;
    
    con_port |= MCR;               //MCR
    con_port &= ~CSC;
    con_port ^= WRITE_EN;
    data_out_port = 0x0b;          //DTR~ = 0, RTS~ = 0
    con_port = con_leisure;
    low_power();
}

/************************************************************
*
* 名稱:     send_data_554
* 功能:     發送多個字節
* 調用:     none
* 輸入:     Txdata[] 為要發送的數組;data_len為發送的字節數;
*           select_IO為端口選擇:0~3對應A口~D口
* 返回值:   none
*
************************************************************/

void send_data_554(unsigned char Txdata[],unsigned char data_len,unsigned char select_IO)
{
    unsigned char i,j;
    
    data_port_dir = 0x0ff;                      //數據信號為輸出
    con_port |= THR;                            //選中發送寄存器
    
    if(select_IO == 0 )                         //判斷選中的端口
        con_port &= ~CSA;                       //選中A口
    else if(select_IO == 1)
             con_port &= ~CSB;
         else if(select_IO == 2)
                  con_port &=~CSC;
              else if(select_IO == 3)
                       con_port &= ~CSD;
                   else return;

    for(i = 0; i < data_len; i++)
    {
        con_port ^= WRITE_EN;                   //寫操作使能
        data_out_port = Txdata[i];              //發送數據
        con_port |= WRITE_EN;                   //關閉寫功能
        for(j = 0; j < 110; j++);               //發送數據延時
    }
    
    con_port = con_leisure;                     //控制端口設置為空閑
}

void send_data_554byte(unsigned char Txdat,unsigned char select_IO)
{
    unsigned char j;
    
    data_port_dir = 0x0ff;                      //數據信號為輸出
    con_port |= THR;                            //選中發送寄存器
    
    if(select_IO == 0 )                         //判斷選中的端口
        con_port &= ~CSA;                       //選中A口
    else if(select_IO == 1)
             con_port &= ~CSB;
         else if(select_IO == 2)
                  con_port &=~CSC;
              else if(select_IO == 3)
                       con_port &= ~CSD;
                   else return;


        con_port ^= WRITE_EN;                   //寫操作使能
        data_out_port = Txdat;              //發送數據

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产精品劲爆| 亚洲成年人影院| 欧美日本韩国一区二区三区视频| 麻豆高清免费国产一区| 亚洲精品乱码久久久久久日本蜜臀| 欧美久久一二三四区| 欧美日韩不卡在线| 日本道在线观看一区二区| 国产精华液一区二区三区| 日本美女一区二区| 亚洲综合无码一区二区| 亚洲欧美一区二区在线观看| 精品国产a毛片| 欧美精品在线一区二区| 92精品国产成人观看免费| 国产精品亚洲人在线观看| 玖玖九九国产精品| 图片区小说区区亚洲影院| 一区二区三区蜜桃网| 中文子幕无线码一区tr| 久久精品亚洲乱码伦伦中文| 日韩欧美国产精品| 欧美一区二区久久久| 欧美专区日韩专区| 在线免费观看不卡av| 99久久精品国产导航| 成人av午夜影院| 国产精品18久久久久久久久久久久| 免费一级欧美片在线观看| 亚洲成人免费在线观看| 一二三四社区欧美黄| 亚洲欧洲精品一区二区三区不卡| 中文字幕av不卡| 欧美国产丝袜视频| 国产精品视频一区二区三区不卡| 久久久久久久久久久久久久久99| 日韩精品影音先锋| 久久综合中文字幕| 久久亚洲精精品中文字幕早川悠里| 日韩欧美一区二区三区在线| 欧美一区二区三区日韩视频| 日韩一区二区三区免费看 | 国产欧美日韩激情| 久久新电视剧免费观看| 久久久午夜电影| 国产欧美一区二区精品婷婷| 国产农村妇女毛片精品久久麻豆 | 欧美午夜精品久久久久久超碰| 成人黄色电影在线| 色综合网站在线| 欧美三区在线视频| 91精品国产综合久久香蕉的特点| 91精品国产一区二区| 精品久久久久久久久久久久久久久| 久久久国产精品不卡| 日本一区二区动态图| 亚洲日本在线观看| 亚洲国产一区视频| 久久91精品久久久久久秒播| 国产成人免费视频网站| 色综合久久久久综合体| 欧美高清性hdvideosex| 久久综合色之久久综合| 国产精品第13页| 亚洲成av人影院| 国产最新精品免费| 91色.com| 欧美一卡二卡在线| 欧美国产在线观看| 亚洲一区二区高清| 国产自产2019最新不卡| 色综合亚洲欧洲| 欧美成人在线直播| 综合久久久久综合| 奇米色一区二区| 99精品欧美一区二区三区小说| 欧美伊人精品成人久久综合97| 日韩免费电影一区| 亚洲欧美一区二区三区极速播放| 日本三级亚洲精品| 99精品视频一区二区| 日韩免费观看高清完整版| 中文字幕一区不卡| 老司机精品视频导航| av一区二区不卡| 日韩欧美国产综合| 亚洲精品视频免费看| 国产一区激情在线| 欧美三级日韩三级国产三级| 国产亚洲污的网站| 日韩在线一区二区| 不卡的av在线播放| 精品日韩一区二区| 亚洲高清不卡在线| 91丨九色丨蝌蚪富婆spa| 精品国产免费人成电影在线观看四季| 一色屋精品亚洲香蕉网站| 免费观看一级欧美片| 色婷婷久久综合| 欧美韩日一区二区三区四区| 男人的天堂久久精品| 91久久精品一区二区二区| 国产色一区二区| 视频一区欧美日韩| 色噜噜狠狠色综合欧洲selulu| 久久久久国产成人精品亚洲午夜| 日韩在线播放一区二区| 欧美在线一二三| 最新热久久免费视频| 国产传媒久久文化传媒| 91精品国产综合久久精品app| 亚洲欧美日韩国产手机在线| 国产精品一区在线观看乱码| 日韩欧美国产午夜精品| 亚欧色一区w666天堂| 色狠狠色狠狠综合| 综合网在线视频| 不卡区在线中文字幕| 国产欧美一区二区精品婷婷| 狠狠色丁香久久婷婷综合_中 | 欧美福利电影网| 亚洲图片自拍偷拍| 色呦呦国产精品| 亚洲欧美日韩电影| 91视频xxxx| 亚洲免费在线电影| 91亚洲男人天堂| 亚洲女与黑人做爰| 色女孩综合影院| 亚洲伦理在线免费看| 色国产精品一区在线观看| 亚洲激情网站免费观看| 色综合久久88色综合天天6| 自拍偷自拍亚洲精品播放| 91视视频在线观看入口直接观看www | 日本高清不卡视频| 亚洲人成人一区二区在线观看| 91麻豆国产在线观看| 亚洲欧洲综合另类在线| 在线看日本不卡| 亚洲成人综合视频| 欧美日韩免费一区二区三区| 五月天视频一区| 日韩欧美一区在线| 国产精品亚洲成人| 国产精品国产自产拍高清av王其 | 精品久久久久久久人人人人传媒| 久久精品国产**网站演员| 日韩精品一区二区三区中文不卡 | 在线观看亚洲a| 亚洲大片在线观看| 日韩欧美一级在线播放| 精品一区二区免费在线观看| 久久精品人人做| 99亚偷拍自图区亚洲| 亚洲一区在线观看视频| 欧美一区二区高清| 国产成人99久久亚洲综合精品| 中文字幕中文在线不卡住| 在线观看成人免费视频| 石原莉奈在线亚洲二区| 久久精品免视看| 一本色道综合亚洲| 日本中文字幕一区二区有限公司| 精品日韩欧美在线| 91免费版在线| 日日摸夜夜添夜夜添国产精品| 久久久久久久精| 色综合天天视频在线观看| 日本麻豆一区二区三区视频| 国产亚洲精品aa| 欧美无乱码久久久免费午夜一区 | 国产精品麻豆视频| 欧美日韩一卡二卡三卡| 精品在线观看免费| 亚洲图片另类小说| 日韩视频免费观看高清在线视频| 国产乱码一区二区三区| 一区二区三区不卡视频在线观看| 91精品国产入口| www.亚洲免费av| 日本成人在线网站| 亚洲欧洲www| 日韩精品最新网址| 91浏览器入口在线观看| 极品少妇xxxx偷拍精品少妇| 亚洲视频精选在线| 久久免费午夜影院| 欧美体内she精高潮| 成人免费毛片aaaaa**| 蜜芽一区二区三区| 一区二区三区四区视频精品免费 | 亚洲成av人影院在线观看网| 2020国产精品自拍| 欧美美女网站色| heyzo一本久久综合| 久久国产欧美日韩精品| 亚洲一区中文在线| 中文字幕一区二区三区在线播放| 欧美va亚洲va|