龙岩市网站建设_网站建设公司_C#_seo优化
2026/1/7 18:02:32 网站建设 项目流程

作为一名使用PIC单片机近三十年的工程师,我最早从PIC16F87X系列起步,后来为了应对小型化、低成本的项目需求,又陆续使用了6脚、8脚、14脚等PIC单片机。

在众多PIC单片机中,PIC16F1824PIC12F1822是我认为最适合入门的两个型号。

它们不仅易于上手,而且引脚兼容性极佳——PIC16F18241-4脚和11-14脚与PIC12F1822完全重合,这意味着在设计初期,你可以灵活替换,无需重新绘制电路板。

下图清晰展示了两款芯片的引脚对应关系

今天就以PIC16F1824为例,先从振荡器和定时器Timer1开始简单讲解

一、时钟系统:PIC心跳配置

时钟是单片机运行的基础,PIC16F1824的振荡器模块支持8种模式,适应不同场景需求:

1. ECL——外部时钟低功耗模式

0 MHz0.5 MHz

2. ECM——外部时钟中等功耗模式

0.5 MHz4 MHz

3. ECH——外部时钟高功耗模式

4 MHz32 MHz

4. LP——32 kHz低功耗晶振模式

5. XT——中等增益晶振或陶瓷谐振器模式

(最高4 MHz

6. HS——高增益晶振或陶瓷谐振器模式

4 MHz20 MHz

7. RC——外部阻容RC

8. INTOSC——内部振荡器31 kHz32 MHz

配置方法:通过FOSC<2:0>(配置字1)选择时钟源。我个人最常用的是HS模式(外接晶振)和INTOSC模式(内部振荡器),后者无需外接元件,特别适合对成本敏感的小型项目。

下面以内部振荡器16MHz为例给出配置字和振荡器控制寄存器的赋值

#include<pic16f1824.h>

__CONFIG(0x083c); //选内部振荡器,配置位是2-0位,100是内部振荡器(最高32M),010是外部高速振荡器(最高20M

void main()

{

OSCCON=0x78; //内部时钟16MHZ

//其他初始化

}

二、Timer116位定时器应用

Timer1PIC中常用的16位定时器/计数器,可用于定时、计数或捕获功能。以下是一个完整的中断式定时示例,实现每0.5秒计数一次(16M主频),具体配置及程序如下:

#include<pic16f1824.h>

__CONFIG(0x083c);

unsigned int half_sec,time_2s

//中断服务程序
voidinterruptisr(void){
if(TMR1IF){//判断是否为Timer1中断
TMR1L=0xBF;//重载定时初值(低位)
TMR1H=0xF9;//重载定时初值(高位)
half_sec++;
if(half_sec>1249){//累计0.5
time_2s++;//计数器+1
half_sec=0;
}
TMR1IF=0;//清除中断标志
}
}
voidmain(){
//初始化I/O
TRISA=0x1A;
TRISC=0x0C;
PORTA=0x00;
PORTC=0x03;
//外设功能选择
APFCON0=0x84;//设置RA0TXRA1RX
//模拟输入关闭(除指定引脚)
ANSELA=0x10;
ANSELC=0x00;
PIE1=0x01;
INTCON=0x40;//使能外围中断
OSCCON=0x78;//内部时钟16MHz
//以下为Timer1配置
T1CON = 0x60;//预分频器设为1:4Timer1关闭
TMR1IF = 0;
TMR1L = 0xBF;//定时初值
TMR1H = 0xF9;
TMR1IE = 1;//使能Timer1中断
T1CON |= 0x01;//启动Timer1
GIE=1;//全局中断使能
while(1){
//主循环,可加入其他任务
}
}
三、本系列文章规划

本文是《PIC单片机入门实战》系列的第一篇,后续将逐步展开以下内容,带你从零构建一个完整的嵌入式控制系统:

序号

主题

内容概要

1

振荡器与Timer1

时钟配置与定时中断

2

I/O输出控制

驱动2路继电器与4LED

3

I/O按键输入

3路按键扫描与电平变化中断

4

UART通信

RS232/RS485数据交互

5

A/D转换应用

1路电位器电压读取

6

温度传感器采集

1DS18B20输入

7

EEPROM存储

数据存储与读取

8

MODBUS-RTU集成

功能码01/03/05/06数据读写

PIC单片机入门实战》这8片文章内容来源于我自己画的电路原理图及程序,有对PIC单片机感兴趣想学习的朋友可以关注我,免费赠送资料(包括原理图、数据手册、各种例程等)。

有需要这款开发板的朋友也可以关注联系我。

后续干货不断,咱们一起在单片机的世界里,共同进步。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询