资源简介
基于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\Jli
文件 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个文件信息
- 上一篇:毕业设计计算机类外文+翻译
- 下一篇:一键FTP工具
相关资源
- 单片机数字时钟包附电路图 源程序
- 基于ISE的基本数字时钟工程
- 基于STC89C52单片机的数字时钟
- 基于单片机的数字时钟系统设计
- 数电课程设计-数字时钟multisim
- EDA 数字时钟课程设计 Quartus II 闹钟
- 12/24小时数字时钟设计
- 74ls90十进制数字24小时时钟设计图
- 数字时钟微机原理课程设计
- 基于单片机的数字时钟
- 南京理工大学 2018研究生电类综合实验
- verilog编写的数字时钟、万年历、闹钟
- 基于verilog的数字时钟设计
- 数字时钟原理图+pcb
- 基于nexys4 ddr的数字时钟
- 利用矩阵键盘控制51单片机LCD12864显示
- FPGA数字时钟含闹钟
- 基于verilog语言的数字时钟设计
- 数字时钟设计内含原理图、源代码、
- 基于VHDL的多功能数字时钟设计
- FPGA课程设计,数字时钟,verilog编写
- 基于FPGA的多功能时钟verilog语言.zip
- Flash翻页时钟、模拟时钟、数字时钟
- 多功能数字时钟课程设计报告
- 数字时钟8.0.7z
- EDA课程设计 数字时钟的设计VHDL
- 基于VHDL的数字时钟源程序+详细设计报
- 数字秒表--EDA课程设计完整版(设计报
- 使用vivad写的数字时钟,带有蜂鸣器闹
- Flash数字时钟 数字LED时间显示动画.
评论
共有 条评论