- 博客(60)
- 资源 (135)
- 问答 (30)
- 收藏
- 关注
原创 10个整数排序
#includesort(int *x,int n){ int i,j,k,t; for(i=0;i { k=i; for(j=i+i;j if(*(x+j)>*(x+k)) k=j; if(k!=i) { t=*(x+i);
2014-07-21 10:23:04 1745
原创 52单片机定时器2
什么是捕获?捕获就是捕捉某一瞬间的值,通常用它来测量外部某个脉冲的宽度或周期。使用捕获功能可以非常准确的测量脉冲宽度或周期,他的工作原理是:单片机内部有两组寄存器,其中一组的内部数值是按照固定的机器周期递增或递减,通常这组寄存器就是定时器的计数器寄存器(TLX,THX),当与捕获功能相关的外部某引脚有一个负跳变时,捕获便会立即将此时第一组寄存器中的数值准确地获取,并且存入另一组寄存器中,这组寄
2014-07-20 11:55:59 3123
原创 定时器0方式2 方式3
定时器0方式2#include#define uchar unsigned char#define uint unsigned intsbit led1=P1;uint num;void main(){TMOD=0x02;TH0=6;TL0=6;EA=1;ET0=1;TR0=1;while(1){if(num==3686){
2014-07-20 10:40:53 4012
原创 设置 TIM3_CH2 的 PWM 模式,使能 TIM3 的 CH2 输出
/** ****************************************************************************** * @file stm32f10x_tim.h * @author MCD Application Team * @version V3.5.0 * @date 11-March-2011
2014-07-31 00:34:16 6895 1
原创 PID的公式
增量式PID的公式,这个关系到MCU算法公式的书写,实际上两个公式的写法是同一个公式变换来得,不同的是系数的差异。资料上比较多的是:还有一种是:感觉第二种的Kp Ki Kd比较清楚,更好理解,下面介绍的就以第二种来吧。(比例、积分、微分三个环节的作用这里就详细展开,百度会有很多)硬件部分:控制系统的控制对象是4个空心杯直流电机,电机带光电编码器,可以反馈转速大小的波
2014-07-29 08:42:49 6429
原创 倒立摆
#include "sys.h"int main(){SYS_CONFIG(); Daolibai_Init();//单摆各部分接口初始化 while(1){ UpdateAngel(); //实时转换更新角度值 // NOWStep(CurrentStep); printf(
2014-07-28 13:49:56 4642
原创 arm32位固定指令中怎么容纳32位变量
在ARM指令集汇编码中,32位有效立即数是通过______偶数位而间接得到的A、循环左移B、循环右移、C、逻辑左移、D、逻辑右移答案为循环左移,为什么?还有最好解释一下逻辑移动和循环移动的概念在ARM指令中,有三个操作数,目的操作数,第一原操作数,第二原操作数,其中最有意思的就是第二原操作数了,在ARM 指令中,第二原操作数共有12位,分成两个部分,一个部分占8位,能表示0—
2014-07-26 10:11:57 4616
原创 超声波模块SRF05
//////////////////////////////////////////////////////////////////////////////////// PIC16F877 + HY-SRF05 + LCD03 example// Written October 2008 , using HITECH PIC16 compiler// // No
2014-07-25 13:29:12 5875
原创 STM32的独立看门狗
STM32 内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG)STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 40Khz,而是在 30~60Khz 之间的一个可变化的时钟,只是我们在估算的时候,以 40Khz 的频率来计算,看门狗对时
2014-07-24 17:41:53 6220
原创 STM32外部中断
STM32 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 的强大之处。STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F103 的19 个外部中断为:线 0~15:对应外部 IO 口的输入中断。线 16:连接到 PVD 输出。线 17:连接到 RTC 闹钟事件。线 18
2014-07-24 17:31:17 4622
原创 串口相关的函数
要使能串口 1 的中断,同时设置抢占优先级为 1,子优先级位 2,初始化的方法是:USART_InitTypeDef USART_InitStructure;NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//串口 1 中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1 ;/
2014-07-24 16:40:08 1480
原创 串口设置的一般步骤
1) 串口时钟使能,GPIO 时钟使能2) 串口复位3) GPIO 端口模式设置4) 串口参数初始化5) 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)6) 使能串口7) 编写中断处理函数.串口时钟使能。串口是挂载在 APB2 下面的外设,所以使能函数为:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);
2014-07-24 15:55:46 9590
原创 PID算法
PID是比例,积分,微分的英文单词的首字母的简称。面举个例子说明一下PID,让大家有个感官的认识,。一个人闭眼走路,假设他知道自己离目的地有100米远,那么他就可以以每秒一米一步这样的速度走向目的地,100米刚刚好是100步,这是一个非常理想化的现象。假设他不知道目的地有多远,目的地可能是1000米也有可能是10000米,他用每秒每步3米得速度向前,很不巧的是这个目的地在80米处,他走
2014-07-23 16:26:15 1647
原创 蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。源不是指电源的“源”,而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声;无源蜂鸣器则没有自带震荡电路,必须外部提供 2~5Khz 左右的方波驱动,才能发声。STM
2014-07-23 09:19:19 4391
原创 STM32跑马灯
#include "stm32f10x.h"#include "led.h"#include "delay.h"#include "sys.h"int main(void){delay_init();LED_Init();while(1){LED0=0;LED1=1;delay_ms(300);LED0=1;LED1=0;delay_ms
2014-07-23 00:08:50 1541
原创 STM32的IO口
STM32 的 IO 口可以由软件配置成如下 8 种模式:1、输入浮空2、输入上拉3、输入下拉4、模拟输入5、开漏输出6、推挽输出7、推挽式复用功能8、开漏复用功能每个 IO 口可以自由编程,但 IO 口寄存器必须要按 32 位字被访问。STM32 的很多 IO 口都是 5V 兼容的,这些 IO 口在与 5V 电平的外设连接的时候很有优势,具体哪些 IO
2014-07-22 23:17:54 2806
原创 STM32建立工程库函数方法
(1)打开keilMDK主界面可以看到工程中有一个默认的工程,点击这个工程名字,然后选择菜单Project->Close Project,就关闭掉这个工程了!这样整个 MDK 就是一个空的了,接下来我们将建立我们的工程模版。(2)在建立工程之前,我们建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为 STM32CODE(3)点
2014-07-22 14:41:01 4185
原创 CMSIS标准
CMSIS 标准(Cortex Microcontroller Software Interface Standard) ,翻译过来是“ARM Cortex™ 微控制器软件接口标准”。CMSIS 分为 3 个基本功能层:1) 核内外设访问层:ARM 公司提供的访问,定义处理器内部寄存器地址以及功能函数。2) 中间件访问层:定义访问中间件的通用 API,也是 ARM 公司提供。3)
2014-07-22 13:02:33 3538 1
原创 LQ_TTS6288语音模块
//注意:51单片机使用12M晶振串口发送数据会有误差而不能工作// 所以只能使用11.0592M的晶振main.c#include #include #include "uart.h"void syn6288(char* tex,unsigned char changdu);/***********************************
2014-07-21 16:21:57 2607 1
原创 利用指针函数编写一个求子字符串的函数
#include#include#include//定义一个指针型函数substrchar *substr(char *dest,char *src,int begin,int len){ int srclen=strlen(src); //取源字符串长度 if(begin>srclen||!srclen||begin
2014-07-21 11:53:52 2634
原创 对两个整数进行加、减、乘、除
#includeint add(int a,int b){ return a+b;}int sub(int a,int b){ return a-b;}int mul(int a,int b){ return a*b;}int div(int a,int b){ return a/b;}void resul
2014-07-21 11:01:28 4225
原创 用指针变量输入/输出二维数组元素的值
#include main(){ int a[3][4],*ptr; int i,j; ptr=a[0]; for(i=0;i for(j=0;j scanf("%d",ptr++); //指针的表示方法 ptr=a[0]; for(i=0;i {
2014-07-21 10:14:05 10306
原创 输入/输出一维数组的各元素
方法一:数组法——用a[i]形式法访问数组元素#includeint main(){ int i,a[10],*ptr=a; for(i=0;i scanf("%d",&a[i]); for(i=0;i printf("%4d",a[i]); printf("\n");}方法二:指针法——用*(ptr+i)形式
2014-07-20 23:54:29 5121
原创 从键盘上输入两个数,按小大的顺序输出
#include #include int main(){ int num1,num2; int *num1_p=&num1,*num2_p=&num2,*pointer; printf("Input the first number:"); scanf("%d",num1_p); printf("Input the second num
2014-07-20 23:35:29 4497
原创 串行工作模式之同步移位寄存器的输入输出方式
串行工作模式之同步移位寄存器的输入输出方式主要用于扩展并行输入或输出口。数据有RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接受均为8位数据。低位在前,高位在后。//串行口工作模式0#include #define uchar unsigned char #define uint unsigned intvoid dela
2014-07-20 16:36:04 5039
原创 舵机控制
标准的舵机有三根引线,分别是电源线Vcc、底线GND和控制线。首先,产生基本的PWM的周期信号,即产生20ms的周期信号;其次,调整脉宽,即单片机调节PWM信号的占空比。下面是程序设计的流程图正品彩盒装 春天舵机 SM-S8166M 金属齿轮 双轴承 JR接口!1/5大脚推荐舵机产品简介:大扭矩模拟舵机,4铜齿+1塑胶齿,双轴承。推荐用于:大型车模、
2014-07-19 20:06:25 2193
原创 ARM指令集的概述
ADC addition Carry 带进位的加法指令 数据处理类算术运算指令ADD addition 加法指令 数据处理类算术运算指令AND logic and 逻辑与数据处理类算术运算指令BBranch B 是最简单的分支。一旦遇到一个B 指令,ARM 处理器将立即跳转到给定的地址,从那里继续执行。注意存储在分支指令中的实际的值是相对当前的 R15 的值的一
2014-07-19 11:10:03 1592
原创 12864 显示画圆多种图形
/*******************************************************************************************************///程序说明:本程序为12864(st7920)驱动程序,只实现了最简单的显示功能/*************************************************
2014-07-18 22:34:11 7157
原创 12864显示图片
/******************************************************************************功能简介: 本程序驱动12864显示一副的图片。************************************************************************************/用...
2014-07-18 18:40:45 5163 2
原创 12864液晶并行方式显示
12864液晶使用的16*16点阵、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM).与外部CPU接口采用并行或串行两种控制方式。在12864上显示0-9的随机数 第二行显示www.csdn.blog第三行显示“求是07的博客”第四行显示“欢迎光临”以下是主要的代码:#include <reg52.h>#include <in...
2014-07-18 15:42:37 8546
原创 1602实现移屏功能
这个题目主要是设置显示开/光及光标设置这个地方与上一个题目没有多大的区别。#include#define uchar unsigned char#define uint unsigned intuchar code table[]="GOOD GOOD STUDY!";uchar code table1[]="DAY DAY UP ^_^!";sbit lcden=P3
2014-07-18 13:53:47 4602
原创 1602液晶显示
液晶有1,2端为电源,15、16为背光源;为防止直接加5V电压烧坏背光灯,在15脚串接一个10欧的电阻用于限流。液晶3端为液晶对比度调节端,通过一个10k欧电位器接地来调节液晶显示的对比度,液晶的4端为液晶控制器写数据/读数据选择端,接P3.5口液晶5端为读/写选择端,因为我们不从液晶读取任何数据,只向其写入命令和数据,因此此端始终选择为写状态,即始终接地。液晶 6端为使能信号,是
2014-07-18 13:22:05 5532
原创 NIVC->IPR[IPADDR]
#include #include "sys.h"//设置向量表偏移地址//NVIC_VectTab:基址//Offset:偏移量//CHECK OK//091207void MY_NVIC_SetVectorTable(u32 NVIC_VectTab, u32 Offset) { //检查参数合法性assert_param(IS_NVIC_
2014-07-18 11:45:30 11882
原创 基于STM32的旋转编码器
..\..\SYSTEM\usart\usart.c(1): error: #5: cannot open source input file "sys.h": No such file or directory#include "..\sys\sys.h"这样就可以找到路径了再次编译出现了问题..\..\SYSTEM\usart\..\sys\sys.h(3): error:
2014-07-17 19:55:51 7901
原创 key 串口
/********************************************************************函数功能:往串口发送一字节数据(可通过超级终端或者串口调试助手显示出来, 超级终端波特率选为9600)。每按下一次S2键,松开后均会在超级终端 上显示一串字母"abcdefg哈哈"。 入口参数:d: 要发送的字节数据。************
2014-07-17 13:53:41 1349
mysql-connector-python-8.0.30-windows-x86-64bit.msi
2023-09-12
mysql-connector-python-8.0.30-windows-x86-32bit.msi
2023-09-12
mysql-5.7.39-win32.msi
2023-09-12
chatGPT原理和相关应用场景
2023-04-18
人工智能还能做什么.doc
2023-02-07
RK3588的硬件编解码库使用
2022-11-19
Open-Video-Downloader-Setup-2.4.0
2022-11-19
QT做一个按钮Qpushbutton 倒计时功能的小小程序
2022-07-13
EC800X核心板“泩”规格书与使用说明V1.0.pdf
2024-09-21
数据清洗和数据预处理.pptx数据清洗和数据预处理.pptx
2024-09-10
定位系统的开发.pptx 定位系统的开发.pptx
2024-08-20
锂电池充电电路设计.pptx 锂电池充电电路设计.pptx 锂电池充电电路设计.pptx 锂电池充电电路设计.pptx
2024-08-19
426.50-tesla-desktop-win10-64bit-international.exe
2024-08-07
无刷电机的控制方法.pptx 无刷电机的控制方法.pptx
2024-08-04
feige2015-for-Windows-V5.1.150724.1438164797.exe
2024-07-10
C++11特性.pptx
2024-03-22
无人机的基本构成.pptx
2024-03-16
步进电机基础(5.9)-步进电机的驱动与控制-三相步进电机的驱动电路.pdf
2023-10-06
ubuntu20.04安装 Kscope出现问题如下
2021-09-26
qt中的对话框QDialog的退出按钮X为啥要点击2次才能够退出?
2019-11-21
python是脚本语言,该如何进行学习?
2016-06-13
一个io端口如何控控制电机的三种状态(正向转动,停止,反向转动)
2015-05-11
ADC0804和ADC0808有什么区别
2015-01-27
如何读取位图图像的数据?
2015-01-16
BMP位图的操作,怎么判断是否是个256色的位图
2015-01-15
如何去除十六进制的符号位?
2015-01-14
BCD编码的进制数为整数,如何判断这个数是整数还是负数?
2015-01-14
编写一个函数,转换十进制数为字符串,需要处理负数,为什么会有错误呢
2015-01-14
输出正弦波,根据函数参数变化振幅、周期和字符
2015-01-13
service mysqld retart 不能启动时是什么情况?
2015-01-11
Mysql数据库workbench进不去
2015-01-11
32位系统上最大支持的传输是多大?
2015-01-09
RHEL6(红帽)如何无线上网
2015-01-07
在MISRA C中有提示避免索引非数组的对象该怎么解决?
2015-01-05
创建线程使用fork()
2015-01-04
用C语言如何获取当前目录下面的文件名字?
2014-12-29
FTP文件传输如何用C语言实现
2014-12-26
自动更新系统的设计和实现
2014-12-26
用C语言实现网络聊天的程序怎么写?
2014-12-22
C语言线程控制的程序设计
2014-12-18
如何实现顺序表的各个功能?用C语言实现
2014-12-11
如何在工程目录下读取.c的源文件
2014-12-08
使用C语言1. 读取一个.C文件,删除该文件中所有的注释语句
2014-12-05
在产生布尔类型的表达式中对‘c’赋值如何解决
2014-12-03
C语言中的指针和数组的初始化
2014-12-02
f32a=f64a;为什么编译不能通过
2014-11-29
如何写一个随机点名系统
2014-11-23
(get = fgetc(fp))!=EOF
2014-11-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人