标题:
1位4英寸显示模块测试源程序
[打印本页]
作者:
cylsgsz
时间:
2018-5-9 10:53
标题:
1位4英寸显示模块测试源程序
数码管的51例程,大家想要的拿走
单片机源程序如下:
/*------------------------------------------------------------------------------------
* 项目名称:
1位74HC595数码管显示模块测试程序
* 功能描述:
1、动态显示各个数字
* 版权信息:
(c) 飞翼电子, 2014.
* 历史版本:
2014-11-1:
- 初始版本 V1.0.0;
* 配置说明:
- 编译前,请根据硬件连接配置MCU与模块的通讯接口
-------------------------------------------------------------------------------------*/
/************************包含头文件***************************************************/
#include<reg52.h>
#include "display.h"
#include "74hc595.h"
#define ARRLEN 8 //定义数组长度常量
/**************************全局数组***************************************************/
extern unsigned char code Number_arr[10]; //引用在Display.c文件中定义的数组
extern unsigned char code Seg_test[8]; //引用在Display.c文件中定义的数组
/*************************************************************************************
*函数名:Delay(unsigned char time)
*功 能:延时函数
**************************************************************************************/
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++)
{
;
}
}
/*************************************************************************************
*函数名:DelayMs(unsigned char time)
*功 能:延时函数
**************************************************************************************/
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}; //要显示的数组
unsigned char disDecode[ARRLEN]={0}; //保存译码后的数组
DisplayInterfaceInit(); //初始化接口
//上电清屏
for(i=0;i<ARRLEN;i++) //把要显示的数组赋值为0
{ //为下一步清屏用
disDecode[i]=0x00;
}
DisplayOneArray(disDecode,ARRLEN); //上电清屏作用
//打开显示
DisplayOn();
Delay(30);
//点亮所有位的所有段
for(i=0;i<ARRLEN;i++) //把要显示的数组赋值为0xFF
{
disDecode[i]=0xFF;
}
DisplayOneArray(disDecode,ARRLEN); //让所有段都亮
Delay(50);
//循环显示
while(1)
{
//循环单独显示每一段
for(i=0;i<8;i++) //控制显示每一段
{
for(j=0;j<ARRLEN;j++)
{
disDecode[j]=Seg_test[i]; //对i译码为每一段,赋值显示数组
}
DisplayOneArray(disDecode,ARRLEN); //赋值完成后开始显示
Delay(10); //显示延时
}
//循环显示0-9数字
for(i=0;i<10;i++) //控制从0显示到数字9
{
for(j=0;j<ARRLEN;j++)
{
disDecode[j]=Number_arr[i]; //对i进行译码,赋值显示数组
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
03-例程.zip
(66.66 KB, 下载次数: 4)
2018-5-9 10:52 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1