• 大小: 26.41 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-19
  • 语言: 其他
  • 标签: STC12C5A60S2  显示  

资源简介

STC12C5A60S2 CH452\1 驱动数码管 显示

资源截图

代码片段和文件信息

#include	“include.h“
2008-03-14 18:10
/* ***********************************************************************
CH452的4线接法驱动4联共阴极LED数码管KeilC程序
Author: 王虎 2008.3.11
单片机:89S52 
晶振:11.0592M
CH45X的4线接口,本电路中未接键盘扫描,接4位数码管,DOUT悬空,不含按键中断为3个I/O引脚。
****************************************************************************/
#include 
#include  // CH452常量定义
#include 
/***********CH452与单片机接线方式************/
sbit   CH452_DCLK=P1^7;                     // 串行数据时钟上升延激活
sbit   CH452_DIN=P1^6;                  // 串行数据输出,接CH452的数据输入
sbit   CH452_LOAD=P1^5;                     // 串行命令加载,上升延激活
//sbit   CH452_DOUT=P3^3;                     // INT1,键盘中断和键值数据输入,接CH452的数据输出 
/******** 4线接口的位操作与单片机有关 *********/
#define   CH452_DCLK_SET   {CH452_DCLK=1;}
#define   CH452_DCLK_CLR   {CH452_DCLK=0;}
#define   CH452_DIN_SET   {CH452_DIN=1;}
#define   CH452_DIN_CLR   {CH452_DIN=0;}
#define   CH452_LOAD_SET   {CH452_LOAD=1;}
#define   CH452_LOAD_CLR   {CH452_LOAD=0;}
/******* 延时1uS子程序主要用于2线接口与单片机速度有关 ********/
//#define   DELAY_1US {}          // MCS51<=10MHz
#define   DELAY_1US   {_nop_();}      // MCS51<=20MHz
//#define   DELAY_1US {_nop_();_nop_();} // MCS51<=30MHz

/**************写12bit控制字函数*******************/
void CH452_Write(unsigned short cmd)
{
unsigned char i;
CH452_LOAD_CLR;            //命令开始LOAD=0
for(i=0;i!=12;i++)    //送入12位数据,低位在前
{
//   if (cmd&1) {CH452_DIN_SET;}
//   else {CH452_DIN_CLR;} // 输出位数据
      CH452_DCLK_CLR; 
   CH452_DIN=cmd&1;    
    CH452_DCLK_SET;             //上升沿有效    
    cmd=cmd>>1;
}
CH452_LOAD_SET;         //加载数据LOAD上升沿
DELAY_1US;     //命令数据加载周期不小于6USCH451不需要该周期
DELAY_1US;
DELAY_1US;
}
/******************主函数******************************/
void main()
{
CH452_Write(CH452_RESET);
CH452_Write(CH452_BCD + 0x40);    // 选择BCD译码方式扫描极限为4个数码管
CH452_Write(CH452_SYSON1);     // 开启显示
while (1)
{
CH452_Write(CH452_DIG3 | 1);
CH452_Write(CH452_DIG2 | 2);
CH452_Write(CH452_DIG1 | 3);
CH452_Write(CH452_DIG0 | 4); // 4位数码管显示字符1234 
// CH452_Write(CH452_RIGHTCYC);
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        129  2012-04-11 12:03  CH452显示\include\include.h

     文件      19074  2012-03-23 13:08  CH452显示\include\stc12c5as2.H

     文件       9916  2012-04-13 09:15  CH452显示\output\list\main.lst

     文件       2366  2012-04-11 12:03  CH452显示\output\list\Template.m51

     文件         84  2012-04-11 12:03  CH452显示\output\obj\Template.hex

     文件       5330  2012-04-13 09:15  CH452显示\output\obj\Template.plg

     文件       2340  2012-04-13 09:15  CH452显示\user\main.c

    .......     77558  2012-04-13 09:19  CH452显示\user\Template.uvgui.Administrator

    .......     74235  2012-04-11 12:03  CH452显示\user\Template.uvgui_Administrator.bak

    .......      6936  2012-04-13 09:19  CH452显示\user\Template.uvopt

     文件      13830  2012-04-11 12:02  CH452显示\user\Template.uvproj

    .......      6933  2012-04-11 12:03  CH452显示\user\Template_uvopt.bak

     文件        395  2012-01-29 20:50  CH452显示\删除keil临时文件.bat

     目录          0  2012-04-13 09:15  CH452显示\output\list

     目录          0  2012-04-13 09:15  CH452显示\output\obj

     目录          0  2012-04-11 11:58  CH452显示\hardware

     目录          0  2012-04-13 09:13  CH452显示\include

     目录          0  2012-04-13 09:13  CH452显示\output

     目录          0  2012-04-13 09:19  CH452显示\user

     目录          0  2012-04-13 09:13  CH452显示

----------- ---------  ---------- -----  ----

               219126                    20


评论

共有 条评论