注册 登录
编程论坛 单片机编程

单片机数码管显示子程序(原创)

发布于 2008-10-31 20:21, 5541 次点击
//程序:display.h数码管显示子程序头文件
//功能:显示数码管所需数字
//函数说明:
//      void Display(uchar *disp_num)
//      读取四个数码管所需显示的数值,并显示
//////////////////////////////////////////////////////////////////////////////            
#ifndef _DISPLAY_H
#define _DISPLAY_H

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void Display(uchar *disp_num);
sbit  SS_DATA =P1^0;//时钟管脚
sbit  SS_CLK =P1^1;

#endif
6 回复
#2
2008-10-31 20:22
程序:display.c键盘显示子程序
//程序:display.c键盘显示子程序
//功能:显示所需要显示的数字
//函数返回值:unsigned char                     
#include"display.h"
// 数码管0~1, A,B所对应的数码管键值
uchar code disp_save_num[12]={0X88, 0XBE, 0XC4, 0X94, 0XB2, 0X91,
                                           0X81, 0XBC, 0X80,0X90,0XA0,0XFF};
//读取所需显示的数字,并显示                                          
void
Display(uchar *disp_num)
{
     uchar move_number,move_bit;
     uchar disp_number;
  
                              
   SS_CLK  = 0;
  
     for(move_number=0;move_number<4;move_number++)
     {
       disp_number=disp_save_num[*(disp_num+move_number)];//读取所需显示的数字
                                                        //并从所对应的键值里
                                                        //选择对应的键值                     
 
        for(move_bit=0; move_bit<8; move_bit++)
            {//显示对应键值
      
            SS_DATA = disp_number&0x80;
      
             SS_CLK = 1;
             SS_CLK = 0;
             disp_number<<=1;
              }
     }
}
主页:  http://blog.
#3
murufy2008-10-31 22:34
支持原创,顶一个,呵呵。好久没弄过51了,看这些程序真亲切,呵呵
#4
mbstorm2008-10-31 23:25
在哪里运行啊
#5
2008-11-01 17:34
当然是51 芯片AT89S52,电路板属于老师的,没有办法提供。
#6
hlmzrdongdong2008-11-12 17:30
回复 3# 的帖子
键盘是几乘几的矩阵啊?数码管的显示方式能说一下吗?
#7
2010-06-27 20:06
键盘是四成四的矩阵。
数码管显示是静态的。
1