-
基于PIC16F84A单片机内部EEPROM读写与红外遥控解码
/****************************************************
* 标题:遥控接收程序 *
* 作者:WSQY-QiChuYong *
* 日期:2011年8月5日
- 2022-04-28 15:22:56下载
- 积分:1
-
GPS资料和程序详解
资源描述该 GPS 模块采用瑞士 u-blox 公司的 NEO-5Q 主芯片,此芯片为多功能独立型 GPS
模组,以 ROM 为基础架构,成本低,体积小,并具有众多特性。采用 u-blox 最新的
KickStart 微弱信号攫取技术,能确保采用此模组的设备在任何可接收到信号的位置
及任何天线尺寸都能够有最佳的初始定位性能并进行快速定位
- 2022-02-06 09:18:11下载
- 积分:1
-
自定义USB设备驱动(非CDC)
将基于c8051f340单片机枚举成自定义USB设备,上层AP通过本驱动程序和底层硬件里的FIRMWARE程序通信。
- 2023-03-28 02:40:04下载
- 积分:1
-
关于STM32的小车程序
应用背景这是一个简单的遥控车程序,它是一次比赛的时候做的,用于第一视角的对抗赛中。关键技术这是一个关于小车的程序,里面有许多STM32的文件配置,有PWM,中断,2.4G遥控的,串口,等等
- 2022-01-25 20:21:41下载
- 积分:1
-
PT2313 源码
应用背景#define PT2313_ADDR 0x88 //I2C写地址
unsigned char contr[7];// = {63, 0, 31, 31, 15, 15, 3};
#pragma warn-
eeprom char mcontr[7];
#pragma warn+
extern unsigned char tda7131savecou = 0;
//unsigned char keycou = 0;
//extern unsigned int tcount = 0, keyval = 0x0f, keysta = 1, keytem = 0x0f, keycn = 22, ctrbit = 0;
static bit muteflag = 0;
#define keypin (PINC & 0x0f)
#define fcow 5
#define fvcow (fcow + 36)
#define bcow 70
#define bvcow (bcow + 36)
//#define MovLef 0x02fd
//#define MovRig 0xc23d
//#define ValAdd 0x906f
//#define ValDec 0xa857
void Radio_dsiplay(void);
/*///////////////////////////////////////////////////
四个通道衰减处理
通道0-3单独通道处理
通道4 前两通道处理
通道5 后两通道处理
通道6 四个通道同时处理
- 2023-01-08 04:20:03下载
- 积分:1
-
数据签名
功能:调用OpenSSL实现数字签名功能,主要是利用OpenSSL中的PKSC7对明文进行数据签名,再对签名后的数据进行验证。其中还用到Base64 的编码和解码功能能,需要提供my.pfx文件
- 2022-07-25 04:09:51下载
- 积分:1
-
蓝牙开发教程
蓝牙驱动及Bluez使用流程分析,详细的驱动开发教程
- 2022-01-24 09:56:03下载
- 积分:1
-
软件定时器
应用背景
我们在做单片机程序时,经常会用到多个定时器,这时我们就需要各个配置多个不同的TIMER,有时TIMER不够用,有时TIMER配置过多,标志过多,程序写着写着就乱了,就算是理清了,也会造成程序可读性差,可移植性低,对硬件依赖性强的缺点。
为了解决这个问题,我们可以用程序实现一个软件定时器,在内存允许的范围内,它可以实现无数个定时器、计数器功能,当需要一个定时器,只需要在程序里定义一个定时器变量,通过不同接口的调用,就可以实现定时功能;实现这一功能,只需要占用一个硬件定时器即可,大大减少了硬件TIMER的占用,提高了程序的可移植性,降低程序的复杂度。
关键技术
在这里,我们需要借鉴操作系统架构里的系统嘀嗒功能。先初始化一个硬件TIMER作为系统的心跳,用这个TIMER来驱动一个全局变量sys_pulse的递增;然后利用程序来查询变量当前值判断系统程序的执行时间,从而得现时间的间隔,再通过事件发送程序来通知任务定时已到。
一个软件定时器变量,至少需要包括三个元素,开始时间start_time,定时时长interval,事件内容event;
每当程序启动一个定时器,将当前系统的sys_pulse值赋于开始时间变量start_time, 设定定时器的定时时长interval, 和事件内容event, 然后在主循环里不断查询sys_pulse 是否大于 start_timer + interval,如果大于,则表明此定时器定时结束,然后调用事件发送函数告诉任务,定时已到,开始执行任务。
如果用户要移植此程序,只需要修改timer_init()内硬件TIMER的初始化程序即可,其它内容可以直接引用,不需要修改。
&
- 2023-04-15 22:30:04下载
- 积分:1
-
BLDC 有霍尔驱动
基于 SUNPLUS 的 BLDC 驱动详细讲解,希望对于研究 BLDC 驱动器的同仁们有所帮助; 同时个人觉得也是非常不错的入门资料!
- 2022-03-02 19:00:29下载
- 积分:1
-
MSP430 关于液晶1602的实验源码
MSP430单片机——关于液晶1602的代码,实验源码测试通过。。部分代码如下:
#include
#include "cry1602.h"
typedef unsigned char uchar;
typedef unsigned int uint;
/**************宏定义***************/
#define DataDir P4DIR
#define DataPort P4OUT
#define Busy 0x80
#define CtrlDir P3DIR
#defi
- 2022-12-02 11:35:04下载
- 积分:1