原创 PIC单片机开发日志-3-I/O端口

2013-2-17 00:56 4526 6 7 分类: MCU/ 嵌入式 文集: MCU
/*
 * PIC16F1x端口控制实验
 * 芯片型号:PIC16F1936
 * 主要特性:增强性中档8位CPU,8K Flash,512字节RAM,最高速度8MIPS,11通道10位  AD,2个比较器,96段LCD控制器,16通道电容触摸模块,3个增强性PWM/捕              获模块
 */
 
#include
 
/* 配置芯片的工作方式,相当于其他单片机的熔丝位 */
// CONFIG1
#pragma config FOSC = INTOSC    // 使用内部时钟
#pragma config WDTE = OFF       // 禁止看门狗
#pragma config PWRTE = OFF      // PWRT disabled
#pragma config MCLRE = ON       // MCLR/VPP pin function is MCLR
#pragma config CP = OFF         // 禁止程序代码保护(debug时要关闭代码保护)
#pragma config CPD = OFF        // 禁止EEPROM的保护
#pragma config BOREN = ON       // 使能欠压复位
#pragma config CLKOUTEN = OFF   // 禁止CLKOUT功能
#pragma config IESO = ON        // Internal/External Switchover mode is enabled
#pragma config FCMEN = ON       // Fail-Safe Clock Monitor is enabled)
 
// CONFIG2
#pragma config WRT = OFF        // 禁止代码自编程保护
#pragma config VCAPEN = OFF     // All VCAP pin functionality is disabled
#pragma config PLLEN = OFF      // 禁止4x PLL
#pragma config STVREN = ON      // Stack Overflow or Underflow will cause a                                     // Reset)
#pragma config BORV = LO        // 欠压复位电压为低档位(低档位为1.9V,高档位为2.5V)
#pragma config LVP = OFF        // 高压编程模式
 
/* 定义系统时钟,在延时函数中需要这个定义 */
#define _XTAL_FREQ   16000000UL
#define Close_LED()  LATBbits.LATB4 = 0  // RB4输出低电平
#define Open_LED()   LATBbits.LATB4 = 1  // RB4输出高电平
 
int main(void)
{
    /* 禁止4X PLL,内部16MHz时钟源 */
    OSCCON = 0B11111000;
 
    /* 清除PORTB数据锁存寄存器 */
    LATB = 0;
 
    /* 设置RB4端口为输出口,注意PIC有点特殊,1为输入0为输出 */
    TRISBbits.TRISB4 = 0;         
    /* RB4输出低电平 */
    LATBbits.LATB4 = 0;
 
    /* 设置RB5端口为输入 */
    TRISBbits.TRISB5 = 1;
    /* RB5设置为数字端口 */
    ANSELBbits.ANSB5 = 0;
    /* 使能RB5内部上拉,作为数字输入端口在设计时要注意并不是所有端口都有内部上        拉的 */
    WPUBbits.WPUB5 = 1;
 
    /* 等待按键按下 */
    while(PORTBbits.RB5 == 1)
        ;
 
    while (1)
    {
        __delay_ms(1000);
        Open_LED();
        __delay_ms(1000);
        Close_LED();
    }
}
 
器件配置位可以在Window>Pic Memory Views>Configuration Bits中查询或者直接生成代码。
20130217004355420.jpg
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

yupin1ger_144042119 2013-5-15 17:36

学习了
相关推荐阅读
用户429888 2013-04-23 14:15
dsPIC30F2010碰到的DEBUG调试正常,但下载程序后不正常的问题
    今天调试dsPIC30F2010的带HALL传感器无刷电机驱动程序。使用DEBUG方式调试,没有花多少时间就让电机转起来了,看起来比较顺利。          下午将程序烧录到芯片...
用户429888 2013-04-01 00:41
我的BLDC 无刷电机驱动器开发板
EASYCO BLDC DEVELOP KIT 2.0      经过1个多月的努力,终于完成了这个开发板的设计。采样母板+MCU核心板设计,可以用于不同厂家不同型号的MCU开发。先秀几张...
用户429888 2013-02-14 15:58
PIC单片机开发日志-2-在MPLAB X中新建工程
一.  MPLAB X新建工程1.   使用工程向导可以轻松的建立一个新的工程,选择”File > New Project“打开工程向导后可以新建或者导入其他类型的工程,我在这里选择了一个新的工...
用户429888 2013-02-13 23:30
PIC单片机学习日志-1-开发环境的搭建
      最近在网上看了几个Microchip的视频介绍,感觉PIC单片机很有特点而且网上对PIC的稳定性评价都很高,于是开始学习PIC单片机的开发。       先上Microch...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条