PIC单片机原理图
图文解析PIC单片机之步进电机
图 3 步进电机的单极性直流驱动电路
在实际应用中一般驱动路数不止一路,用图 3 的分立电路体积大,各路参数一 致 性 难 以 保 障 。最 好 用 现 成 的 集 成 电 路 作 为 多 路 驱 动 。常 用 的 小 型 步 进 电 机 驱 动电路可以用 ULN2003 或 ULN2803。我们的实验板上用的是 ULN2003。 ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作 电 压 高 、温 度 范 围 宽 、带 负 载 能 力 强 等 特 点 ,适 应 于 各 类 要 求 高 速 大 功 率 驱 动 的系统。
4、步进电动机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和 直流电源。
那我们该如何来控制步进电机转动呢?直流电机我们只要在电机两极加上电 压 ,电 机 马 上 转 动 ,但 步 进 电 机 并 非 这 样 ,它 是 数 字 控 制 方 式 ,它 将 电 脉 冲 信
号 转 变 成 角 位 移 ,即 给 一 个 脉 冲 信 号 ,步 进 电 动 机 就 转 动 一 个 角 度 ,因 此 非 常 适合单片机的控制。 一 般 一 个 完 整 的 步 进 电 机 控 制 系 统 包 括 控 制 器 、驱 动 器 、电 机 三 部 分 。框 图 如 图 1 所示:
通 过 前 文 的 原 理 介 绍 ,我 们 已 经 对 步 进 电 机 的 特 性 以 及 工 作 原 理 有 了 大 致 地 了 解 ,但 当 我 们 拿 到 一 个 步 进 电 机 时 要 正 确 地 应 用 它 还 是 一 时 不 知 如 何 下 手 ,比 如 我 们 现 在 要 控 制 电 机 正 转 、反 转 、高 速 运 转 、低 速 运 转 时 ,需 要 怎 么 办 呢 ? 要 控 制 步 进 电 机 进 行 正 反 转 ,已 不 是 像 直 流 电 机 这 么 简 单 ,在 电 机 两 端 加 上 正 反相电源就可以了,而是通过输出不同规律的“正反转”时序脉冲来实现控制。 现 在 ,我 们 来 一 起 看 一 下 如 何 进 行 步 进 电 机 正 反 转 以 及 转 动 速 度 的 控 制 ,通 过 一个实例,相信会给大家带来一个感性的认识。
PIC单片机原理及应用(第八章)
8.3.2 与TMR2模块相关的寄存器
TMR2涉及6个寄存器: T2CON:TMR2控制寄存器; TMR2:定时器TMR2; PR2:TMR2周期寄存器,当PR2和TMR2计数值相等时 发生溢出; INTCON:中断控制寄存器; PIE1:第一外围中断使能寄存器; PIR1:第一外围中断标志寄存器。
主要用于中断控制方式的设置。
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 GIE PEIE T0IE INTE RBIE T0IF INTF RBIF
4、RA方向寄存器 (TRISA)4=1,T0CKI为输入方式。
8.1.3 TMR0模块电路结构和工作原理
1. 8位计数寄存器TMR0 1)设置定时模式 T0CS=0 定时时间:初值,频率,预分频器。 2)设置计数模式 T0CS=1 计数 T0SE=0,T0SE=1。 2. 分频器 PS2、PS1、PS0 分频比; PSA=0,TMR0分频器;PSA=1,WDT分频器。
8.3.3
TMR2模块电路结构和工作原理
1、TMR2溢出方式 PR2和TMR2计数值比较相等时发生溢出,需经后分 频处理,相应的溢出中断标志才置位,并可产生 溢出中断。 2、分频器 一个预分频器,3种分频比;一个后分频器,16种 分频比。 3、TMR2定时方式:一般定时方式,PWM方式。 1)作为通用定时器(PR2=0FFH) T=P1*P2*(256-初值) 2)浮动“溢出”周期(TMR2=00H) T=P1*P2*(PR2+1)
1. 2. 3.
4.
5.
起/停控制和同步逻辑 与门G1:TMR1ON 与 时钟信号; 可编程预分频器 4种不同的分频比:1,2,4,8; TMR1定时/计数方式 定时方式:指令周期, 计数方式:低频振荡器或T1CKI引脚; 低频振荡器 常用时钟:32768Hz; 定时分析 定时时间=预分频比(65536-初值)*10-6s
PIC单片机之数码管
PIC单片机之数码管大家好,通过前一期的学习,我们已经对ICD2 仿真烧写器和增强型PIC 实验板的使用方法及学习方式有所了解与熟悉,学会了如何用单片机来控制发光管、继电器、蜂鸣器、按键等资源,体会到了学习板的易用性与易学性,特别是当自己第一次动手编程点亮一个发光管时,相信对于初学者来说,一定很兴奋,很有成就感吧!现在我们就趁热打铁,再向上跨一步,一起来学习一下数码管的工作原理及使用方法,这一期实验将会更具生动性。
说到七段数码管,它在家电及工业控制中有着很广泛的应用,例如用来显示温度、数量、重量、日期、时间等,具有显示醒目、直观的优点。
在一般的人机对话中,输入器件一般都是以按键为主,但输出器件则以数码管或LCD 为主。
数码管作为一种应用十分普遍的显示器件,可以在各种各样的设备上见到,如图1 所示就是某数字表头显示时候的效果图。
它很适合用在对价格、亮度等条件比较敏感,同时基本上只要求显示数字量的时候,所以在数据显示,定时控制等场合用得很多。
常见的数码管实物如图2 所示。
图1 数码管显示效果图图2 数码管实物图首先,我们先对相关理论知识进行一番了解。
我们可以看到图1中有8 位数码管,那么这些数码管是怎样来显示1,2,3,4……数字的呢?别着急,我们一起慢慢来学。
数码管实际上是由7 个发光管组成“8”字形构成的,加上小数点就是8 个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。
如:显示一个“2”字,那么应当是a 亮、b 亮、g 亮、e 亮、d 亮、f 不亮、c 不亮、dp 不亮。
7 段数码管的段排列和内结构见图3。
图3 数码管结构图由于驱动方式的差异,也就是对应在各个显示段是低电平还是高电平点亮,数码管又分成两种类型,即共阳极和共阴极数码管。
所谓“共阳极”是指8 个LED 的阳极连接在一起组成公共端;同理“共阴极”则是8 个LED 的阴极连接在一起组成公共端。
PIC内部结构
工作和寻址。
第一章
PIC系列单片机结构原理
第一章
PIC系列单片机结构原理
1.2 PIC单片机基本结构及信号引脚
1.2.2 PIC单片机基本信号引脚 PIC16F87X系列单片机 的引脚分为两种:一种 为40脚(包括 871,874, 877这三种),如图1-3 所示;另一种为28脚 (包括 870,872,873, 876这四种)
1.5.2 唤醒与低电耗运行 休眠(SLEEP)方式与单片机的唤醒
单片机执行一条SLEEP指令后,便进入了休眠(SLEEP)方式。
单片机系统的低功耗设计
(1)选择合适的模块 (2)选择合适的工作条件 (3)选择合适的振荡方式 (4)合理处理I/O管脚
第一章
PIC系列单片机结构原理
1.5复位、唤醒与看门狗功能
1: 屏蔽端口 B 上拉电阻设置; 0: 允 许端口 B 上拉电阻设置,是否设置 还要依据各位的锁存的值。
0:外中断RB0/INT选择上升沿 触发; 1:外中断RB0/INT选择下降沿 触发。
TMR0比率WDT比率PS2 PS1 PS0 1:2 1:1 000 1:4 1:2 001 1:8 1:4 010 1:16 1:8 011 1:32 1:16 100 1:64 1:32 101 1:128 1:64 110 1:256 1:128 111
第一章
PIC系列单片机结构原理
1.1 单片机概述
微型计算机是一种以电子器件为基础,可以接受 输入信息,并能够对各种输入的数字化信息进行算术 和逻辑运算,最后产生输出的电子设备。 微型计算机既有快速运算能力,又有极强逻辑判 断能力和大容量存储功能,它是20世纪人类最卓越的 科学发明之一。 单片微型计算机就是将CPU、RAM、ROM、定 时/计数器和多种接口都集成到一块集成电路芯片上的 微型计算机。
PIC单片机原理及应用(第四章)
寄存器f 寄存器 f 为 0 间跳 寄存器f 位为0 寄存器 f 的 b 位为 0 间跳 寄存器f 的 b 位为1 间跳 寄存器 f 位为 1 表示寄存器的内容
表示寄存器间接寻址的内容→表示运算结果送入目标寄存器
• ORG • NOP • MOVLW • ANDWF • MOVWF • MOVLW • IORWF • ADDWF •; • END •; 0000H 20H 20H,W 40H 30H 30H,W 40H,F
例题4 请编写一个完整的程序,将数据存储器20 20H 位和30 30H 【例题4-5】 请编写一个完整的程序,将数据存储器20H低4位和30H 位组合成一个八位二进制数据,并从RC端口输出。 RC端口输出 高4位组合成一个八位二进制数据,并从RC端口输出。 • • • • • • • • • • • • • • • • ORG NOP BANKSEL MOVLW MOVWF BANKSEL MOVF ANDLW MOVWF MOVF ANDLW IORWF MOVWF ; END ; 0000H TRISC 00H TRISC PORTC 20H,W 0FH 20H 30H,W 0F0H 20H,W PORTC
MOVF ADDWF BTFSS GOTO INCF MOVF ADDWF 30H,W 50H,F STATUS,C LOOP 20H,F 20H,W 40H,F
LOOP
4.2.3 逻辑运算类指令
逻辑运算类指令是一组比较复杂的指令,形式较多, 逻辑运算类指令是一组比较复杂的指令,形式较多,可 以对位和字节进行逻辑操作。主要有与、 异或、清零、 以对位和字节进行逻辑操作。主要有与、或、异或、清零、 置位、取反和左右移位等14条指令。 14条指令 置位、取反和左右移位等14条指令。
PIC单片机原理及应用
PIC 系列单片机代表着单片机发展的新动向
20 2021/4/20
PIC 单片机的特色
❖ 品种丰富——高级
产品系列
主要特性
工艺特点
PIC17C4X PIC17C4XA PIC17CR4X
16位指令系统 8位数据线
OTP/EPROM
多种中断
DC ~ 25MHz时钟
OTP/EPROM
最快160ns指令周期
时钟发生器
上电延时定时器 振荡器启动延时
上电复位 看们狗定时器
掉电复位 监视定时器
FSR寄存器 PO GP1/AN1/CIN-VREF RT GP2/AN2/T0CK/INT/COUT
状态寄存器
GP3/MCLR/VPP
运算单元
GP4/AN3/T1G/OSC2/CLKOUT
W 寄存器
GP5/T1CKI/OSC1/CLKIN
Q1 Q2 Q3 Q4
PC
取指(PC) 执行(PC-1)
取指(PC+1) 执行(PC)
取指(PC+2) 执行(PC+1)
28 2021/4/20
PIC12F629/675系统结构与工作原理
❖ PIC12F629/675程序存储器组织结构
PIC 系列单片机代表着单片机发展的新动向
25 2021/4/20
8引脚闪存8位CMOS单片机
——PIC12F629/675性能概述
✓ 仅35条指令;除跳转指令外都为单周期; ✓ DC~20MHz时钟;DC~200ns指令周期 ✓ 32KHz时工作电流典型值8.5uA;待机nA级; ✓ 高精度内部 4MHz 1% 振荡器; ✓ 电压3.0V时,将CPU从休眠模式唤醒需要5us; ✓ 宽工作电压范围;有扩展级温度范围; ✓ POR、PWRT、OST、BOD、WOT、MCLR; ✓ 引脚电平变化触发中断;独立可编程弱上拉; ✓ 耐久性闪存/EEPROM存储单元;达10万次; ✓ 6个双向I/O;675有10位A/D;双定时器 ……
第二章PIC单片机系统结构
13
PICmicro® 架构
指令实例 PIC MCU 指令编码为操作码和参数 编码用一个字完成
操作码 OP CODE
操作数 k k k k k k k k
PIC微控制器实验室 大学生创新实验室
14
精简指令RISC
• PIC16F877指令集只有35条指令 学习、程序设计便利 • 全部采用单字节指令 (除4条条件跳转指令外)均为单周期指 令 • “单字节”:专指指令字节
Fetch 1 Execute 1 1. MOVLW 55h Fetch 2 Execute 2 2. MOVWF PORTB Fetch 3 Execute 3 3. CALL SUB_1 Fetch 4 4. BSF PORTA, BIT3
Flush Fetch 4 Fetch SUB_1
PIC微控制器实验室 大学生创新实验室
PIC微控制器实验室 大学生创新实验室
20
上电复位 上电延时:72ms 起振延时:1024个时钟周期 看门狗定时器:监视程序运行状态 欠压复位:当电源电压低于4V,单片机保持在 复位状态 在线调试:对芯片程序直接调试 低压编程:允许工作电压VDD作为编程电 压
PIC微控制器实验室 大学生创新实验室
Bank 1
PIC微控制器实验室 大学生创新实验室
31
PIC单片机架构 程序存储器组织
复位矢量入口地址
0000H 0000H
0001H 0001H 0002H 0002H 0003H 0003H
中断服务程序入口地址 片内程序 存储器
0004H 0004H
页面1 页面2 页面3
07FFH 07FFH
分页的程序存储器 分页的程序存储器
(14位内核)
PIC单片机原理及应用(第十三章)
Bit4 CP0 TO TOSE
Bit3 PERT PD PSA
Bit2 WDTE Z PS2
Bit1 FOSC DC PS1
Bit0 FOSC C PS0
13.1.5
在线调试器; 在线调试器; 程序校验/代码保护; 程序校验/代码保护;
调试与编程
标识(ID)码存储单元; 标识(ID)码存储单元; 在线串行编程。 在线串行编程。
Bit3/PWRTE:上电延时控制位,主动参数。 Bit3/PWRTE:上电延时控制位,主动参数。 0:关闭上电延时; 关闭上电延时; 1:允许上电延时。 允许上电延时。 不管PWRTE位的值如何,使能(设置) 不管PWRTE位的值如何,使能(设置)掉电复位锁定 PWRTE位的值如何 功能也就自动使能(设置)上电延时定时器。因此, 功能也就自动使能(设置)上电延时定时器。因此,务必 保证在任何时候使能掉电复位锁定时, 保证在任何时候使能掉电复位锁定时,上电延时定时器将 处于使能状态。 处于使能状态。 Bit5 Bit4/CP1 CP0 FLASH程序内存代码保护使能位 Bit5~Bit4/CP1~CP0:FLASH程序内存代码保护使能位。 程序内存代码保护使能位。 00: 保护0000 00: 保护0000H-1FFFH的代码; 0000H FFFH的代码 的代码; 01: 保护1000 01: 保护1000H-1FFFH的代码; 1000H FFFH的代码 的代码; 10: 保护1 00H FFFH的代码 10: 保护1F00H-1FFFH的代码; 的代码; 11: 关闭代码保护功能。 关闭代码保护功能。
在芯片加电时,PWRT提供固定72ms正常上 提供固定72ms 在芯片加电时,PWRT提供固定72ms正常上 电延迟定时,上电延时定时用RC振荡器工作。 RC振荡器工作 电延迟定时,上电延时定时用RC振荡器工作。 只要PWRT工作,芯片就保持复位状态,PWRT延 只要PWRT工作,芯片就保持复位状态,PWRT延 PWRT工作 时可以使电源电压上升到一个对芯片工作适合 的电平。 的电平。
PIC单片机原理及应用(第三章)
3.3.1 通用寄存器
F877 单 片 机 的 通 用 寄 存 器 GPR ( General Purpose Registers),可由用户自行支配存放 随机数据。 通用寄存器区域: 通用寄存器数量: 地 址 区 域 : F0H~FFH 、 170H~l7FH 和 1F0H~1FFH,都可以索引(或映射)到体0的16 个RAM单元。 这样安排是为了便于中断服务程序的设计和 数据处理,就可以在程序设计中能够有效突破 体的限制而定义通用的变量函数。
RP1、RP0 = 0
RP1、RP0 = 0
0
1
选中体0
选中体1
RP1、RP0 = 1
RP1、RP0 = 1
0
1
选中体2
选中体3
Bit7/IRP:RAM数据存储器体选位,仅用于间 接寻址。 0:选择数据存储器低位体: 即 体 0 ( FSR 的 Bit7=0 ) 或 体 1 ( FSR 的 Bit7=1); 1: 选择数据存储器高位体: 即 体 2 ( FSR 的 Bit7=0 ) 或 体 3 ( FSR 的 Bit7=1)。
1.状态寄存器STATUS
状态寄存器的内容用来记录算术逻辑单元 ALU的运算结果状态、CPU的特殊运行状态以及 RAM数据存储器体间选择等信息。
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit 0
IRP
RP1
RP0
T0
PD
Z
DC
C
状态标志位
Bit0/C:进位/借位标志,被动参数。
0:执行加法(或减法)指令时,如果最高 位无进位(或有借位);
一般将整个程序存储器以2KB为单位进行分 页(PAGE),如图3-1所示F877单片机,8KB程 序存储器共分作4页,分别称为“页0”、“页 l” 、 “ 页 2” 和 “ 页 3” 。 程 序 计 数 器 高 8 位 PCLATH的Bit4~Bit3位构成程序存储器分页的 选择位,对应的地址空间如下:
PIC18系列单片机原理及实践ppt课件
2018/11/15
大连理工大学 电工电子实验中心 陈育斌
8
(三)高级模/数转换特性
10位、8通道的模/数(A/D)转换模块: 可利用休眠状态进行转换,以减少系统干扰、提高精度; 模拟比较模块:可编程多路输入/输出技术;
比较器参考电压模块;
可编程的低电压探测模块(PLVD):支持低电压检测时 产生中断;
1.
2. 3.
12XXX的指令宽度为12位,指令系统为33条;
16XXX系列的指令宽度为14位,指令系统为35条; 18XXX系列的指令宽度为16为,指令系统为58条。 这种特点决定了不同系列的产品其指令系统没有很好的 兼容性。
2018/11/15
大连理工大学 电工电子实验中心 陈育斌
13
1.4 PIC微控制器的程序ROM
通过两个引脚可进行在线串行编程(ICSP);
通过2个脚在线调试器。
2018/11/15
大连理工大学 电工电子实验中心 陈育斌
11
(五)CMOS芯片工艺性能
低电压,高速度FLASH/EEPROM技术; 全静态设计; 宽范围的工作电压:2.0-5.5V; 工业级和扩展级温度范围; 低功耗: —在5V、4MHz下典型值1.6mA;
PIC18系列单片机原理及实 践
如何学习PIC单片机
在产品的设计中,对于PIC单片机的选型采用的是“因 地制宜”的策略——根据需要合理选择各种系列产品, 这样可以做到产品的最佳“性价比”。这也是PIC单片 机的一种“优势”。如洗衣机、电冰箱或电梯控制系统 等会采用从低到高不同的PIC系列产品。
最大拉/灌电流可达25mA; 3个外部中断引脚; 4个定时器TMR0、TMR1、TMR2、TMR3; 捕捉/比较/脉宽调制(CCP)模块/增强型CCP模块; 两种工作方式的主同步串行通讯(MSSP):
PIC单片机原理及应用
◙
Main
Return
2013-7-11
◆ 匈牙利籍数学家冯·诺依曼在方案的 设计上做出了重要的贡献。1946年6月, 他又提出了“程序存储”和“二进制运 算”的思想; ◆ 进一步构建了计算机由运算器、控制 器、存储器、输入设备和输出设备组成 这一计算机的经典结构。
◄ Up
► Down
◙
Main
Return
◄ Up ► Down ◙ Main Retu机 ◆ Intel的8051单片机 ◆ Microchip的PIC单片机
◆ Atmel的AVR单片机
◄ Up ► Down ◙ Main Return
2013-7-11
1.5 单片机的应用领域
(1)智能仪器仪表 ◆单片机用于各种仪器仪表,一方面提 高了仪器仪表的使用功能和精度,使 仪器仪表智能化,同时还简化了仪器 仪表的硬件结构,从而可以方便地完 成仪器仪表产品的升级换代。 ◆如各种智能电气测量仪表、智能传感 器等。
◄ Up ► Down ◙ Main Return
2013-7-11
(4)数据采集系统 ◆在实时控制系统中,要求数据采集具有 较好的同步性和实时性,若采用单个计 算机顺序采集,存在不能同时采集、实 时性不强等缺点,会造成计算、处理上 的误差而引起分析统计困难。
◄ Up
► Down
◙
Main
Return
◄ Up
► Down
◙
Main
Return
2013-7-11
◆ ENIAC是电子管计算机,时钟频率仅有 100KHz,但能在1秒钟的时间内完成5000次 加法运算。与现代的计算机相比,有许多不 足,但它的问世开创了计算机科学技术的新 纪元,对人类的生产和生活方式产生了巨大 的影响。
PIC单片机原理及应用(第十一章)
比较功能
CCP 模块第 2 个功能是比较方式输出,用于 从引脚上输出不同宽度的矩形脉冲信号、不同 的周期频率脉冲以及非周期频率信号等。 根据预置的特定值(CCPR1)与TMR1计数器 的计数值进行比较,当两者数值一致时给出比 配信号,触发 CCP 中断标志位置位。由 RC2 引脚 可以输出3种逻辑状态。
第11章
CCP捕捉/比较/脉宽调制
配置了 2 个捕捉/比较/脉宽调制模块 CCP1 、 CCP2(Capture/Compare/PWM)。 它们各自都有独立的16位寄存器CCPR1和CCPR2, 两个模块结构、功能、操作方法基本一样,它 们的区别仅在于各自有独立的外部引脚,以及 各自的特殊事件触发器。 它们的功能实现,往往与定时器TMR1、TMR2复 合使用。
TMR2控制寄存器:T2CON
CCP控制寄存器CCP1CON
Bit3-Bit0/CCP1M3-CCP1M0 :脉宽调制功能设置, 主动参数。
11XX:脉宽调制方式,低2位不起作用。
Bit5~Bit4/CCP1X~CCP1Y:CCP1脉宽寄存器的低2 位,高8位在CCPR1L中,数据参数。
PWM操作设置
Bit5-Bit4/CCP1X-CCP1Y: PWM工作循环周期的最低2位,数据参数。作为其输出信号 脉宽的低2位,高8位在CCPR1L中。 捕捉方式:未用。 比较方式: 单片机的输入捕捉功能,就是对外部 从引脚 CCP 上输入的脉冲上升沿或下降沿进行 实时捕捉检测。 容易实现对信号周期及脉冲占空比的检测。
CCP1控制寄存器 :CCP1CON
Bit7 Bit6 Bit5 CCP1X Bit4 CCP1Y Bit3 Bit2 Bit1 Bit0
CCP1M3 CCP1M2 CCP1M1 CCP1M0
2019PIC单片机原理及应用2
31
中断允许控制寄存器IECx:所有中断允许控制位都保存在这些 寄存器中。这些控制位用于控制是否允许来自外的中断请求被 响应。
➢ 置1 =允许中断请求 ➢ 置0 =不允许中断请求
32
中断优先级控制寄存器IPCx:用于为每个中断源设置中断优先 级。每个用户中断源都可以设置为1-7 的优先级,用三位二进 制数表示。如果中断源的优先级设置为零,则中断源被禁止。
流水灯的实现方法
发光LED D6
D5
端口
RE5
RE4
输出值1
0
0
输出值2
0
0
输出值3
0
0
输出值4
0
0
输出值5
0
1
输出值6
1
0
方法一 循环输出
D4
D3
D2
RE3
RE2
RE1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
方法二 移位输出
D1
RE0 0x01
1
0x02
0
0x04
0
0x08
0
0x10
0
0x20
0
软件设计 方法一:循环输出
四. 实验步骤 (1)连接在线调试器PICkit3、APP009实验板和计算机; (2)打开MPLAP IDE集成开发环境软件,点击Debugger>Select
Tools>PICkit 3 选择调试工具; (3)点击Debugger>Settings,在Settings窗口中点击Power栏,选择