Open16F877A用户手册

来自Waveshare Wiki
跳转至: 导航搜索

开发板基本操作

上电和下载

    按下图连接,接入PIC下载器/仿真器[1]进行下载。
PICkit3-debugger.JPG

入门实验

    在下列入门实验中的都要给PIC开发板供电,并下载对应的例程。


1-WIRE_DS18B20

程序说明

  • 通过1-Wire口来检测温度传感DS18B20+[2]上的温度

实验操作

【步骤】

  1. 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
  2. 接上DS18B20+到1-WIRE接口 (注意:DS18B20+接入的方向不能接反,否则易烧坏)
  3. 接上LCD1602[3]到LCD1602接口
  4. 供电,并下载例程

【现象】

  • LCD1602上显示出DS18B20+上感应到的温度值

【照片】
接上DS18B20+屏幕显示温度

2.2inch LCD

程序说明

  • 2.2寸彩屏触摸显示控制

实验操作

【步骤】

  1. 将2.2inch 320x240 Touch LCD (A)[4]插入LCD22(3.3V)接口
  2. 供电,并下载例程

【现象】

  • 2.2inch 320x240 Touch LCD (A)显示并可以触摸操作

【照片】
接入LCD22显示

8 Push Buttons

程序说明

  • 检测8 Push Buttons[5]按键的状态来控制对应LED的亮灭

实验操作

【步骤】

  1. 接上LED JMP跳线帽
  2. 接上8 Push Buttons到8I/Os接口(注意模块上的“G”要对准开发板的“GND”接口接入)
  3. 供电,下载例程

【现象】

  • 按8 Push Buttons上按键,LED会有对应变化

【照片】
接上8 Push Buttons到8I/Os接口

8 SEG LED Board

程序说明

  • 通过I/O口来控制8 SEG LED Board[6]数码管的显示

实验操作

【步骤】

  1. 接上8 SEG LED Board到16I/Os接口
  2. 供电,并下载例程

【现象】

  • 8 SEG LED Board上4个数码管会有规律的显示出数字和字母

【照片】
接上8 SEG LED Board后现象

AD Keypad

程序说明

  • 通过一个AD口来检测AD Keypad[7]上16个按键按压后产生的不同的电压值

实验操作

【步骤】

  1. 接上LCD1602[3]
  1. 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
  2. 接上AD Keypad到ADC接口(上面“2”排)
  3. 供电,并下载例程

【现象】

  • LCD1602显示AD Keypad按键对应的AD值

【照片】
LCD1602显示AD Keypad按键AD值

AD_LCD1602

程序说明

  • 检测AD接口引脚电压,并显示到LCD上

实验操作

【步骤】

  1. 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
  2. 接上LCD1602[3]
  3. 供电,并下载例程

【现象】

  • 1602显示RA0端口的电压

【照片】
1602显示RA0端口的电压

CCP1_Infrared

程序说明

  • 通过RC2口来检测红外接收头的信号,并把接收到的信号“转码”显示到LED出来

实验操作

【步骤】

  1. 接上Infrared JMP、LED JMP跳线帽

【现象】

  • 红外遥控器对准红外接收头按下不同按钮,LED会有对应的显示

【照片】
红外遥控LED亮灭

FT245

程序说明

  • RD:FT245读实验
  • WR:FT245写实验

实验操作

【步骤】

  1. 取下FT245 USB FIFO Board[8]对外部供电的供电跳线
  2. 取下PIC开发板上的1-WIRE JMP跳线
  3. 接上LED JMP跳线帽
  4. 将FT245 USB FIFO Board插入16I/Os接口,另外一端接到PC机
  5. 供电,并下载例程
  6. 打开串口助手,选择对应的com口,设置波特率为19200

【现象】

  • RD:L0~L7这8个LED会对应地点亮出串口发送的字符所对应的二进制值
  • WR: 串口接收窗口会打印出接收到的数据

【照片】
接上FT245WR实验现象

I2C_AT24CXX

程序说明

  • I2C EEPROM实验

