- 博客(1)
- 资源 (3)
- 收藏
- 关注
原创 C51单片机 DS1302 时钟模块 驱动代码
自己看教程后写的,测试过可以用。水平业余,大佬轻喷… /********************************************************* *《DS1302时钟模块驱动》 *文件:DS1302.c DS1302.h * *Description: extern unsigned char *DS1302ReadClock(): 读取时钟日历数据,返回值为数...
2020-02-12 16:39:58
1333
StepperModule.c
28byj48 步进电机 驱动,占用定时器0。已自己写的,并且测试过,可以定速调速,可以走有限和无限步数,可以即时停止和反向。
包含功能:
位置控制
速度控制
方向控制
/*********************************************************
*《步进电机驱动模块》
*文件:StepperModule.c StepperModule.h
*
*Description:
bit StpMtrSetSpeed(int speed, bit IncMode)
设定步进电机旋转速度,设绝对、相对模式
speed: 每秒speed个cnt,0~655355,无方向,0为不修改
IncMode:是否为增量模式, 0为绝对模式,该模式下speed非负为0时为无穷转;1为增量模式,speed 此模式下修改已有speed值,可正(加速)可负(减速),为0时不修改。
成功返回1
bit StpMtrSetCnt(long cnt, bit cntMode)
cnt: 要改写的cnt数量。绝对下,CW方向为正,0为无穷转;相对下,累加cnt数到剩余cnt且不修改方向,0为不修改
cntMode: 0 绝对; 1相对
成功返回1
bit StpMtrSetDir(char dir)
dir: 1 方向为CW;0 方向位CCW;-1:翻转方向
成功返回1
void StpMtrInitTimer0();
初始化定时器,调用其他函数前必须先调用一次本函数。采用定时器0
void StpMtrStp();
断电停机
void StpMtrHold();
保持
*Version:1.0
V1.0
*********************************************************/
头文件:
-----------
extern bit Tst1;//预留测试量
extern unsigned long int Tst2;//预留测试量
extern unsigned long int Tst3;//预留测试量
extern unsigned long int Tst4;//预留测试量
extern int StpMtrTargetSpeed;//电机目标速度
extern void StartUp();
extern void StpMtrInitTimer0();
extern void StpMtrStp();
extern void StpMtrHold();
extern bit StpMtrSetSpeed(int speed, bit IncMode);
extern bit StpMtrSetCnt(long cnt, bit cntMode);
extern bit StpMtrSetDir(char dir);
2020-02-12
普中科技 C51 单片机 矩阵键盘驱动 C代码(自己写的挺好用的)
C51单片机 矩阵键盘 驱动程序,内置防抖功能。
提供函数 extern unsigned char MtxKBInput()//返回0~16的数值,16为初始化值,键值:0~15
----------
头文件:
----------
#include "reg52.h"
#include
//声明接口函数
extern unsigned char MtxKBInput();
2020-02-12
普中科技 C51单片机 8位数码管 驱动C代码(自己写的挺好用)
*《数码管驱动模块》(整数)
*文件:DisplayNum.c DisplayNum.h
*提供现成的函数,可以直接调用完成显示
*Description:
DisplayNum(unsigned long int DN_Num, unsigned char _numberSystem):
在数码管上输出任意不高于8位的DN_Num的值,_numberSystem为0代表十进制,为1代表16进制,2代表2进制
若不用定时器,则需手动定时扫描;
initializeNixieTube(unsigned char TimerNumber, unsigned int updateTime)):(若用定时器扫描,自行解除中断注释)
初始化用于动态扫描的定时器定时器
TimerNumber:定时器标号 0或1
updateTime:0xFF(65536)以内的定时时间 单位微秒
void DisplayNumf(char str[], uC type):
在数码管上显示指定内容,传入字符串指针或首地址,内容只能包含数字、空格、减号。超过8位只显示8位
type:0默认,1时钟数据加点分隔xxxx.xx.xx
-----------------
DisplayNum.h 头文件:
-----------------
#include "reg52.h"
#include
//声明接口函数
extern void DisplayNum(unsigned long int DN_Num, unsigned char _numberSystem);
extern void initializeNixieTube(unsigned char TimerNumber, unsigned int updateTime);
extern void DisplayNumf(char str[],unsigned char type);
extern unsigned char printNum[8];
2020-02-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人