本程序是基于PIC18F458控制LED显示1~8数字的C语言程序,笔者也是刚刚学习PIC单片机,也是和大家一起学习交流吧!不多说了,先贴程序:
#include "p18f458.h"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;/*初始化子程序*/void initial(){ TRISA=0x00; /*A口设置为输出*/ TRISC=0x00; /*SDO引脚为输出,SCK引脚为输出*/ INTCON=0x00; /*关闭所有中断*/ SSPCON1=0x30; /*SSPEN=1;CKP=1,FOSC/4*/ SSPSTAT=0xC0; /*时钟下降沿发送数据*/ PIR1=0; /*清除SSPIF标志*/}/*显示子程序*/void SPILED(char data){ PORTAbits.RA5=0;/*LACK送低电平,为锁存做准备*/ SSPBUF=data; /*启动发送*/ do { ; }while(PIR1bits.SSPIF==0); /*等待发送完毕*/ PIR1bits.SSPIF=0; /*清除SSPIF标志*/ PORTAbits.RA5=1; /*最后给锁存信号,代表显示任务完成*/}/*主程序*/main(){ unsigned i; initial(); /*系统初始化*/ for(i=8;i>0;i--) /*连续发送8个数据*/ { data=table[i]; /*通过数组的转换获得待显示的段码*/ SPILED(data); /*发送显示段码显示*/ } for(;;)//无限循环 { }}
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。