音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

用過(guò)16F676的看過(guò)來(lái),為什么我的串口會(huì)沒(méi)有輸出。

作者:lzgq 欄目:單片機(jī)
用過(guò)16F676的看過(guò)來(lái),為什么我的串口會(huì)沒(méi)有輸出。
移植到12F675上卻是好的。
#include"pic16630.h"
#include<conio.h>
#define PORTBIT(adr,bit)  ((unsigned)(&adr)*8+(bit))
static    bit    TxData     @    PORTBIT(PORTC,4);
static     bit RxData    @    PORTBIT(PORTC,5);
//#define    INIT_PORT    TRISIO = 0x08            /* set up I/O direction */

/*    XTAL.html">XTAL frequency */

#define    XTAL    4000000

/*    Baud rate    */

#define    BRATE    9600

/*    Don't change anything else */

#define    DLY        3        /* cycles per null loop */
#define    TX_OHEAD    13        /* overhead cycles per loop */
#define    RX_OHEAD    12        /* RECEIVER overhead per loop */

#define    DELAY(ohead)    (((XTAL/4/BRATE)-(ohead))/DLY)


void putch(unsigned CHAR c)
{
    unsigned CHAR    dly, bitno;

    bitno = 11;

//    INIT_PORT;
    TxData = 0;            /* start bit */
    bitno = 12;
    do {
        dly = DELAY(TX_OHEAD);    /* wait one bit time */
        do
            /* nix */ ;
        while(--dly);
        if(c & 1)
            TxData = 1;
        if(!(c & 1))
            TxData = 0;
        c = (c >> 1) | 0x80;
    } while(--bitno);
}

unsigned CHAR getch(void)
{
    unsigned CHAR    c, bitno, dly;

    for(;;) {
        while(RxData)
            continue;    /* wait for start bit */
        dly = DELAY(3)/2;
        do
            /* nix */;
        while(--dly);
        if(RxData)
            continue;    /* twas just noise */
        bitno = 8;
        c = 0;
        do {
            dly = DELAY(RX_OHEAD);
            do
                /* nix */;
            while(--dly);
            c = (c >> 1) | (RxData << 7);
        } while(--bitno);
        return c;
    }
}

unsigned CHAR getche(void)
{
    CHAR c;

    putch(c = getch());
    return c;
}

//以下為主程序的測(cè)試開始
void main(void)
{
    unsigned CHAR TEMP;

    asm("call 0x3ff");
    RP0=1;
    asm("movwf _OSCCAL");     
    INTCON=0x00;
    PIE1=0x00;
    ANSEL=0x01;
    TRISA=0x3f;
    PORTA=0x3f;
    TRISC=0x2f;            //RXD為輸入,TXD為輸出
    PORTC=0x3f;
    while(1)
    {
        if(RxData==0)
        {
            TEMP=getch();
            if(TEMP!=0xff)
            {
                putch(TEMP);
                DELAY(0xff);
                for(TEMP=0;TEMP<0x60;TEMP++)
                {    putch(TEMP);
                    DELAY(0xff);    
                }
            }    
        }
    }
}


2樓: >>參與討論
lzgq
同時(shí)還發(fā)現(xiàn)PIC16630.H和別的.H有點(diǎn)有不一樣
PIC16630.H在前面多了下面2句,別的沒(méi)有
#ifndef    __PIC16630_H
#define    __PIC16630_H
在后面多了#endif,別的沒(méi)有.
是不是這個(gè)會(huì)影響?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
PIC16C57-RC/P的標(biāo)號(hào)問(wèn)題求教
誰(shuí)是最快的pic
簡(jiǎn)單的PIC12中的小問(wèn)題,請(qǐng)入內(nèi)
哪里有貼片的cd4067?急!!!
對(duì)于PIC12,我用CLRF GPIO命令,看內(nèi)
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)