ARM7入门5,数码管显示

发布者:ikfnpo最新更新时间:2016-11-01 来源: eefocus关键字:ARM7入门  数码管显示 手机看文章 扫描二维码
随时随地手机看文章
用ADS1.2编辑的,注意添加target.c,IRQ.s,Startuo.s和mem.scf文件。

 

主程序:

/*******************************************************************************
*File: Main.c
*功能: LED数码管显示0-F字符,同时控制4个LED显示对应的十六进制
*******************************************************************************/
#include  "config.h"
#define   SPI_CS    0x00000100            /*P0.8*/
#define   SPI_DATA  0x00000040            /*P0.6*/
#define   SPI_CLK   0x00000010            /*P0.4*/
#define   BEEP      0x00000080            /*P0.7为蜂鸣器控制*/
#define   SPI_IOCON 0x00003DD0            /*SPI接口的I/O设置字*/

/*******************************************************************************
*名称: DelayNS()
*功能: 长软件延时
*******************************************************************************/
void DelayNS(uint32 dly)
{  uint32  i;
   for (;dly>0;dly--)
      for(i=0;i<50000;i++);
}
/*******************************************************************************
*名称: HC595_SendDat()
*功能: 向74HC595发送一字节数据
*说明: 发送数据时,高位先发送
*******************************************************************************/
void HC595_SendDat(uint8 dat)
{ uint8 i;
  IO0CLR=SPI_CS;                                  //SPI_CS=0
  for (i=0;i<8;i++)                              //发送8位数据
  { IO0CLR=SPI_CLK;                               //SPI_CLK=0
  /*设置SPI的DATA输出值*/
  if((dat&0x80)!=0)IO0SET=SPI_DATA;
    else IO0CLR=SPI_DATA;
    dat<<=1; 
    IO0SET=SPI_CLK;                                    //SPI_CLK=1
  }
  IO0SET=SPI_CS;                                  //SPI_CS=1,输出显示数据
}
/*******************************************************************************
*名称: main()
*功能: 控制LED数码管显示,并控制4个LED显示
*******************************************************************************/
int main(void)
{ const uint8 DISP_TAB[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
                            0x88,0x83,0xC6,0xA1,0x86,0x8E};
  uint8 i;
 

  PINSEL0=0x00000000;                 //设置所有引脚连接GPIO
  PINSEL1=0x00000000;
  
  IO0DIR=SPI_IOCON;                   //设置SPI控制口为输出
  while(1)
  { for (i=0;i<16;i++)
    { HC595_SendDat(DISP_TAB[i]);      //输出LED显示数据
       
      IO0SET=0x00003C00;
      IO0CLR=i<<10;                     //设置LED显示输出
      DelayNS(50);
      
      /*控制蜂鸣器报警*/
      
      IO0SET=BEEP;
      DelayNS(10);                     //延时
      IO0CLR=BEEP;
      DelayNS(10);                     //延时
   } 
  }
  //return(0);
}

关键字:ARM7入门  数码管显示 引用地址:ARM7入门5,数码管显示

上一篇:ARM7入门4,单键控制LED
下一篇:ARM7入门6,LCD显示字符

推荐阅读最新更新时间:2024-03-16 15:18