实验操作

【步骤】

  1. 接上LED JMP跳线帽
  2. 将AT24CXX EEPROM Board[9]插入I2C接口
  3. 供电,并下载例程

【现象】

  • 单片机先对AT24CXX写数据,然后再对AT24CXX读之前写入的数据,并通过LED显示读到的数据

【照片】
LED显示出AT24CXX读之前写的数据

I2C_PCF8563

程序说明

  • PCF8563实验

实验操作

【步骤】

  1. 将PCF8563 RTC Board[10]插入I2C接口
  2. 将8 SEG LED Board插入16I/O接口
  3. 供电,并下载例程

【现象】

  • 数码管显示时间

【照片】
接入PCF8563 RTC Board数码管显示时间

I2C_PCF8574

程序说明

  • PCF8574实验

实验操作

【步骤】

  1. 接上LED JMP跳线帽
  2. 将PCF8574 IO Expansion Board[11]插入I2C接口
  3. 将外扩的P0-P7通过跳线接到LED0-7
  4. 供电,并下载例程

【现象】

  • LED显示外扩的数据

【照片】
LED流水灯

I2C_PCF8591

程序说明

  • PCF8591实验

实验操作

【步骤】

  1. 将PCF8591 AD DA Board[12]插入I2C接口

【现象】

  • LED按二进制数值迭加显示:0000、0001、0010、0011...

【照片】
LED显示递加的AD值

Interrupts_LED

程序说明

  • 外部中断实验

实验操作

【步骤】

  1. 取下的1-WIRE JMP跳线
  2. 取下的L0跳线帽
  3. 将RB0管脚用跳线跳到按键S0
  4. 供电,并下载例程

【现象】

  • 按S0,L1会灭亮变化

【照片】
按键SO触发中断来控制LED1亮灭

JOYSTICK

程序说明

  • joystick:检测JOYSTICK按键的状态来控制对应LED的亮灭

实验操作

【步骤】

  1. 接上LED JMP、JOYSTICK跳线帽
  2. 供电,下载例程

【现象】

  • 按压JOYSTICK不同方向,LED有对应变化

KEY

程序说明

  • 通过板载的按键来控制LED的亮灭

实验操作

【步骤】

  1. 接上LED JMP、KEY JMP跳线帽
  2. 供电,下载例程

【现象】

  • 分别按板上的按键S0、S1,LED有不同的变化

LCD1602

程序说明

  • 字符型LCD1602[3]显示控制

实验操作

【步骤】

  1. 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
  2. 接上LCD1602到LCD1602接口
  3. 供电,并下载例程

【现象】

  • LCD1602显示出“waveshare”字样

【照片】
LCD1602显示出“waveshare”

LED

程序说明

  • 使用芯片I/O口控制LED的亮灭

实验操作

【步骤】

  1. 接上LED JMP跳线帽
  2. 供电,下载例程

【现象】

  • 8个LED会有亮灭变化

PS2

程序说明

  • 通过PS/2接口控制键盘,并把按键值输出到LCD上显示

实验操作

【步骤】

  1. 接上PS/2 JMP跳线帽
  2. 接上键盘到PS/2接口
  3. 取下Buzzer JMP跳线帽
  4. 接上LCD1602到LCD1602接口
  5. 供电,并下载例程

【现象】

  • LCD1602显示出键盘输入字符

【照片】
设置对应的跳线,并接入LCD1602显示

PWM_Buzzer

程序说明

  • PWM来控制蜂鸣器响起的频率

实验操作

【步骤】

  1. 将RC2通过跳线跳到Buzzer JMP的BUZ (注:如果使用的是Open16F877A的板子,只需要短接RB1和BUZ就可以)
  2. 供电,并下载例程

【现象】

  • 蜂鸣器响起

【照片】
PWM控制蜂鸣响起

SPI_AT45DBXX

程序说明

  • AT45DB实验

实验操作

【步骤】

  1. 将AT45DBXX DataFlash Board[13]插入SPI接口(下面“1”排)
  2. 供电,并下载例程

