快捷搜索:

PIC单片机CCS之C语言(#FUSES的用法)

options要根据设备改变.一系列有效的可选项都要放在每个devices.h文件的顶部,注释用来参考.PCW能有效编辑修改特殊的设备fuses.PCW下拉菜单VIEW|Valid fuses将会显示所有的fuses描写.

一些公共的可选项如下:

LP, XT, HS, RC

WDT, NOWDT

PROTECT, NOPROTECT

PUT, NOPUT, (Power Up Timer)

BROWNOUT, NOBROWNOUT

目的:这种指示定义要fuses的东西在编程时设定在器件中.这种指示不影响编辑,可是信息放在输出文件中.如果在Parallax格式中需要fuses,则添加PAR可选项.SWAP有将在Hex文件的不用编程的数据的高和低字节进行交换的功能.对于一些可编程的设备,这将被要求.

带有某些fuses一些处理器允许有不同的电平,为了接受这些电平,就将一个值赋给fuse.例如18F452.这个fuse PROTECT=6就将6这个值赋给CONFIG5L,保护代码块0和代码块3

例子:

#fuses HS, NOWDT

例子文件:ex_sqw.c

文件: ex_sqw.c如下:

#if defined(__PCM__) //若使用了PCM编译器,则defined( __PCM__)返回值为1

#include //包含16F877.h头文件

#fuses HS,NOWDT,NOPROTECT //HS:高速晶振/谐振器, NOWDT:不使用WDT

// NOPROTECT:程序存储器代码不保护

#use delay(clock=20000000) //使能内置函数的功能:delay_ms()和delay_us()

//#USE DELAY()必须在#use rs232()使用之前出现.

#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

//使用波特率为9600,

//发送脚为PIN_C6

//接收脚为PIN_C7

//使能内置函数:GETC,PUTC和PRINTF, kbhit();

#elif defined(__PCB__)

#include

#fuses HS,NOWDT,NOPROTECT,NOLVP

#use delay(clock=20000000)

#use rs232(baud=9600, xmit=PIN_A3, rcv=PIN_A2) // Jumpers: 11 to 17, 12 to 18

#elif defined(__PCH__)

#include

#fuses HS,NOWDT,NOPROTECT,NOLVP

#use delay(clock=20000000)

#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) // Jumpers: 8 to 11, 7 to 12

#endif //结束if定义

void main() {

printf("Press any key to begin\n\r");

getc();

printf("1 khz signal activated\n\r");

while (TRUE) {

output_high(PIN_B0); //脚(PIN_B0)输出高电平

delay_us(500); //延时500us

output_low(PIN_B0); //脚(PIN_B0)输出低电平

delay_us(500); //延时500us

}

}

上面的例子介绍delay_us(), output_high(), output_low()函数的用法

您可能还会对下面的文章感兴趣: