原创 第二十课 按键之六 矩阵按键之按键数码管显示(综合)

2009-6-2 17:17 3463 6 7 分类: MCU/ 嵌入式

第二十课 按键之六 矩阵按键之按键数码管显示(综合)


点击开大图


程序讲解:(如果前面的课程学的差不多了,这节可估计会比较容易)


/*--------------------------------------------------------------*/
//LED八位数码滚动显示
//显示部分用中断方式,便于程序的拓展



/*--------------------------------------------------------------*/
//包含头文件
#include <reg52.h>
#include "74HC595.H"
#include "Key_Board.H"  //矩阵按键头文件(上节可内容)



//全局变量定义
unsigned char LED_Pos;   //位扫描
unsigned char LED_Seg[8] = {16,16,16,16,16,16,16,16}; 


/*--------------------------------------------------------------*/
//定时器初始化 (呵呵..还要讲么?)
void T0_init(void)  //不是很清楚的可以看看   第十四课    内容          
{
    TMOD = 0x01;   
    TH0  = 0xf8;         //2000us
    TL0  = 0x36;
    IE   = 0x82;
    TR0  = 1;
}


 


/*--------------------------------------------------------------*/
//LED显示函数2
volatile void LED_Display2(void)
{
    Ser_IN(0x01 << LED_Pos);    //位选
    Ser_IN(seg[LED_Seg[LED_Pos]]);   //段码
    Par_OUT();


    LED_Pos++;                         //循环扫描
    if(LED_Pos == 8) LED_Pos = 0;
}


 


/*--------------------------------------------------------------*/
//定时器中断服务
void T0_intservice(void) interrupt 1
{
    TH0 = 0xf8;
    TL0 = 0x36;
 LED_Display2();
}



/*-------------------------------------------------------------*/
//主函数
void main(void)
{
 unsigned char i;
 T0_init();
 while(1)
 { 
  for(i = 0; i < 8; i++)
  LED_Seg = key_scan();   //键值送到数码管显示
 }


}


 


本节重点(由于都是以前讲过的这里就不再赘述了哈!)


1、第十九课 按键之五 矩阵按键之查表扫描:


http://blog.ednchina.com/lmjxf/234199/message.aspx


2、第九课 一个比较重要的驱动函数的讲解(74HC595)


http://blog.ednchina.com/lmjxf/231935/message.aspx


演示视频:


http://v.youku.com/v_show/id_XOTIzNjM4Mjg=.html


相关程序:https://static.assets-stash.eet-china.com/album/old-resources/2009/6/2/8b6c4647-3f34-402d-b239-3a2b3478b1ee.rar

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

tengjingshu_112148725 2009-6-2 23:12

很好啊,没想到博主能这么好,辛苦了
相关推荐阅读
用户222124 2010-12-08 22:18
台达PLC监控
台达PLC监控网上有很多例子,自己也照着弄了个,挺方便的,分享下串口数据格式:COM1,9600,8,N,1  ...
用户222124 2010-06-27 16:36
基于NIOS II和FPGA无线小车控制系统的设计
   主控制台以Cyclone II系列的EP2C8Q208C8为核心,通过nRF24L01进行无线通讯,来控制以ATmega8为微处理器的两轮小车,可以实现小车按控制平台发送的控制信息来准确运动。所...
用户222124 2009-11-13 15:58
51开发板已经销售完了,谢谢大家的支持!
51开发板已经销售完了,谢谢大家的支持!...
用户222124 2009-09-28 16:13
51开发板十一大放送!!!赶快行动吧!!!
  51开发板十一大放送!  赶快行动吧!!!   开发板硬件介绍: http://group.ednchina.com/2031/24972.aspx  开发板实物图片总汇: http://grou...
用户222124 2009-09-13 19:02
nios II 实验五 数码管显示数字钟(定时器实现 外部中断调节)
#include "system.h"                      //包含基本的硬件描述信息#include "altera_avalon_timer_regs.h"    //定义内...
用户222124 2009-09-13 18:57
nios II 实验四 PIO外部中断
#include "system.h"                      //包含基本的硬件描述信息#include "altera_avalon_timer_regs.h"    //定义内...
我要评论
1
6
关闭 站长推荐上一条 /3 下一条