【现象】

  • LED显示对AT45DB读的数据

【照片】
接入AT45DBXX DataFlash BoardLED显示对AT45DB读的数据

SPI_NRF24L01

程序说明

  • NRF24L01:NRF24L01无线通信实验

实验操作

【步骤】

  1. 需准备两个板子(一个作为发送信号 — TX,另一个作为接收信号 — RX),下例以两个PIC开发板为例
  2. 两个板子的电源跳线都跳到3.3v
  3. 接上RX板子的LED JMP跳线帽
  4. 将两个NRF24L01 RF Board (B)[14]分别接到两个PIC板子的SPI接口
  5. RX的板子通过PL2303 USB UART Board连到电脑
  6. 供电,并下载例程
  7. 打开串口助手,选择对应的com口,设置波特率为19200

【现象】

  • 按住TX的板子的S0按键,RX的板子的LED会变化,串口会打印出收到的数值

【照片】
无线通信模块连接操作示意图 RX的板子串口接收TX板子发送的信息,并打印出来

SPI_SD_Card

程序说明

  • SD卡实验

实验操作

【步骤】

  1. 接上LED JMP跳线帽
  2. 将2G SD卡接入Micro SD Storage Board[15]
  3. 将Micro SD Storage Board插入SPI接口
  4. 供电,并下载例程

【现象】

  • LED显示从程序写入SD卡后又回读到的数据

【照片】
LED显示从程序写入SD卡后又回读到的数据

Timer0_LED

程序说明

  • 定时器T0实验

实验操作

【步骤】

  1. 接上LED JMP跳线帽
  2. 供电,并下载例程

【现象】

  • LED闪动

Timer1_LED

程序说明

  • 定时器T1实验

实验操作

【步骤】

  1. 接上LED JMP跳线帽
  2. 供电,并下载例程

【现象】

  • LED闪动

USART

程序说明

  • USART实验

实验操作

【步骤】

  1. 将PL2303 USB UART Board (mini) [16]插入USART端口,并把它的另外一端接到PC机上
  2. 供电,并下载例程
  3. 打开串口助手,选择对应的com口,设置波特率为19200

【现象】

  • 打开串口调试助手,发送的字符会在串口助手上显示

【照片】
接上PL2303 USB UART Board串口助手接收到并打印出发送给单片机的数据

相关资料

  1. PIC下载器/仿真器:主要有pickit3等型号
  2. DS18B20+:温度传感芯片
  3. 3.0 3.1 3.2 3.3 LCD1602:液晶显示模块LCD1602,到LCD1602接口。查看更多字符LCD
  4. 2.2inch 320x240 Touch LCD (A):彩色LCD触摸显示屏,查看更多图形LCD模块
  5. 8 Push Buttons:基于IO口控制的按键模块,查看更多按键模块
  6. 8 SEG LED Board:基于I/O口控制的数码管模块
  7. AD Keypad:16个按键,仅占用1个AD口
  8. FT245 USB FIFO Board (mini):基于FT245芯片设计的USB转FIFO通信模块
  9. AT24CXX EEPROM Board:基于I2C接口的EEPROM模块
  10. PCF8563 RTC Board:基于I2C接口的时钟模块,带日历功能,接入备用电池,掉电后可继续工作,查看更多相关模块
  11. PCF8574 IO Expansion Board:基于I2C接口的I/O扩展模块,使用2个I/O可扩展8个I/O(最多可同时使用8个PCF8574,扩至64个I/O)
  12. PCF8591 AD DA Board:基于I2C接口的AD/DA转换模块,8位精度,四通道AD,单通道DA,电压输出型
  13. AT45DBXX DataFlash Board:基于SPI接口的DataFlash模块
  14. NRF24L01 RF Board (B):基于SPI接口的2.4G无线模块,查看更多RF无线通信模块
  15. Micro SD Storage Board:支持SDIO及SPI接口对SD卡进行操作的模块
  16. PL2303 USB UART Board (mini):串口(UART)通信模块,查看更多USB模块