您的位置 首页 资料

PIC18F458操控数码管显现1~8数字程序

本程序是基于PIC18F458控制LED数码管显示1~8数字的C语言程序,笔者也是刚刚学习PIC单片机,也是和大家一起学习交流吧!不多说了,先贴程序

本程序是根据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(;;)//无限循环{}}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/317963.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部