
第1章 PIC16F877单片机实验板介绍.docx
7页第 1 章 PIC16F877 单片机实验板介绍美国微芯公司推出的CMOS 8位PIC系列单片机,采用精简指令集(RISC)、哈佛 总线结构、 2 级流水线取指令方式,具有实用、低价、指令集小、简单易学、低功耗、 高速度、体积小、功能强等特点,体现了单片机发展的一种新趋势,深受广大用户的欢迎, 已逐渐成为单片机发展的新潮流PIC16F87X是微芯公司的中档产品它采用14位的类RISC指令系统,在保持低价 格的前提下,增加了 A/D转换器、内部E2PROM存储器、比较输出、捕捉输入、PWM 输出(加上简单的滤波电路后还可以作为D/A输出)、I2C总线和SPI总线接口电路、异 步串行通信(USART)接口电路、模拟电压比较器、LCD驱动、FLASH程序存储器等 许多功能,可以方便地多次编程和调试,特别适用于初学者学习和在产品的开发阶 段使用;它也可以作为产品开发的终极产品微芯公司还将FLASH芯片做成与OTP芯 片价格相近,以致可用FLASH芯片代替OTP芯片微芯公司的单片机是品种最丰富的 单片机系列之一,被广泛地应用于各种仪器和设备中这种单片机具有如下显著的特点:开发容易,周期短:由于PIC采用类RISC指令集,指令数目少(PIC16F87X仅35 条指令),且全部为单字长指令,易学易用;相对于采用CISC (复杂指令集)结构的单 片机可节省30 %以上的开发时间、2倍以上的程序空间。
高速: PIC 采用哈佛总线和类精简指令集,逐步建立了一种新的工业标准,指令的 执行速度比一般的单片机要快4〜5倍低功耗:PIC采用CMOS电路设计,结合了诸多的节电特性,使其功耗很低;100 % 的静态设计可进入休眠(Sleep )省电状态,而不会影响激活后的正常运行微芯公司的 单片机是各类单片机中低功耗设计最好的产品之一低价实用:PIC 配备有 OTP (One Time Programmable)型、EPROM 型及 FLASH 型 等多种形式的芯片,其OTP型芯片的价格很低PIC还提供程序监视器(WDT)和程序 可分区保密的保密位(Security Fuse)等功能;提供了基于Windows98/NT/2000的、方 便易用的、全系列产品开发工具及大量子程序库和应用实例,使产品开发更容易、快捷为了更好地开展大学单片机的教学、实验及毕业设计环节中单片机的应用 ,提高 PIC16F877开发的速度,我们采用PIC16F877单片机设计了一个功能齐全的通用模板 以后章节提供的大量应用程序和接口程序样例都是在这个实验板的基础上编写的1.1 模板功能介绍在设计过程中,我们合理利用了 PIC16F877 单片机的几乎所有内部资源,设计了 这块功能齐全的模板。
下面对这些功能作简单的介绍1.1.1 A/D 转换功能为了得到现场模拟信号,很多时候都需要 A/D 采集 PIC16F877 单片机片内有 8 路10位A/D转换通道,在这里用了 3路其中VIN0,VIN1 (标号介绍见1.3节)用来采 集交流电压和相应的电流由于PIC16F877单片机的片内A/D为单极性,要将交流信号 经过放大、滤波、提升电位后,才能送入单片机因此,对于任一需要采样的交流信号 在接入实验板之前,要先用信号调理电路将其转换为峰值为+2V的信号(此范围可调), 再在实验板上加2V的提升电压,才可以得到幅值在+0〜+4V之间的信号根据信号调 理电路的衰减倍数以及提升电压的数值,很容易通过软件得出实际的A/D采样值;通过 采集这两路电压电流信号,可以通过该实验板对电网的一些重要参数进行检测,如电压 电流有效值、电网的有功无功、功率因数、谐波等,还可以进行 FFT 运算另外,用 VIN2采集直流信号由于直流信号种类多、量值范围宽,所以采用增益可调的同相比例 放大器对直流信号进行初步处理后,再接入单片机的A/D输入通道;由于产生直流信号 的方式很多,所以没有设计具体的电路,用户可以搭建一些简单的电路配合该实验板实 现多种信号(如温度、压力等)的检测。
1.1.2 键 盘在许多应用中,都需要用键盘来输入数据或对程序的进程进行管理;因此在单片机 的设计和调试实验中,键盘是一个不可缺少的部分本设计中采用单片机的RBI、RB2、 RB4、RB5 4个I/O 口和若干按键构成一个简单的矩阵式键盘其中RB4和RB5在引脚 的电平发生变化时,产生“电平变化中断”;因此,对键盘的输入扫描可采用查询方式或 中断方式键盘的详细工作原理请参考本书相关章节1.1.3 LED 显示通常情况下,需要用LED来显示单片机的工作状态、运行结果和参数等,它是人机 对话的重要环节;因此本模板设计了 LED显示部分为了节约CPU的资源,同时为了 利用该单片机强大的I/O 口扩展能力,采用PIC16F877单片机的SPI接口和移位寄存器 芯片74HC595 (该芯片可以把串行数据转换成并行数据输出)实现LED的静态显示 通过级连的方式把8个74HC595芯片连在一起,形成一个64位的移位寄存器,同时每 个74HC595芯片的并行输出连接一个8段LED,这样就可以通过简单编程实现显示功 能比如要在8个LED上分别显示1、2、3、4、5、6、7、8,可以通过SPI 口连续发 送8个数据的显示段码,发送完毕后通过琐存信号线LACK发出一个锁存信号,便可以 实现静态显示。
LED的详细工作原理请参考本书相关章节1.1.4液晶显示器(LCD)显示在各种智能型仪器和便携式产品中,除了能显示字符、数字之外,通常能够显示各 种图形、曲线及汉字,并且可以实现屏幕上下左右滚动、动画、闪烁及文本特征显示等 功能为此,我们设计了 LCD显示电路来实现这一功能本模板采用SED1520F0A驱 动器驱动的MG_1223液晶显示器,并且用有外部扩展接口的并行从动口 D复用为其数 据总线用户可以查阅相关资料对其性能进行了解,在后面的章节也提供了相应的接口 程序1.1.5 8路开关量输入和8路开关量输出在单片机应用现场经常需要采集开关量信号,而且也常常需要用开关量输出作控制 信号因此在设计过程中,我们利用 PIC16F877 单片机的 SPI 串行外设口和 74HC165 芯片扩展了 8路开关量输入通道74HC165是一种可将8位并行数据转换成串行数据的 芯片,利用单片机的SPI串行外设接口的数据线和时钟控制线很容易将74HC165转换后 的串行数据送入单片机在设计过程中,为了实验的需要,每一个输入引脚在留有外部 接口的同时,都在实验板上接了一个单刀双掷开关,实验时可根据不同的需要将相应的 开关接到高电平或低电平上,从而模拟实际控制过程中的一些开关量输入。
另外,还用 一个8位的拨动开关与D 口相连,把开关拨向ON位置,可以使板上的8个发光二极管 与 D 口相连,从而进行简单的开关量输出操作和逻辑控制输出1.1.6 D/A 输出工业现场中,常常需要用到D/A转换器输出模拟信号;因此在本模板的设计中, 采用了 MAX518和单片机的I2C总线接口,扩展出2路D/A输出值得注意的是,在扩 展D/A输出时,用的是I2C总线;开关量输入时,用的是SPI总线这两个总线在PIC16F877 单片机上的数据输入线和时钟线是相同的,因此需要在硬件设计上将SPI总线和I2C总 线加以区分,具体方式见后面的章节1.1.7串行通信接口 SCI在实际应用中,单片机和PC机之间经常需要进行数据交换们采用MAX232驱动 PIC16F877单片机的SCI接口与标准RS 232电平接口,使单片机和PC机之间能方便地 进行数据交换,也可以方便地进行两个或多个单片机之间的通信1.1.8 主从单片机多机并行通信PIC16F877单片机模板可以和另一块PIC16F877单片机模板进行主从并行多机通 信,提供中断方式和查询方式;因此把从动口 PORTD留有外部接插头该从动口与液 晶的数据总线复用;但可以通过软件使二者互不干扰。
1.1.9捕捉方式,PWM方式PIC16F877单片机可以对外部信号的边缘进行捕捉,特别适用于转速测量、脉冲计 量等应用场合 PWM 输出方式在工程中的应用就更为广泛,在精度要求不是很高的场 合,用户还可以在外部接上简单的低通滤波器,利用PWM实现简单的D/A输出该实 验模板已经留有CCP1和CCP2 口供用户使用1.1.10 多种复位方式PIC16F877单片机可以有上电复位、掉电锁定复位、程序监视器复位等多种复位方 式1.1.11 时钟信号PIC16F877单片机的时钟信号由外部4MHz晶振或RC谐振电路提供定时器1由 外部频率为32.768kHz的晶振提供时钟,从而使得定时器1在单片机进入SLEEP状态时 也能继续计数;在计数时间到时,将单片机从SLEEP状态唤醒,运行日历时,钟程序更 新日历记录1.1.12 其他功能为了方便调试,在模板上配有 PIC16F877 单片机的仿真头,可实现调试,而 不需将芯片从实验板上来回拔插在模板上置有复位按键,在实验时可方便地进行手动 复位另外,还留有双电源,用户可以将实验板上的J1接线头接入+5V电源;也可以接 上跳针J10后,用专用的+9V插头电源(MPLAB_ICD的电源)从J6接入供电。
1.2 实验板的硬件布局图 1.1 是实验板相应位置图在图上给出了外部接线口位置、跳针位置、各种测量 点的位置及在调试中要用到的其他硬件的位置12O2C/KCJI 2o o o □T15 回AOLED LED LEE LED LED LEDT19—RJ2KHZPCCF2 SCKT18 T17 T16回⑥LED LEDJ9LCDTil 口 TEDJIEHi~~i iElTB回VKLP'J751曲2HUliJ3□ oT140R/W@ □陋血疋5 IEui +2v [a]T1VINO [□] T2V1N1J4PILJ15BTT21T2D口OSDISDOH2Sil S10 S9 RESET 1口 口 口OSW-PB0000000B|p5LuSW^'B SVJ-PB Sm-PBSW-PB回V:N2 冋 T£ MCP604 」T? TS T5 RJ9VOUTO Y0UT1 V0UT2 ;=;T3图 1.1 实验板元件位置图1.3 测试点及主要器件介绍表1.1测试点功能介绍编号符号功能T1+2V测试稳压管的稳压值T2VIN0外部交流模拟量0输入测试T3VIN1外部交流模拟量1输入测试T4VIN2外部直流模拟量输入测试T5V0UT2直流模拟量经过运放电路处理、进入单片机的测试T6VOUT1交流模拟量1经过运放电路处理、讲入单片机的测试T7VOUT0交流模拟量0经过运放电路处理、讲入单片机的测试T8VREF交流信号提升电压测试T9TX通信数据电平经过MAX232变换后的测试T10RXT11TXD从单片机输出的通信数据电平的测试T12RXDT1332.768KHZTMR1振荡器电路的晶振振荡波形测试T14R/W并行从动端口的R\D\信号的测试T15A0并行从动端口的W\R\信号的测试T16C\S\并行从动端口的C\S\信号的测试T17CLKIN单片机工作晶振的振荡波形测试T18CCP1CCP模块1的测试T19SCK。
