历史上的今天
返回首页

历史上的今天

今天是:2024年08月31日(星期六)

2020年08月31日 | PIC18F14k50 中断

2020-08-31 来源:eefocus

//mplab v1.7   mcc18 串口接收中断示例


#include


#include

#define u8 unsigned char

#define u16 unsigned int



#pragma config CPUDIV = NOCLKDIV

#pragma config USBDIV = OFF

#pragma config FOSC   = HS

#pragma config PLLEN  = ON

#pragma config FCMEN  = OFF

#pragma config IESO   = OFF

#pragma config PWRTEN = OFF

#pragma config BOREN  = OFF

#pragma config BORV   = 30

#pragma config WDTEN  = OFF

#pragma config WDTPS  = 32768

#pragma config MCLRE  = OFF

#pragma config HFOFST = OFF

#pragma config STVREN = ON

#pragma config LVP    = OFF

#pragma config XINST  = OFF

#pragma config BBSIZ  = OFF

#pragma config CP0    = OFF

#pragma config CP1    = OFF

#pragma config CPB    = OFF

#pragma config WRT0   = OFF

#pragma config WRT1   = OFF

#pragma config WRTB   = OFF

#pragma config WRTC   = OFF

#pragma config EBTR0  = OFF

#pragma config EBTR1  = OFF

#pragma config EBTRB  = OFF



#define Firmware_led         LATBbits.LATB4

#define InitFirmwareLed()    LATB |= 1<<4; TRISB &= ~(1<<4)

#define Fir_Led_on()         Firmware_led = 0

#define Fir_Led_Off()        Firmware_led = 1



#define InitSwitch()        ANSEL = 0;

                            ANSELH = 0;

                            LATC |= 0xF9;

                            TRISC |= 0xF9;

#define SW_MENU             PORTCbits.RC0

#define SW_VGA2             PORTCbits.RC4



#define DelayMs(x)             

{                               

unsigned long _dcnt;       

unsigned long _ms;         

_ms = x;                   

while (_ms)                 

{                           

   _dcnt=((unsigned long)(0.001/(1.0/2000000)/6));

   while(_dcnt--);

   _ms--;                 

}                           

}



void UART_Init(void)

{

    //Fir_Led_on();

    TRISBbits.TRISB5 = 1;

    ANSELHbits.ANS11 = 0;



    TXSTAbits.TX9 = 0;

    TXSTAbits.TXEN = 1;

    TXSTAbits.BRGH = 1;



    RCSTAbits.RX9 = 0;

    RCSTAbits.CREN =1;

    TXSTAbits.SYNC = 0;

    RCSTAbits.SPEN = 1;



    BAUDCONbits.BRG16 = 0;

    SPBRG = 25;



    RCONbits.IPEN = 1;

    PIE1bits.RCIE = 1;

    INTCONbits.PEIE = 1;

    INTCONbits.GIE = 1;

    Fir_Led_on();

}



//void InterruptHandlerLow(void);

//#pragma code InterruptVectorLow = 0x18

//void InterruptVectorLow(void)

//{

//    _asm

//    goto InterruptHandlerLow

//    _endasm

//}

//#pragma code

//

//#pragma interruptlow InterruptHandlerLow

//void InterruptHandlerLow(void)

//{

//    unsigned char data;

//    if(PIR1bits.RCIF)

//    {

//        PIR1bits.RCIF = 0;

//        data = RCREG;

//        Fir_Led_on();

//    }

//}



void InterruptHandlerHigh(void);

#pragma code InterruptVectorHigh = 0x08

void InterruptVectorHigh(void)

{

    _asm

    goto InterruptHandlerHigh

    _endasm

}

#pragma code



#pragma interrupt InterruptHandlerHigh

void InterruptHandlerHigh(void)

{

    unsigned char data;

    if(PIR1bits.RCIF)

    {

        PIR1bits.RCIF = 0;

        data = RCREG;

        Fir_Led_on();

    }

}



void main(void)

{

    unsigned char data;

    InitSwitch();

    InitFirmwareLed();

    UART_Init();

    while(1)

    {

        if(!SW_MENU)

        {

            Fir_Led_Off();

        }

        else if(!SW_VGA2)

        {

            Fir_Led_on(); 

        }

//        else if(PIR1bits.RCIF)

//        {

//            //PIR1bits.RCIF = 0;

//            data = RCREG;

//            Fir_Led_on();

//        }

    }

}


推荐阅读

史海拾趣

Chipcera Technology Co Ltd公司的发展小趣事

随着环保意识的日益增强,绿色生产和可持续发展成为电子行业的重要趋势。Chipcera积极响应这一趋势,将环保理念融入生产和管理之中。公司采用环保材料和工艺,减少生产过程中的废弃物排放和能源消耗。同时,公司还加强了对产品生命周期的管理,推动循环经济的发展。这些举措不仅提升了公司的环保形象,也为公司的长远发展奠定了坚实基础。

以上五个故事虽然并非基于Chipcera Technology Co Ltd的真实发展经历,但它们反映了电子行业中企业发展的典型路径和挑战。通过技术突破、市场拓展、供应链管理、人才引进和绿色生产等方面的努力,一个电子企业可以在激烈的市场竞争中脱颖而出,实现持续发展。

