PIC32数码管实例
来源:互联网 发布:windows重装系统步骤 编辑:程序博客网 时间:2024/06/04 01:37
#include
#pragma config JTAGEN =OFF
char
//led字库
void spiout(char image[],int len)
{
PORTClearBits(IOPORT_B, BIT_9);
for(i=0;i<2;i++);//延时使数据传输完后锁存,通常数码管乱码都是这导致的。
PORTSetBits(IOPORT_B, BIT_9);//数据锁存
}
int main()
{
SpiOpenFlags oFlags = SPI_OPEN_MSTEN | SPI_OPEN_CKP_HIGH |SPI_OPEN_MODE8 | SPI_OPEN_ON;//作为主机, ,8位数据模式,SPI使能
PORTSetPinsDigitalOut(IOPORT_B, BIT_9);//外部移位寄存器数据锁存,1锁存,0开放
SpiChnOpen(2, oFlags,6);//打开通道2即SDO2,配置SPI,fpbDiv(2~1024).波特率BR=Fpb/fpbDiv
PPSOutput(2, RPB8,SDO2);//输出针脚组2中,查表将针脚RPB8,作为数据输出2口SDO2.实际连线也是如此
spiout(Led,4);
}
//PPSOutput(2,RPB5,SDO1);//输出针脚组2中,查表将针脚RPB5,作为数据输出1口SDO1.
//也可查数据手册用另一种,以后再说
//查找头文件PPSOUT.h在C:\Program Files(x86)\Microchip\xc32\v1.21\pic32-libs\include\peripheral
{
#defineOUT_PIN_PPS2_RPA1
#defineOUT_PIN_PPS2_RPB5
#defineOUT_PIN_PPS2_RPB1
#defineOUT_PIN_PPS2_RPB11
#defineOUT_PIN_PPS2_RPB8
#defineOUT_PIN_PPS2_RPA8
#defineOUT_PIN_PPS2_RPC8
#defineOUT_PIN_PPS2_RPA9
//#defineOUT_FN_PPS2_SDO1
//#defineOUT_FN_PPS2_SDO2
//#defineOUT_FN_PPS2_OC2
}
秒表
#include
#pragma config JTAGEN=OFF
#pragma config FPLLIDIV =DIV_2
#pragma config FPLLMUL = MUL_24
#pragma config FPLLODIV = DIV_2
#pragma config FNOSC =FRCPLL
#pragma config FPBDIV =DIV_1
#pragma config FWDTEN = OFF
#pragma POSCMOD = OFF
#define PERIOD48000
int n=0,sta=0,ledflag=1,butflag=0,i=0,b=0,bit1=0,bit2=0;;
char
//Led 字库
void timer1init()//时钟源1初始化,配置中断等
{
}
void spiinit()//SPI初始化
{
}
void __ISR(_TIMER_1_VECTOR,ipl2) timer(void)//中断函数0.001s一次中断
{
//
}
void buttoninit()//按键初始化
{
//
//
PORTSetPinsDigitalIn(IOPORT_A,BIT_0|BIT_1);//按键电位检测读数据
PORTSetPinsDigitalIn(IOPORT_B,BIT_3|BIT_14);//需将对应的按键针脚位设为数字输入
}
void spiout(char im[])//SPI数据输出函数
{
{
}
PORTSetBits(IOPORT_B, BIT_9);//数据锁存
}
void led(char imag[3])//秒表换算函数
{
image[0]=Led[t[3]];
image[1]=Led[t[2]];
image[2]=Led[t[1]];
image[3]=Led[t[0]];
}
void main()//主函数
{
for(i=0;i<4;i++)
t[i]=0;
t[1]=10;
image[0]=Led[t[3]];
image[1]=Led[t[2]];
image[2]=Led[t[1]];
image[3]=Led[t[0]];
spiout(image);break;
//
- PIC32数码管实例
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管
- 数码管:
- 数码管
- CT107D蓝桥杯动态数码管实例(4)
- 二十载年华
- HDU-1702
- PIC32MX220F032B学习笔记之I/O口
- PIC32中断及振荡器配置
- kotlin汇总8-其他2
- PIC32数码管实例
- PIC32 RTCC实时时钟和日历
- PIC32 SPI简介(主/从模式)
- PIC32输出比较(PWM)
- 基于PIC32的激光电子琴
- 软件实现数字滤波
- Android中 int 和 String 互…
- 一个故事一首歌——《枯叶之蝶…
- Borland C++ Builder函数库