新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC18F458控制數碼管顯示1~8數字程序

        PIC18F458控制數碼管顯示1~8數字程序

        作者: 時間:2016-11-30 來源:網絡 收藏
        本程序是基于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(;;)//無限循環{}}


        關鍵詞: PIC18F458數碼管顯

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 岢岚县| 洪湖市| 建水县| 阿拉善左旗| 天门市| 四平市| 永顺县| 墨玉县| 秦安县| 博客| 游戏| 玉门市| 墨竹工卡县| 尼勒克县| 汽车| 卓尼县| 丹江口市| 陵川县| 九龙城区| 连平县| 霸州市| 连州市| 阳原县| 邻水| 彰武县| 于田县| 茶陵县| 洛扎县| 明光市| 宁波市| 旅游| 通化市| 鹿邑县| 钟山县| 个旧市| 普定县| 南阳市| 福清市| 松原市| 交城县| 贡觉县|