8位数码管显示电子时钟c51程序
/* 8位数码管显示 时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include reg52.h sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char S
[单片机]
数码管显示驱动和键盘扫描控制器CH451及其应用
摘要:介绍一种新型的键盘显示驱动芯片CH451的性能特点和工作原理,给出了CH451键盘显示驱动芯片与MCS-51单片机的接口方法与相应的软件驱动程序。 关键词:键盘显示控制;单片机;CH451 单片机在开发过程中,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要,其中原因之一是人机界面中的键盘显示占用了系统太多资源,从而造成系统庞大,同时降低了系统的可靠性。在单片机应用系统中,键盘显示通常可采用以下几种方式: (1)采用并行接口的键盘显示专用芯片8279。但8279所需外围元件多(显示驱动、译码等)、占用电路板面积大、综合成本高,在中小系统中常常大材小用; (2)采用通用并行I/O芯片扩展(如用8155等
[单片机]
AVR单片机8位数码管显示的程序实现(两种方法介绍)
本文为大家介绍两个AVR单片机8位数码管显示的程序实现。 AVR单片机595驱动8位数码管的显示的电路实现 主程序代码 #include #include //GCC中的延时函数头文件 #include “hc595.h” //unsigned char Led_Disbuf[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //共阴极 unsigned char Led_Disbuf[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共阳极 unsigned char ComBuf[8] = {0
[单片机]
AVR单片机8位<font color='red'>数码管</font><font color='red'>显示</font>的程序实现(两种方法介绍)
利用外部中断和时间中断计数0-999显示数码管
要求:数码管从0开始显示,按一次按键(和内部中断,每隔一秒就自然进入中断一次),进入一次中断,数码管上数字加1,直到999,又从0开始。 连线:P10连L7 电位器连直流电机 脉冲输出连P32 CS1连数码管CS #include reg51.h typedef unsigned char uchar; xdata uchar LED_CS _at_ 0x9000; xdata uchar LED_OUTSEG _at_ 0x9004; xdata uchar LED_OUTBIT _at_ 0x9002; sbit P10=P1^0; uchar n=0; unsigned int Count=0; code unsign
[单片机]
33. 4×4键盘及8位数码管显示构成的电子密码锁
1. 实验任务 用4 4组成0-9数字键及确认键。 用8位数码管组成显示电路提示信息,当输入密码时,只显示 8. ,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用LED发光二极管亮一秒钟做为提示,同时发出 叮咚 声;若密码不正确,禁止按键输入3秒,同时发出 嘀、嘀 报警声;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。 2. 电路原理图 图4.33.1 3. 系统板上硬件连线 (1). 把 单片机系统 区域中的P0.0-P0.7用8芯排线连接到 动态数码显示 区域中的ABCDEFGH端子上。 (2). 把 单片机系统 区
[单片机]
33. 4×4键盘及8位<font color='red'>数码管</font><font color='red'>显示</font>构成的电子密码锁
数码管60S计数显示--C语言
#include // 包含51单片机寄存器定义的头文件 unsigned char code Tab ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; // 数码管显示0~9的段码表 unsigned char int_time; //记录中断次数 unsigned char second; //储存秒 /*********************************************************************** 函数功能:快速动态扫描延时,延时约0.6毫秒 ************************
[单片机]
LPC2103学习板-数码管显示
数码管部分 电路原理图: 其中TRS 和TMS使用了JTAG口,所以在调试的时候不能使用普通IO功能,需要程序烧写进入后,取消JTAG模式,才能正常工作。 源程序: /**************ARM7(LPC2103)练习程序**************************/ /*************************************************************/ /*****File Function : 数码管显示 *****/ /*****Program Author : ClimberWin *****/ /*
[单片机]
LPC2103学习板-<font color='red'>数码管</font><font color='red'>显示</font>
【C51自学笔记】数码管(静态与动态显示)+74HC138+点阵的动态显示
数码管: 数码管由7个发光二极管组成一个日字形,如果需要显示小数点,那么就再加一个点,就是8段数码管。 数码管显示亮度高,响应速度快,分共阴和共阳两种形式,常用的有单个的和4联的,还有两联的和专门用来显示时间的。 分类:共阴;共阳 编码问题: 必须对数字或字符进行编码。因此为LED显示器提供的编码正好是一个字节。也有采用BCD-7段译码芯片的。 显示问题: 静态显示方式 静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。 动态显示
[单片机]
【C51自学笔记】<font color='red'>数码管</font>(静态与动态<font color='red'>显示</font>)+74HC138+点阵的动态<font color='red'>显示</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved