发表于:2013/3/21 14:02:15
#0楼
PIC单片机16F630实现从RC2端口发出一个脉冲数据(这个脉冲数据时与拨码开关设置的码值对应的)可以使用以下程序#include <pic.h>
#define nop asm("nop")
__CONFIG(INTOSCIO & WDTDIS & BORDIS & PWRTEN);
void delay(unsigned int num )
{
unsigned int i;
while(num--);
void main(void)
{
#asm
bsf _STATUS, 5
call 90h
movwf _OSCCAL
bcf _STATUS, 5
#endasm
int a[]={1,0,1,1,0};
int i;
PCON = 0x00; //电源控制 进行上电复位和欠压检测
TRISC = 0x3B; //RC口的输入输出设置
TRISA = 0x37; //RA口的输入输出设置
WPUA = 0x37; //RA口开弱上拉
PORTC = 0x23; PORTA = 0x23; //A,C口的寄存器值设定,由拨码开关设定 //以上是各个寄存器的配置
while(1)
{
for( i=0;i<5;i++)
{
RC2 = a[i];
nop;
delay(25); //RC2口根据数组a[]的元素一次发送数据
}
}
} 前辈们,我初次接触PIC,想问下我这样用一个数组a[]能不能实现Rc2口发出一个指定的脉冲值
#define nop asm("nop")
__CONFIG(INTOSCIO & WDTDIS & BORDIS & PWRTEN);
void delay(unsigned int num )
{
unsigned int i;
while(num--);
void main(void)
{
#asm
bsf _STATUS, 5
call 90h
movwf _OSCCAL
bcf _STATUS, 5
#endasm
int a[]={1,0,1,1,0};
int i;
PCON = 0x00; //电源控制 进行上电复位和欠压检测
TRISC = 0x3B; //RC口的输入输出设置
TRISA = 0x37; //RA口的输入输出设置
WPUA = 0x37; //RA口开弱上拉
PORTC = 0x23; PORTA = 0x23; //A,C口的寄存器值设定,由拨码开关设定 //以上是各个寄存器的配置
while(1)
{
for( i=0;i<5;i++)
{
RC2 = a[i];
nop;
delay(25); //RC2口根据数组a[]的元素一次发送数据
}
}
} 前辈们,我初次接触PIC,想问下我这样用一个数组a[]能不能实现Rc2口发出一个指定的脉冲值