|
|
數(shù)碼管的51例程,大家想要的拿走
單片機(jī)源程序如下:
- /*------------------------------------------------------------------------------------
- * 項(xiàng)目名稱:
- 1位74HC595數(shù)碼管顯示模塊測(cè)試程序
- * 功能描述:
- 1、動(dòng)態(tài)顯示各個(gè)數(shù)字
- * 版權(quán)信息:
- (c) 飛翼電子, 2014.
- * 歷史版本:
-
- 2014-11-1:
- - 初始版本 V1.0.0;
- * 配置說(shuō)明:
- - 編譯前,請(qǐng)根據(jù)硬件連接配置MCU與模塊的通訊接口
- -------------------------------------------------------------------------------------*/
- /************************包含頭文件***************************************************/
- #include<reg52.h>
- #include "display.h"
- #include "74hc595.h"
- #define ARRLEN 8 //定義數(shù)組長(zhǎng)度常量
- /**************************全局?jǐn)?shù)組***************************************************/
- extern unsigned char code Number_arr[10]; //引用在Display.c文件中定義的數(shù)組
- extern unsigned char code Seg_test[8]; //引用在Display.c文件中定義的數(shù)組
- /*************************************************************************************
- *函數(shù)名:Delay(unsigned char time)
- *功 能:延時(shí)函數(shù)
- **************************************************************************************/
- void Delay(unsigned char time)
- {
- int i,j,k;
- for(i=0;i<time;i++)
- for(j=0;j<50;j++)
- for(k=0;k<90;k++)
- {
- ;
- }
- }
- /*************************************************************************************
- *函數(shù)名:DelayMs(unsigned char time)
- *功 能:延時(shí)函數(shù)
- **************************************************************************************/
- void DelayMs(unsigned char time)
- {
- int i,j;
- for(i=0;i<time;i++)
- for(j=0;j<25;j++)
- {
- ;
- }
- }
- /************************主程序*******************************************************/
- void main()
- {
- unsigned char i,j;
- unsigned char dis[ARRLEN]={0,0,0,0,0,0,0,0}; //要顯示的數(shù)組
- unsigned char disDecode[ARRLEN]={0}; //保存譯碼后的數(shù)組
-
- DisplayInterfaceInit(); //初始化接口
-
- //上電清屏
- for(i=0;i<ARRLEN;i++) //把要顯示的數(shù)組賦值為0
- { //為下一步清屏用
- disDecode[i]=0x00;
- }
- DisplayOneArray(disDecode,ARRLEN); //上電清屏作用
-
- //打開顯示
- DisplayOn();
- Delay(30);
- //點(diǎn)亮所有位的所有段
- for(i=0;i<ARRLEN;i++) //把要顯示的數(shù)組賦值為0xFF
- {
- disDecode[i]=0xFF;
- }
- DisplayOneArray(disDecode,ARRLEN); //讓所有段都亮
- Delay(50);
- //循環(huán)顯示
- while(1)
- {
- //循環(huán)單獨(dú)顯示每一段
- for(i=0;i<8;i++) //控制顯示每一段
- {
- for(j=0;j<ARRLEN;j++)
- {
- disDecode[j]=Seg_test[i]; //對(duì)i譯碼為每一段,賦值顯示數(shù)組
- }
- DisplayOneArray(disDecode,ARRLEN); //賦值完成后開始顯示
- Delay(10); //顯示延時(shí)
- }
-
- //循環(huán)顯示0-9數(shù)字
- for(i=0;i<10;i++) //控制從0顯示到數(shù)字9
- {
- for(j=0;j<ARRLEN;j++)
- {
- disDecode[j]=Number_arr[i]; //對(duì)i進(jìn)行譯碼,賦值顯示數(shù)組
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
03-例程.zip
(66.66 KB, 下載次數(shù): 4)
2018-5-9 10:52 上傳
點(diǎn)擊文件名下載附件
|
|