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

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

 

 

 

 

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值