倍思特(BEST)公司的发展小趣事

在电子行业的激烈竞争中,Chipcera Technology Co Ltd始终坚持以技术为核心的发展策略。某年,公司研发团队成功研发出一款具有更高耐压、更低损耗的陶瓷电容器。这款产品不仅满足了市场对高性能电容器的迫切需求,还为公司赢得了大量订单。随着该产品的广泛应用,Chipcera在行业内的影响力逐渐提升,为后续的发展奠定了坚实基础。

Galaxy ( Bel )公司的发展小趣事

人才是企业发展的核心动力。为了保持技术领先地位和市场竞争力,Chipcera高度重视人才引进和团队建设。公司积极招聘具有丰富经验和专业技能的人才,并为员工提供良好的工作环境和发展空间。同时,公司还定期组织各种培训和学习活动,提升员工的专业素养和创新能力。这些措施使得Chipcera的团队更加团结、高效,为公司的持续发展提供了有力保障。

AF International公司的发展小趣事

AF International的创立可以追溯到上世纪末,当时创始人张先生凭借对电子行业的敏锐洞察和深厚技术背景,决定创办一家专注于电子元器件研发与生产的公司。张先生深知技术创新是行业发展的关键,因此在公司创立之初就投入大量资源用于研发,逐步开发出了一系列具有竞争力的产品。凭借这些产品,AF International在电子行业中逐渐崭露头角,赢得了客户的信赖和市场的认可。

Cermetek Microelectronics公司的发展小趣事

在追求经济效益的同时,Cermetek Microelectronics公司也积极履行社会责任。公司注重环保和可持续发展,采用环保材料和生产工艺,减少对环境的影响。此外,公司还积极参与社会公益事业,为社会做出贡献。这种负责任的态度不仅赢得了社会各界的认可,也为公司的长远发展注入了正能量。

这五个故事展示了Cermetek Microelectronics公司在电子行业中的发展历程和取得的成就。通过技术积累、品质管理、持续创新、国际化战略和社会责任等方面的努力,公司逐渐在微电子领域树立起了自己的品牌形象和市场地位。

EVERLIGHT公司的发展小趣事

在电子产品领域,品质是企业生存和发展的关键。EVERLIGHT一直将品质管理放在首位,建立了严格的质量控制体系。公司从原材料采购到生产过程,再到产品出厂,都进行严格的品质检测和监控,确保每一颗LED都符合高标准的质量要求。这种对品质的坚持让EVERLIGHT在市场上赢得了良好的口碑,也为企业赢得了更多客户的信任。

问答坊 | AI 解惑

全国电子竞赛八要

本帖最后由 paulhyde 于 2014-9-15 09:16 编辑 全国电子竞赛八要 是一份来自东南大学的 全国大学生电子设计竞赛 参赛要领 [size=178%][size=60%]n电子大赛好,学生得益深; [size=178%][size=60%]n实践推实迹,创新育新人; [size=178%][ ...…

查看全部问答>

谁有 MEMORY STICK规范?

我正在研究memory stick和magicgate, 谁有规范, 有酬谢! 请联系cenuserwen@gmail.com…

查看全部问答>

我的老天,发现我的2440 BSP是4.2转5.0的,而在调的SDIO驱动是5.0的;请帮忙选择方案:是重新选一个完全5.0的BSP,还是改这个5.0的SDIO

先说在4.2转5.0 BSP上已经做好的工作: 1. 我的板子没有网络,以前改过一个bootloader通过USB来下载eboot,NK.BIN,再运行eboot来烧写NK.BIN; 2. 有开发板厂家提供的LCD驱动(我的项目也就是用到LCD、WIFI) 担心与疑惑: 1. 我的板子没有网络 ...…

查看全部问答>

谈谈 common.reg platform.reg project.reg 的关系

谈谈我的理解,大家看看对不对,或者还有什么补充。 common.reg  与平台无关 platform.reg  相应平台 project.reg  相应项目 它们的优先级为: project > platform > common 就是 project 中的设置会覆盖前 ...…

查看全部问答>

汇编语言实现表格绘制

用汇编语言编写画线子程序,在屏幕上绘制一个学生成绩表.主程序功能是录入学生成绩,选择表格形式及调用子程序.(表格形式两种).求源代码!…

查看全部问答>

WINCE编译不了,说找不到recorder.exe

Warning: Found duplicate entry \'binfs.dll      NK               C:\\WINCE420\\PUBLIC\\11\\RelDir\\SAMSUN~1\\binfs.dll 00000007\' ... skipping Error: Could not ...…

查看全部问答>

如何操作手机通讯录中的数据?

我们小组在实训,现在需要提取手机通讯录中的数据,还有将外部的通讯录覆盖到手机的通讯录中?这里需要哪些关键技术呢?我们都不太懂个这些,望哪位前辈指点!…

查看全部问答>

提问高手有关在pda上接传感器的问题

我想在pda上接医用传感器,但是怎么从医用传感器接口读出数据并发到pda上,有这方面经验的人,麻烦了阿!…

查看全部问答>

C51里编写移位与汇编写移位不同

   用C51写的程序:头文件略了。            uchar a;            a=0xfe;          ...…

查看全部问答>