PIC单片机学习笔记

article/2025/10/25 4:07:53

视频内容来自哔哩哔哩-【单片机】PIC单片机F877A视频教程(郭天祥)

1、简介

本视频使用的单片机是PIC16F877A

(公司用的的dsPIC33FJ128GP306)

dsPIC33——16位单片机

中档产品仅有35条汇编语言——意外之喜

哈佛总线结构、RISC——因为其指令与数据是分开存储的,所以PIC的信息处理比较快,可以在执行上一条指令的同时,取下一条指令。

SFR——特殊功能寄存器。包括PIC的动作状态,I/O输入输出的状态,和其他各类程序动作的状态

GPR——General Purpose Registers,13位后的20H-7FH部分,用于寄存程序运行过程中的中间数据、中间状态以及最总结果等

系统重置后,引脚全部默认为输入(输出高阻态)

PSP——Parallel Slave Port,并行传输区

volatile——易变的

方向控制寄存器——TRISA~E,0:表示输出,记为Output;1:表示输入,记为Input(复位值为0xFF

D7D6D5D4D3D2D1D0

数据寄存器——PORTA~E,0:表示输出低电平;1:表示输出高电平

每个端口允许最大25mA的灌电流和20mA的拉电流,可以直接驱动LED和继电器。

因每个端口的结构不同,RB口提供的总灌电流和拉电流可大150mA和100mA,其他端口为80mA和50mA。

五个端口驱动电流之和不大于200mA

TRISn始终控制着PORTn的输入输出方向

2、LED和数码管

ULN2003——反向达林顿(输入高输出低),最大500mA的电流

数码管的动态显示——人眼的视觉暂留

3、LED or 数码管配合按键

按键的软件去抖——延时10ms

配置  TRISE=0;//端口全部为输出

读      if(RB0==0)

写      PORTD=0x01;//PD0输出高电平,其他输出低电平

 

8、定时器

4个时钟为一个机器周期,预分频器——把机器周期再分频——为了延长定时器的计时时长

与定时器TMR0相关的寄存器:

选项寄存器 OPTION_REG

中断控制寄存器 INTCON

本次不用       
RBPU

INTE

DG

T0CST0SEPSAPS2PS1PS0
GIEPEIET0IEINTERBIET0IFINTFRBIF

 
       

 

注意:TMR0IF

Note: Interrupt flag bits are set when an interrupt condition occurs regardless of the state of its corresponding enable bit or the global enable bit, GIE (INTCON<7>). User software should ensure the appropriate interrupt flag bits are clear prior to enabling an interrupt

TMR0寄存器——Timer0 Module Register,是一个8位累加计数寄存器,这个不需要用户关心,是自动累加用的

 

8、TMR1

 

 

 

 

 


http://chatgpt.dhexx.cn/article/xh3SMf2T.shtml

相关文章

PIC单片机学习—USART串口

PIC单片机学习—USART串口 最近做了几个项目都用到了PIC单片机&#xff0c;在这几个项目之前我只用到了51单片机和STM32来做控制类的项目&#xff0c;用PIC单片机的时候发现使用的时候和51单片机还是有所区别&#xff0c;有许多小坑需要注意&#xff0c;所以决定写几篇针对新手…

PIC单片机应用开发实践教程(四): MPLAB X IDE Debug

源码基于 PIC16F15355开发板&#xff0c;想了解详情&#xff0c;请点 PIC16F15355开发板 当程序写好后&#xff0c;我们就可以使用在线调试功能&#xff0c;验证代码的正确性。 1、打开工程 File - Open Project &#xff0c;打开我们要调试的工程 2、打开工程属性&#xf…

PIC单片机

PIC芯片所用编译器是MPLAB X IDE&#xff0c;刚开始接触PIC单片机&#xff0c;也是一脸茫然&#xff0c;然后查阅资料逐渐了解、运用编译器&#xff0c;这里我就不说编译器怎么使用了&#xff0c;下面我将以PIC12LF1822芯片为例&#xff0c;简单来说说我见解&#xff0c;分别说…

PIC单片机应用开发实践教程(六): 代码配置器(MCC)

源码基于 PIC16F15355开发板&#xff0c;想了解详情&#xff0c;请点 PIC16F15355开发板 1、简介 MPLAB 代码配置器&#xff08;MPLAB Code Configurator&#xff0c;MCC&#xff09;通过图形用户界面&#xff08;Graphical User Interface&#xff0c;GUI&#xff09;生成驱…

【PIC】单片机基本概述

1. 公司 PIC 单片机是 Microchip&#xff08;微芯&#xff09; 公司的产品&#xff0c;始于1989年。 2. 精简指令集技术 传统的单片机采用复杂指令集&#xff08;Complex Instruction Set Computer, CISC&#xff09;结构&#xff0c;通常有50~110条。而 PIC 采用精简指令集&…

PIC单片机应用开发实践教程(二): 新建工程

源码基于 PIC16F15355开发板&#xff0c;想了解详情&#xff0c;请点 PIC16F15355开发板 1 打开MPLAB X IDE File---New Project Microchip Embedded --- Standalone Project 选择所用MCU对应型号 点击 Finish 后&#xff0c;工程就建好了 2 添加main.c文件 3 添加main.h文件 …

PIC单片机的入门认识(以PIC12为学习目标)

1.学习PIC12针脚定义 针脚1及针脚8可接电源5V和地线。针脚2.3可外接晶振。 针脚4为复位脚&#xff0c;当单片机正常运行时接高电平&#xff0c;若有一个低电平输入&#xff0c;单片机便复位。 针脚5则为单片机的I/O脚&#xff0c;可控制它为输入或输出&#xff0c;输入0&…

PIC单片机应用开发实践教程(七):PIC16F153xx——时钟使用

源码基于 PIC16F15355开发板&#xff0c;想了解详情&#xff0c;请点 PIC16F15355开发板 PIC16F15355 内部晶振框图如下&#xff0c;从框图中我们知道MCU时钟来源有3个&#xff1a;外部时钟&#xff0c;内部时钟&#xff0c;Timer1 内部时钟源&#xff08;INTERNAL CLOCK SOUR…

PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)

