Open16F877A用户手册
来自Waveshare Wiki
开发板基本操作
上电和下载
按下图连接,接入PIC下载器/仿真器[1]进行下载。
入门实验
在下列入门实验中的都要给PIC开发板供电,并下载对应的例程。
1-WIRE_DS18B20
程序说明
- 通过1-Wire口来检测温度传感DS18B20+[2]上的温度
实验操作
【步骤】
- 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
- 接上DS18B20+到1-WIRE接口 (注意:DS18B20+接入的方向不能接反,否则易烧坏)
- 接上LCD1602[3]到LCD1602接口
- 供电,并下载例程
【现象】
- LCD1602上显示出DS18B20+上感应到的温度值
2.2inch LCD
程序说明
- 2.2寸彩屏触摸显示控制
实验操作
【步骤】
- 将2.2inch 320x240 Touch LCD (A)[4]插入LCD22(3.3V)接口
- 供电,并下载例程
【现象】
- 2.2inch 320x240 Touch LCD (A)显示并可以触摸操作
8 Push Buttons
程序说明
- 检测8 Push Buttons[5]按键的状态来控制对应LED的亮灭
实验操作
【步骤】
- 接上LED JMP跳线帽
- 接上8 Push Buttons到8I/Os接口(注意模块上的“G”要对准开发板的“GND”接口接入)
- 供电,下载例程
【现象】
- 按8 Push Buttons上按键,LED会有对应变化
8 SEG LED Board
程序说明
- 通过I/O口来控制8 SEG LED Board[6]数码管的显示
实验操作
【步骤】
- 接上8 SEG LED Board到16I/Os接口
- 供电,并下载例程
【现象】
- 8 SEG LED Board上4个数码管会有规律的显示出数字和字母
AD Keypad
程序说明
- 通过一个AD口来检测AD Keypad[7]上16个按键按压后产生的不同的电压值
实验操作
【步骤】
- 接上LCD1602[3]
- 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
- 接上AD Keypad到ADC接口(上面“2”排)
- 供电,并下载例程
【现象】
- LCD1602显示AD Keypad按键对应的AD值
AD_LCD1602
程序说明
- 检测AD接口引脚电压,并显示到LCD上
实验操作
【步骤】
- 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
- 接上LCD1602[3]
- 供电,并下载例程
【现象】
- 1602显示RA0端口的电压
CCP1_Infrared
程序说明
- 通过RC2口来检测红外接收头的信号,并把接收到的信号“转码”显示到LED出来
实验操作
【步骤】
- 接上Infrared JMP、LED JMP跳线帽
【现象】
- 红外遥控器对准红外接收头按下不同按钮,LED会有对应的显示
FT245
程序说明
- RD:FT245读实验
- WR:FT245写实验
实验操作
【步骤】
- 取下FT245 USB FIFO Board[8]对外部供电的供电跳线
- 取下PIC开发板上的1-WIRE JMP跳线
- 接上LED JMP跳线帽
- 将FT245 USB FIFO Board插入16I/Os接口,另外一端接到PC机
- 供电,并下载例程
- 打开串口助手,选择对应的com口,设置波特率为19200
【现象】
- RD:L0~L7这8个LED会对应地点亮出串口发送的字符所对应的二进制值
- WR: 串口接收窗口会打印出接收到的数据
I2C_AT24CXX
程序说明
- I2C EEPROM实验
实验操作
【步骤】
- 接上LED JMP跳线帽
- 将AT24CXX EEPROM Board[9]插入I2C接口
- 供电,并下载例程
【现象】
- 单片机先对AT24CXX写数据,然后再对AT24CXX读之前写入的数据,并通过LED显示读到的数据
I2C_PCF8563
程序说明
- PCF8563实验
实验操作
【步骤】
- 将PCF8563 RTC Board[10]插入I2C接口
- 将8 SEG LED Board插入16I/O接口
- 供电,并下载例程
【现象】
- 数码管显示时间
I2C_PCF8574
程序说明
- PCF8574实验
实验操作
【步骤】
- 接上LED JMP跳线帽
- 将PCF8574 IO Expansion Board[11]插入I2C接口
- 将外扩的P0-P7通过跳线接到LED0-7
- 供电,并下载例程
【现象】
- LED显示外扩的数据
I2C_PCF8591
程序说明
- PCF8591实验
实验操作
【步骤】
- 将PCF8591 AD DA Board[12]插入I2C接口
【现象】
- LED按二进制数值迭加显示:0000、0001、0010、0011...
Interrupts_LED
程序说明
- 外部中断实验
实验操作
【步骤】
- 取下的1-WIRE JMP跳线
- 取下的L0跳线帽
- 将RB0管脚用跳线跳到按键S0
- 供电,并下载例程
【现象】
- 按S0,L1会灭亮变化
JOYSTICK
程序说明
- joystick:检测JOYSTICK按键的状态来控制对应LED的亮灭
实验操作
【步骤】
- 接上LED JMP、JOYSTICK跳线帽
- 供电,下载例程
【现象】
- 按压JOYSTICK不同方向,LED有对应变化
KEY
程序说明
- 通过板载的按键来控制LED的亮灭
实验操作
【步骤】
- 接上LED JMP、KEY JMP跳线帽
- 供电,下载例程
【现象】
- 分别按板上的按键S0、S1,LED有不同的变化
LCD1602
程序说明
- 字符型LCD1602[3]显示控制
实验操作
【步骤】
- 把VCC选择跳线接到3.3V(注意:若接到5V,LCD1602亮度太高,无法正常显示字幕)
- 接上LCD1602到LCD1602接口
- 供电,并下载例程
【现象】
- LCD1602显示出“waveshare”字样
LED
程序说明
- 使用芯片I/O口控制LED的亮灭
实验操作
【步骤】
- 接上LED JMP跳线帽
- 供电,下载例程
【现象】
- 8个LED会有亮灭变化
PS2
程序说明
- 通过PS/2接口控制键盘,并把按键值输出到LCD上显示
实验操作
【步骤】
- 接上PS/2 JMP跳线帽
- 接上键盘到PS/2接口
- 取下Buzzer JMP跳线帽
- 接上LCD1602到LCD1602接口
- 供电,并下载例程
【现象】
- LCD1602显示出键盘输入字符
PWM_Buzzer
程序说明
- PWM来控制蜂鸣器响起的频率
实验操作
【步骤】
- 将RC2通过跳线跳到Buzzer JMP的BUZ (注:如果使用的是Open16F877A的板子,只需要短接RB1和BUZ就可以)
- 供电,并下载例程
【现象】
- 蜂鸣器响起
SPI_AT45DBXX
程序说明
- AT45DB实验
实验操作
【步骤】
- 将AT45DBXX DataFlash Board[13]插入SPI接口(下面“1”排)
- 供电,并下载例程
【现象】
- LED显示对AT45DB读的数据
SPI_NRF24L01
程序说明
- NRF24L01:NRF24L01无线通信实验
实验操作
【步骤】
- 需准备两个板子(一个作为发送信号 — TX,另一个作为接收信号 — RX),下例以两个PIC开发板为例
- 两个板子的电源跳线都跳到3.3v
- 接上RX板子的LED JMP跳线帽
- 将两个NRF24L01 RF Board (B)[14]分别接到两个PIC板子的SPI接口
- RX的板子通过PL2303 USB UART Board连到电脑
- 供电,并下载例程
- 打开串口助手,选择对应的com口,设置波特率为19200
【现象】
- 按住TX的板子的S0按键,RX的板子的LED会变化,串口会打印出收到的数值
SPI_SD_Card
程序说明
- SD卡实验
实验操作
【步骤】
- 接上LED JMP跳线帽
- 将2G SD卡接入Micro SD Storage Board[15]
- 将Micro SD Storage Board插入SPI接口
- 供电,并下载例程
【现象】
- LED显示从程序写入SD卡后又回读到的数据
Timer0_LED
程序说明
- 定时器T0实验
实验操作
【步骤】
- 接上LED JMP跳线帽
- 供电,并下载例程
【现象】
- LED闪动
Timer1_LED
程序说明
- 定时器T1实验
实验操作
【步骤】
- 接上LED JMP跳线帽
- 供电,并下载例程
【现象】
- LED闪动
USART
程序说明
- USART实验
实验操作
【步骤】
- 将PL2303 USB UART Board (mini) [16]插入USART端口,并把它的另外一端接到PC机上
- 供电,并下载例程
- 打开串口助手,选择对应的com口,设置波特率为19200
【现象】
- 打开串口调试助手,发送的字符会在串口助手上显示
相关资料
- ↑ PIC下载器/仿真器:主要有pickit3等型号
- ↑ DS18B20+:温度传感芯片
- ↑ 3.0 3.1 3.2 3.3 LCD1602:液晶显示模块LCD1602,到LCD1602接口。查看更多字符LCD
- ↑ 2.2inch 320x240 Touch LCD (A):彩色LCD触摸显示屏,查看更多图形LCD模块
- ↑ 8 Push Buttons:基于IO口控制的按键模块,查看更多按键模块
- ↑ 8 SEG LED Board:基于I/O口控制的数码管模块
- ↑ AD Keypad:16个按键,仅占用1个AD口
- ↑ FT245 USB FIFO Board (mini):基于FT245芯片设计的USB转FIFO通信模块
- ↑ AT24CXX EEPROM Board:基于I2C接口的EEPROM模块
- ↑ PCF8563 RTC Board:基于I2C接口的时钟模块,带日历功能,接入备用电池,掉电后可继续工作,查看更多相关模块
- ↑ PCF8574 IO Expansion Board:基于I2C接口的I/O扩展模块,使用2个I/O可扩展8个I/O(最多可同时使用8个PCF8574,扩至64个I/O)
- ↑ PCF8591 AD DA Board:基于I2C接口的AD/DA转换模块,8位精度,四通道AD,单通道DA,电压输出型
- ↑ AT45DBXX DataFlash Board:基于SPI接口的DataFlash模块
- ↑ NRF24L01 RF Board (B):基于SPI接口的2.4G无线模块,查看更多RF无线通信模块
- ↑ Micro SD Storage Board:支持SDIO及SPI接口对SD卡进行操作的模块
- ↑ PL2303 USB UART Board (mini):串口(UART)通信模块,查看更多USB模块