PIC单片机学习笔记

视频内容来自哔哩哔哩-【单片机】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

D7 D6 D5 D4 D3 D2 D1 D0

数据寄存器——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

T0CS T0SE PSA PS2 PS1 PS0
GIE PEIE T0IE INTE RBIE T0IF INTF RBIF

 
             

注意: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

猜你喜欢

转载自blog.csdn.net/qq_35629563/article/details/86285768