PIC单片机入门教程&#xff08;二&#xff09;—— 安装集成开发环境&#xff08;MPLAB X IDE&#xff09; 教程中使用的电脑运行Windows 10 专业版 64位系统 1、下载 MPLAB X IDE v4.05 历史版本&#xff1a;http://www.microchip.com/development-tools/pic-and-dspic-downl…

PIC单片机-Mplab的使用与PIC单片机介绍

内容包括Mplab IDE与Mplab X IDE的使用&#xff0c;触摸功能实践&#xff0c;PIC单片机C与汇编混合编程&#xff0c;PIC单片机介绍等。紫色文字是超链接&#xff0c;点击自动跳转至相关博文。持续更新&#xff0c;原创不易&#xff01; 目录&#xff1a; 一、Mplab IDE的使用…

PIC16F887 实战编程 单片机编程 基础实验教程

文章目录 2 PIC工程建立与仿真3 单片机基础寄存器操作&#xff1a;3.1 IO3.2 模拟输入电压读取3.3 外部中断3.4 定时器中断3.5 串口UART3.6 IIC通信 4 实际项目5 如何阅读代码6 如何把代码放到MPLAB V5.0xc8 v2.0上工作&#xff1f;6.1 短暂的回顾6.2 xc8 v2.0程序结构6.3 移植…

通俗易懂讲PIC单片机:从一窍不通到入门进步

单片机入门不难------谈PIC系列&#xff08;转自矿石收音机论坛---崂山&#xff09;十年前的老帖子&#xff0c;讲得通俗易懂&#xff0c;分享之。 请看图1 这个8条腿的小螃蟹就是我们的第一顿饭&#xff0c;只要把它吃下去&#xff0c;以后的大餐就好办了。第1、8条腿接电源 …

PIC单片机应用开发实践教程(五): 烧录器简介

源码基于 PIC16F15355开发板&#xff0c;想了解详情&#xff0c;请点 PIC16F15355开发板 ​​​​​​​ PIC单片机&#xff0c;无论是8位的10/12/16/18系列&#xff0c;还是16位PIC24/dsPIC33系列&#xff0c;常用的烧录器如下&#xff1a;PICkit3&#xff0c;PICkit4&#…

PIC单片机入门_C语言编程技术

1.为什么也是C语言&#xff1f; 用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高等&#xff0c;因此C 语言编程在单片机系统设计中越来越广泛的运用。PIC 单片机的软件开发&#xff0c;同样可以用C 语言实现。 Micro…

PIC单片机与PIC单片机C语言编程简介

对于计算机学院与电子学院相关的同学来说&#xff0c;单片机一定不是一个陌生的概念。在大学的学习生涯中&#xff0c;经常用于教学的是MCS-51系列单片机。其实&#xff0c;除了MCS-51单片机外&#xff0c;还有一类单片机——PIC单片机。 PIC单片机&#xff0c;英文名为Periphe…

PIC单片机应用开发实践教程(三): MCU配置位与烧录

1 编译 工程建好并把相应的 .c和.h文件都加载到工程后&#xff0c;如下图 试试编译&#xff0c;如果没有语法错误&#xff0c;编译结果如下 到这里&#xff0c;是不是可以进行烧录了呢&#xff1f;不急&#xff0c;还有很重要的一个步骤&#xff0c;MCU配置位的设置&#xff0…

PIC单片机应用开发实践教程(一):MPLAB X IDE 开发环境安装

源码基于 PIC16F15355开发板&#xff0c;想了解详情&#xff0c;请点 PIC16F15355开发板 1 准备电脑一台 2 下载开发环境 MPLAB-X-IDE 点Download后&#xff0c;自动下载。 3 下载C编译器&#xff08;以8位MCU用的xc8编译器为例&#xff09; MPLAB XC8 Compiler 4 安装MP…

PIC单片机入门教程(一)—— 准备工作

PIC单片机入门教程&#xff08;一&#xff09;—— 准备工作 1、电脑一台&#xff08;推荐运行Windows 7 旗舰版 64位系统&#xff09; 2、选择合适的烧录/调试工具 2.1 “Device Support.html”文件列举了所有器件能支持哪些烧录/调试工具&#xff0c;文件官方版本说明包里 下…

PIC单片机入门教程(三)—— 安装编译器(MPLAB XC Compilers)

PIC单片机入门教程&#xff08;三&#xff09;—— 安装编译器&#xff08;MPLAB XC Compilers&#xff09; 1、下载编译器&#xff08;MPLAB XC Compilers&#xff09; XC8、XC16和XC32对应8位、16位和32位PIC单片机&#xff0c;按实际使用的单片机选择下载最新版本即可。 截…

PIC单片机入门教程(四)—— 第一个工程

PIC单片机入门教程&#xff08;四&#xff09;—— 第一个工程 1、新建工程 1.1 菜单栏“文件”->“新建项目” 1.2 “Microchip嵌入式”->“独立项目”->“下一步” 1.3 在器件栏直接输入你的单片机型号&#xff0c;这里以PIC12F675为例。输入“PIC12F675”->“下…