文档详情

PIC单片机学习指南.pdf

发布:2017-08-06约8.86万字共61页下载文档
文本预览下载声明
单片机学习指南 资料提供:上海齐济电子有限公司 第1章 PIC16F877 的外围功能模块 1.1.2 简单应用实例 该例用于令与PORTD 口相连的8 个发光二极管前4 个点亮,后4 个熄灭。在调试程序 前,应使与PORTD 口相连的8 位拔码开关拔向相应的位置。 例1.1 PORTD 输出 #include pic.h main() { TRISD=0X00 ; /*TRISD 寄存器被赋值,PORTD 每一位都为输出*/ while(1) ; /*循环执行点亮发光二极管的语句*/ { PORTD=0XF0 ; /* 向PORTD 送数据,点亮LED (由实验模板*/ /* 的设计决定相应位置低时LED 点亮)。*/ } } 1.2.1 MSSP 模块SPI 方式功能简介 下面是一段简单的SPI 初始化例程,用于利用SPI 工作方式输出数据的场合。 例1.2 SPI 初始化程序 /*spi 初始化子程序*/ void SPIINIT() { PIR1=0 ; /*清除SPI 中断标志*/ SSPCON=0x30 ; /* SSPEN=1 ;CKP=0 , FOSC/4 */ SSPSTAT=0xC0 ; TRISC=0x00 ; /*SDO 引脚为输出,SCK 引脚为输出*/ } 1.2.3 程序清单 下面给出已经在实验板上调试通过的一个程序,可作为用户编制其它程序的参考。 #include pic1687x.h /*该程序用于在8 个LED 上依次显示1~8 等8 个字符*/ static volatile int table[20]={0xc0,0xf9,0xa4 ,0xb0,0x99 ,0x92,0x82 ,0XD8 ,0x80 ,0x90 , 0x88 ,0x83 ,0xc6 ,0xa1 ,0x86 ,0x8e ,0x7f,0xbf,0x89 ,0xff} ; volatile unsigned char data ; #define PORTAIT(adr ,bit) ((unsigned)(adr)*8+(bit)) /*绝对寻址位操作指令*/ static bit PORTA_5 @ PORTAIT(PORTA,5); /*spi 初始化子程序*/ void SPIINIT() { PIR1=0 ; SSPCON=0x30 ; /* SSPEN=1 ;CKP=0 , FOSC/4 */ SSPSTAT=0xC0 ; TRISC=0x00 ; /*SDO 引脚为输出,SCK 引脚为输出*/ } /*系统各输入输出口初始化子程序*/ void initial() { TRISA=0x00 ; /*A 口设置为输出*/ INTCON=0x00 ; /*关闭所有中断*/ PORTA_5=0 ; /*LACK 送低电平,为锁存做准备*/ .1. 单片机学习指南 资料提供:上海齐济电子有限公司 } /*SPI 发送子程序*/ void SPILED(int data) { SSPBUF=data ; /*启动发送*/ do { ; }while(SSPIF==0) ; /*等待发送完毕*/ SSPIF=0; /*清除SSPIF 标志*/ } /*主程序*/ main() { unsig
显示全部
相似文档