资源简介
74HC164扩展按键处理程序集非常详细,难得的好文件!!!
代码片段和文件信息
/*****************************************************
* main.c 中如此这般:
*****************************************************/
kd_init();
// ......
while (1)
{
if( should_update_kd )
{
kd_update();
}
// Other code
// ......
}
//再看显示、键扫源代码:
/******************************************************
* key_disp-config.h
******************************************************/
#ifndef _KEY_DISP_CFG_H_
#define _KEY_DISP_CFG_H_
#define DIGIT1 B 0
#define DIGIT2 B 1
#define DIGIT3 B 2
#define DIGIT4 B 3
#define KEY_FB D 6
#define KD_CLR D 7
#define KD_CLK B 5
#define KD_DAT B 4
#define KEY_NONE (uint8_t)(0xFF)
#define KEY_S1 (uint8_t)(0x01<<0)
#define KEY_S2 (uint8_t)(0x01<<1)
#define KEY_S3 (uint8_t)(0x01<<2)
#define KEY_S4 (uint8_t)(0x01<<3)
#define KEY_S5 (uint8_t)(0x01<<4)
#define KEY_S6 (uint8_t)(0x01<<5)
#define KEY_S7 (uint8_t)(0x01<<6)
#define KEY_S8 (uint8_t)(0x01<<7)
#endif /*_KEY_DISP_CFG_H_*/
/******************************************************
* key_disp.h
******************************************************/
#ifndef _KEY_DISP_H_
#define _KEY_DISP_H_
#include
#include “key_disp-config.h“
#define KD_CODE_NONE 10
#define KD_CODE_PAUSED 11
#define KD_CODE_CW 12
#define KD_CODE_CCW 13
#define KD_CODE_SET_RUN 14
#define KD_CODE_SET_SLEEP 15
#define KD_CODE_TIMER_RUN 16
#define KD_CODE_TIMER_SLEEP 17
#define KD_CODE_EXTERN_TRIG 18
#define KD_CODE_EXTERN_CTRL 19
#define KD_CODE_H 20
#define KD_CODE_M 21
#define KD_CODE_S 22
// Initialize key & display
void kd_init();
// Update key & display MUST be called periodically eg. in timer
void kd_update();
// Get key code
uint8_t kd_get_key();
// Set mode to display
void kd_display_code(uint8_t digit_id uint8_t code_id);
// Set display digits dp_pos=-1 means no dp displayed
void kd_display(uint16_t value uint8_t max_digits const int8_t dp_pos);
#endif /*_KEY_DISP_H_*/
/******************************************************
* key_disp.c
******************************************************/
#include “avr/io.h“
#include “key_disp.h“
#include “config.h“
#include “util.h“
#define NOP() asm volatile (“nop“)
static const uint8_t seg_code[] =
{
0x3F/*0*/ 0x06/*1*/ 0x5B/*2*/ 0x4F/*3*/ 0x66/*4*/
0x6D/*5*/ 0x7D/*6*/ 0x07/*7*/ 0x7F/*8*/ 0x6F/*9*/
0x00/*KD_CODE_NONE*/
0x73/*KD_CODE_PAUSED*/
0x21/*KD_CODE_CW*/
0x03/*KD_CODE_CCW*/
0x50/*KD_CODE_SET_RUN*/
0x6D/*KD_CODE_SET_SLEEP*/
0x09/*KD_CODE_TIMER_RUN*/
0x36/*KD_CODE_TIMER_SLEEP*/
0x79/*KD_CODE_EXTERN_TRIG*/
0x39/*KD_CODE_EXTERN_CTRL*/
0x76/*KD_CODE_H*/
0x20/*KD_CODE_M*/
0x22/*KD_CODE_S*/
};
#define SEG_DP 0x80
static volatile uint8_t _key_code = 0xFF;
static volatile uint8_t _digits[4];
void kd_init()
{
PORT_DDR_SET(DIGIT
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 682 2011-04-22 17:22 74HC164扩展按键的处理程序集\164.txt
文件 58394 2011-04-22 15:42 74HC164扩展按键的处理程序集\164扫描按键程序.pdf
文件 6957 2011-04-21 15:42 74HC164扩展按键的处理程序集\164按键.c
文件 4046 2009-02-23 10:07 74HC164扩展按键的处理程序集\74HC164\74HC164.aps
文件 701 2009-02-23 10:07 74HC164扩展按键的处理程序集\74HC164\74hc164.aws
文件 1189 2009-02-23 10:05 74HC164扩展按键的处理程序集\74HC164\74HC164.c
文件 87378 2009-02-23 10:07 74HC164扩展按键的处理程序集\74HC164\74HC164.DSN
文件 1197 2009-02-23 10:07 74HC164扩展按键的处理程序集\74HC164\74HC164.PWI
文件 5731 2009-02-23 10:05 74HC164扩展按键的处理程序集\74HC164\default\74HC164.elf
文件 2055 2009-02-23 10:05 74HC164扩展按键的处理程序集\74HC164\default\74HC164.hex
文件 4464 2009-02-23 10:05 74HC164扩展按键的处理程序集\74HC164\default\74HC164.o
文件 1049 2009-02-23 10:05 74HC164扩展按键的处理程序集\74HC164\default\dep\74HC164.o.d
文件 1821 2009-02-23 10:05 74HC164扩展按键的处理程序集\74HC164\default\Makefile
文件 87378 2009-02-23 10:07 74HC164扩展按键的处理程序集\74HC164\Last Loaded 74HC164.DBK
文件 209463 2010-01-04 19:09 74HC164扩展按键的处理程序集\74HC164_按键_数码管\74HC164键扫+显示实例.pdf
文件 508560 2010-01-04 22:43 74HC164扩展按键的处理程序集\74HC164_按键_数码管\74HC164键扫+显示实例,已经过项目验证 .mht
文件 739 2010-01-29 00:11 74HC164扩展按键的处理程序集\74HC164_按键_数码管\key_disp-config.h
文件 4513 2010-01-29 00:09 74HC164扩展按键的处理程序集\74HC164_按键_数码管\key_disp.c
文件 1045 2010-01-29 00:11 74HC164扩展按键的处理程序集\74HC164_按键_数码管\key_disp.h
文件 209463 2010-01-04 19:09 74HC164扩展按键的处理程序集\74HC164键扫+显示实例.pdf
文件 508560 2010-01-04 22:43 74HC164扩展按键的处理程序集\74HC164键扫+显示实例,已经过项目验证 .mht
文件 739 2010-01-29 00:11 74HC164扩展按键的处理程序集\key_disp-config.h
文件 4513 2010-01-29 00:09 74HC164扩展按键的处理程序集\key_disp.c
文件 1045 2010-01-29 00:11 74HC164扩展按键的处理程序集\key_disp.h
目录 0 2009-02-22 13:13 74HC164扩展按键的处理程序集\74HC164\default\dep
目录 0 2009-02-23 10:05 74HC164扩展按键的处理程序集\74HC164\default
目录 0 2009-02-23 10:07 74HC164扩展按键的处理程序集\74HC164
目录 0 2010-02-12 21:44 74HC164扩展按键的处理程序集\74HC164_按键_数码管
目录 0 2011-06-10 15:33 74HC164扩展按键的处理程序集
----------- --------- ---------- ----- ----
............此处省略2个文件信息
- 上一篇:BP汉字识别GUI.zip
- 下一篇:labview生成扫频信号
相关资源
- 映泰Biostar TA870网
- ASUS华硕K45VD|A45VD主板驱动程序 v9.3.0
- 华硕ASUS K42JZ BIOS主板驱动程序 v9.1.1
- ASUS华硕B85主板BIOS驱动程序 官方版
- Samsung三星R439-DS系列网卡驱动程序 v
- 索尼SONY VPCM125JC网卡驱动程序 v6.0.14
- 清华同方手写板万能驱动程序
- ASUS华硕a550笔记本电脑网卡驱动程序
- 用Verilog语言写的CPLD和MCU通讯的SPI接口
- 硬盘、固态硬盘实用程序HDTunePro
- 易语言穿越火线辅助程序源码
- Gerber文件的编辑程序
- 2019程序员互联网公司最新面经包含腾
- oppo智能手机adb驱动程序
- FUID、CUID写卡程序
- ACS读卡器USB驱动程序 v4.0 官方版
- M1卡密码破解软件
- M1卡破解程序 Mifare 1k
- 在IAR环境下,lpc1788用户程序的地址及
- 如何用单片机控制舵机及程序详细
- 基于STM32F103C8单片机的晶联讯电子JL
- 计算的本质:深入剖析程序和计算机
- DO-WHILE循环语句的翻译程序设计简单优
- 基于51单片机的交通信号灯程序
- 微信小程序源码-合集5
- EPSON打印机程序设计指南(ESC/POS指令
- grpc-lua CentOS 7.4 执行程序打包
- 手机usb通用驱动程序(手机USB万能驱
- 程序员励志壁纸桌面
-
基于ADO开发ob
jectARX数据库应用程序
评论
共有 条评论