英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3828|回复: 0
打印 上一主题 下一主题

PIC单片机C语言主要部分

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-18 17:54:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于 PICC 编译环境编写PIC 单片机程序的基本方式和标准C 程序类似,程序一般由以
下几个主要部分组成:
· 在程序的最前面用#include 预处理指令引用包含头文件,其中必须包含一个编译器
提供的“pic.h”文件,实现单片机内特殊寄存器和其它特殊符号的声明;
· 用“__CONFIG”预处理指令定义芯片的配置位;
· 声明本模块内被调用的所有函数的类型,PICC 将对所调用的函数进行严格的类型
匹配检查;
· 定义全局变量或符号替换;
· 实C 原程序的范例:
#include <pic.h> //包含单片机内部资源预定义
#include “pc68.h” //包含自定义头文件
//定义芯片工作时的配置位
__CONFIG (HS & PROTECT & PWRTEN & BOREN & WDTDIS);
//声明本模块中所调用的函数类型
void SetSFR(void);
void Clock(void);
void KeyScan(void);
void Measure(void);
void LCD_Test(void);
void LCD_Disp(unsigned char);
//定义变量
unsigned char second, minute, hour;
bit flag1,flag2;
//函数和子程序
图 11-2 C 语言多模块编程
张明峰 2004-4-7 于上海 4 of 26
void main(void)
{
SetSFR();
PORTC = 0x00;
TMR1H += TMR1H_CONST;
LED1 = LED_OFF;
LCD_Test();
//程序工作主循环
while(1) {
asm(“clrwdt”); //清看门狗
Clock(); //更新时钟
KeyScan(); //扫描键盘
Measure(); //数据测量
SetSFR(); //刷新特殊功能寄存器
}
现函数(子程序),特别注意main 函数必须是一个没有返回的死循
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-11-27 21:09 , Processed in 0.047993 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表