• 大小: 62KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: 数字时钟  

资源简介

基于lpc2136开发的数字时钟 具有时间设置功能; 五个按键功能分布: KEY1 P0 26 小时加 KEY2 P0 27 分钟加 KEY3 P0 28 第一次按下 进入时间设置状态;再按保存 当前设置时间 KEY4 P0 29 第一次按下 进入闹钟设置状态;再按保存 当前设置时间 KEY5 P0 30 停止闹钟">基于lpc2136开发的数字时钟 具有时间设置功能; 五个按键功能分布: KEY1 P0 26 小时加 KEY2 P0 27 分钟加 KEY3 P0 28 第一次按下 进入时间设置状态;再按保存 当前设置时间 KEY4 P0 29 [更多]

资源截图

代码片段和文件信息

#include “lpc2136.h“
#include “typedef.h“
#include “delay.h“

#define CS (1 << 7) //选择P0.7 作为CS
#define DI (0x1 << 6) //选择P0.6 作为数据输入
#define CLK (0x1 << 4) //选择P0.4 作为时钟
#define DECODE_MODE 0x09 //译码控制寄存器
#define INTENSITY 0x0A //亮度控制寄存器
#define SCAN_LIMIT 0x0B //扫描界限寄存器
#define SHUT_DOWN 0x0C //关断模式寄存器
#define DISPLAY_TEST 0x0F //测试控制寄存器

#define  KEY1  (1<<26)  
#define  KEY2    (1<<27)
#define  KEY3    (1<<28)
#define  KEY4  (1<<29)
#define  KEY5  (1<<30)

#define  BEEP  (1<<18)

void Write7219(uint8 addressuint8 dat);

uint8 sum = 0;
uint8 h = 0m = 0s = 0count = 0;
uint8 key3num = 0key4num = 0;
uint8 clock_hour = 12clock_minute = 0;
uint8 beep_falg = 0;
uint8 key_flag = 0;

/******************************************************************************
*
*函数名Init_Max7219
*功能:MAX7219 初始化设置MAX7219 内部的控制寄存器
*参数:无
*返回值:无
*******************************************************************************
*/
void Init_Max7219(void)
{
Write7219(SHUT_DOWN0x01);// 开启正常工作模式(0xX1)
Write7219(DISPLAY_TEST0x00);// 选择测试模式(0xff)
Write7219(DECODE_MODE0xf);//选用CODEB 0-3
Write7219(SCAN_LIMIT0x03);//选择0-3
Write7219(INTENSITY0x04);//设置初始亮度
//Write7219(DISPLAY_TEST0x00);// 选择工作模式(0xX0)
Write7219(10); // 第一个数码管(从右到左)
Write7219(20); //
Write7219(30); //
Write7219(40); //
}
/******************************************************************************
*
*函数名Write7219
*功能:地址、数据发送子程序
*参数 :无
*返回值:无
*******************************************************************************
*/
void Write7219(uint8 addressuint8 dat)
{
uint8 i;

IO0CLR = CS; // 拉低片选线 选中器件
for (i=0;i<8;i++) // 移位循环8 次
{
IO0CLR = CLK; // 清零时钟总线   0000 0001       0000 0001
if( (address &0x80))// 每次取高字节     1000 0000
IO0SET = DI;
else
IO0CLR = DI;
address <<=1; // 左移一位
IO0SET = CLK; // 时钟上升沿发送地址
}
for (i=0;i<8;i++)
{
IO0CLR = CLK;

if( (dat&0x80))  //0xxx xxxx xxxx xxx0
{  //1000 0000
IO0SET = DI;
}else
{
IO0CLR = DI;
}

dat <<=1;
IO0SET = CLK;
}
IO0SET = CS; // 发送结束上升沿锁存数据
}
/******************************************************************************
*
*函数名init_system
*功能:初始化CS | DI | CLK,并使CS | DI | CLK 初始状态为高
*参数 :无
*返回值:无
*******************************************************************************
*/
void init_system()
{
IO0DIR = CS | DI | CLK | BEEP;
IO0SET = CS | DI | CLK;
IO0CLR = BEEP;
}

/****************************************************************************
* 名 称:Time0Init()
* 功 能:初始化定时器,定时时间为S。
* 入口参数:无
* 出口参数:无
****************************************************************************/
void Time0Init(void)
{ /* Fcclk = Fosc*4 = 11.0592MHz*4 = 44.2368MHz
Fpclk = Fcclk/4 = 44.2368MHz/4 = 11.0592MHz
MCR    0000 1100 0000
*/
T0PR = 9; // 设置定时器分频为分频,得Hz
T0MCR = 0xc0; // 匹配通道匹配中断并复位T0TC
// T0MR2 = 110591; // 比较值(1S 定时值)
T0MR2 = 137247;
T0TCR = 0x03; // 启动并复位T0TC

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

     文件        330  2012-03-03 16:30  lpc2136_max_time\code\delay.h

     文件      34374  2013-04-01 19:19  lpc2136_max_time\code\LPC2136.h

     文件      10101  2014-01-17 11:43  lpc2136_max_time\code\main.c

     文件        600  2014-03-16 16:23  lpc2136_max_time\code\typedef.h

     文件        248  2014-01-15 17:23  lpc2136_max_time\JlinkArm_lpc2136_max_time.ini

     文件      19516  2014-01-17 11:10  lpc2136_max_time\lpc2136_max_time.axf

     文件      23384  2014-01-17 11:10  lpc2136_max_time\lpc2136_max_time.htm

     文件        279  2014-01-17 11:10  lpc2136_max_time\lpc2136_max_time.lnp

     文件      52670  2014-01-17 11:10  lpc2136_max_time\lpc2136_max_time.map

     文件        196  2014-03-16 16:24  lpc2136_max_time\lpc2136_max_time.plg

     文件        479  2014-01-15 17:22  lpc2136_max_time\lpc2136_max_time.sct

     文件        969  2014-01-17 11:10  lpc2136_max_time\lpc2136_max_time.tra

    .......     58562  2014-03-16 16:24  lpc2136_max_time\lpc2136_max_time.uvopt

    .......     14614  2014-01-15 19:55  lpc2136_max_time\lpc2136_max_time.uvproj

     文件        521  2014-03-16 16:24  lpc2136_max_time\lpc2136_max_time_lpc2136_max_time.dep

     文件        241  2014-01-15 17:03  lpc2136_max_time\lpc2136_max_time_Target 1.dep

    .......     58558  2014-03-16 16:23  lpc2136_max_time\lpc2136_max_time_uvopt.bak

    .......     14575  2014-01-15 17:23  lpc2136_max_time\lpc2136_max_time_uvproj.bak

     文件      13460  2014-01-17 11:10  lpc2136_max_time\main.crf

     文件         91  2014-01-17 11:10  lpc2136_max_time\main.d

     文件      35192  2014-01-17 11:10  lpc2136_max_time\main.o

     文件        159  2014-01-17 11:10  lpc2136_max_time\main.__i

     文件      44463  2014-01-15 17:22  lpc2136_max_time\Startup.lst

     文件       3092  2014-01-15 17:22  lpc2136_max_time\Startup.o

     文件      14886  2010-03-30 14:49  lpc2136_max_time\Startup.s

     目录          0  2014-01-15 17:04  lpc2136_max_time\code

     目录          0  2014-03-16 16:24  lpc2136_max_time

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

               401560                    27



............此处省略0个文件信息

评论

共有 条评论