- 博客(38)
- 资源 (13)
- 收藏
- 关注
原创 MSP430F149串口收发程序详解
#include void main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop WDT P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD ME1 |= UTXE0 + URXE0;
2017-10-31 17:46:46 12576 1
原创 MSP430按键控制LED闪烁频率
MCU为430F149,编译环境为IAR,主时钟使用频率的800KHz,内部DCO。LED->P2.0, KEY1->P1.0, KEY2->P1.1。亲测可用。/***********************************************程序描述:单片机的P1.0,P1.1连接两个独立按键,P1.0->KEY1,P1.1->kEY2,由外部中断下触发。P2.0->LED,
2017-10-29 20:04:24 6919 1
原创 MSP430F149按键检测程序
该程序由IAR编译运行,使用单片机的P1.0~P1.3口作为四个独立按键。由外部中断的下降沿触发。/***********************************************程序描述:单片机的P1.0~P1.3连接四个独立按键,外部中断下触发*作者 :huasir*时间 :2017.10.28*******************************
2017-10-28 21:59:32 2804
原创 LCD1602使用说明
一、学习目的 学会如何使用一个新的模块:从硬件上获得接口的了解;查看芯片的数据手册,了解接口的使用方法写程序时要遵循 硬件电路 –> 硬件接口 –> 软件编程 这三个部分LCD使用要点:要明白AC就是内部数据指针的地址,DDRAM即存储显示数据的存储器,每次显示,都要想明白往哪个地址上写数据。要学会通过使用手册上的时序图来学习如何编写读写数据的函数,最终的一点还要会硬件连接。
2017-10-28 21:17:44 5536
原创 启动文件
startup.a51中一般已经包含了main标号,初学者写汇编如果还包含启动文件,容易出现符号重定义错误。而且用汇编多半意味着编程者希望事必躬亲,从初始化到向量配置等等底层工作全部包干,这种情况下startup.a51在编程者眼中完全是垃圾。 而对于采用C/C++编写程序就是完全另一回事了。这类编程者多半对于硬件底层未见得需要了解得多么透彻,启动文件准备好了一个可预测的初始工作环境,方便高级
2017-10-27 10:37:56 422
原创 STM32库开发
一切计算机科学的问题都可以用分层来解决,从汇编到C,从直接配置寄存器到使用库,从裸机到系统,从操作系统到应用层软件,无不体现着这样的分层思想。开发的软件多了,跨越的软件层多了,会深刻的认同他的这句话,分层思想在软件开发上体现的淋漓尽致,分层使得问题变得简单,能够屏蔽底层实现方式的差异,使得软件开发变为简单的调用函数接口,而不用管它的实现,大大提高效率。STM32使用库函数开发,就是建立了一个新
2017-10-26 15:34:28 356
原创 enum在C语言中的用法
enum是枚举类型,可以用该类型定义枚举常量。#include #include void main(){ enum gpiospeed{gp_10MHz,gp_20MHz,gp_30MHz}; enum gpiospeed s; s = gp_30MHz; printf("%d",s); }编译运行之后,会打印出来2
2017-10-26 13:40:05 629
原创 树莓派简介
相信很多创客都听说过树莓派,作为一个单片机开发者而言,什么是树莓派呢?树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓
2017-10-25 20:45:29 1713
原创 Arduino的串口通信
在Ardunio的程序分为两部分,一部分是初始化部分setup(),一部分是循环部分loop(),它符合我们常规的单片机程序,在setup()中进行初始化配置,例如IO口的方向配置,然后在循环体loop()中编写自己的用户程序。在89C51,或者是MSP430,STM32中串口通信的程序往往非常复杂,因为它涉及到波特率的配置,时钟配置,端口设置,中断服务程序等等,初学者很难一下子搞懂。而在Ar
2017-10-25 18:51:50 2933
原创 RS232与TTL
做电子开发常常会遇到RS232和TTL的转化,那么什么是RS232呢,又为什么需要进行转化?串行接口按标准被分为 RS-232、RS-422、RS-485。RS-232 是在 1962 年发布的,也是目前 PC 机与通信工业中应用最广泛的一种串行接口,RS-232 采取不平衡传输方式,即所谓单端通讯。典型的 RS-232 信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+
2017-10-25 18:32:24 559
原创 Ardunio简介
相信很多电子爱好者都会知道一款叫Ardunio的单片机,它是一款非常简单的单片机,这是因为Arduino 语言是建立在 C/C++基础上的,其实也就是基础的 C 语言,Arduino 语言只不过把 AVR 单片机(微控制器)相关的一些寄存器参数设置等都函数化了,不用我们去了解他的底层,让不太了解 AVR 单片机(微控制器)的朋友也能轻松上手。我的理解是,它的独特之处在于它的开发环境,里面有很多函数
2017-10-25 11:03:57 2107
原创 STM32的时钟系统
就像MSP430的超低功耗单片机一样,STM32也有多个时钟,具体的说STM32有四个时钟源:(1)高速外部时钟(HSE):4~16MHz外部晶振,一般使用8MHz,给CPU提供时钟信号。(2)低速外部时钟(LSE):一般采用32768手表晶振,6P负载晶振。因为它比较精确,所以可以位实时性高的模块用。(3)高速内部时钟(HSI):它由内部RC振荡电路产生,频率为8MHz,为CPU提供
2017-10-19 10:25:48 672
原创 ARM单片机与ARM内核
人们常常把ARM架构和ARM单片机混淆,其实使用ARM内核的单片机有很多,比如ST公司的STM32F103,它就是使用ARM-Cortext M3内核,那么究竟什么是ARM内核呢?MCU(Microcontrol Unit)俗称单片机,它有CPU,ROM,RAM,I/O,中断系统,定时器,时钟系统,ADC,DAC等,其中的CPU是核心,它有ARM公司设计,而别的外设单元,比如定时器,IO口,就
2017-10-19 09:44:55 5427 4
原创 STM32添加路径报错
编译器显示 ucannot open source input file "stm32f10x_lib.h",:no such file or direct是因为没有正确的添加库文件的搜索路径。每个文件名的反斜杠前面要有两个点。
2017-10-15 21:21:52 1659 1
原创 学生如何提高专业英文阅读能力-施一公
学生如何提高专业英文阅读能力-施一公从小到大,我感性思维多一些,不善于读书。85至89年在清华生物系读本科期间,从未读过任何一种英文专业期刊。我受到的与英文阅读相关的训练一共只有两个。一是我在1986年暑假期间选修的时任系主任的蒲慕明老师开设的《生物英语》系列讲座,隐隐约约记得蒲先生让我们阅读一些诸如DNA双螺旋发现之类的科普性英文文章,很有意思。但时间较短,暑假过后也没有养成读英文文章的习惯
2017-10-12 23:02:57 502
原创 多源传感器融合
汽车安全领域,行人检测是一个重要的研究方向,目前主流的方法有Mechine Vision(机器视觉),Rador(雷达)包括激光雷达和毫米波雷达,infrared image processing(红外成像)。一般情况下,单单用一种方式是很不可靠的。比如远距离探测(超过上百米),雷达效果不好,而近距离,机器视觉效果不好,为了达到好的探测,常常需要用到多种传感器,这就是多源传感器融合技术。而红外技术
2017-10-11 21:19:53 3328
原创 图像处理中的神奇的卷积核
图像处理中常常需要用一个滤波器做空间滤波操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、窗口等。线性滤波则通常是:将模版覆盖区域内的元素,以模版中对应位置元素为权值,进行累加。看起来挺简单的,但是要区分相关(cross-correlation)和卷积(convolution)两种模式。卷积需要先翻转后叠
2017-10-10 22:14:46 4264
原创 图像的卷积及相关
图像处理中常常需要用一个滤波器做空间滤波操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、窗口等。空间滤波可以分为线性滤波和非线性滤波。非线性滤波常见的有中值滤波、最大值滤波等,相当于自定义一个函数,在数学上由于不满足线性变换因此叫做非线性滤波。这里不细研究它。线性滤波则通常是:将模版覆盖区域
2017-10-10 21:48:59 522
原创 信号的采样以及matlab实现
在matlab当中对一个连续信号进行采样,往往不是那么容易的理解,这是因为在matlab中画一条连续曲线其实已经进行了采样,matlab中所有的曲线都是用点拟合出来的,点越密,画出来的曲线也就越清晰,下面用程序说明close;clear all;fd = 1000; %fd就是采样频率,只有fd取得越大,画出来的曲线越好看,因此干脆取1000t= 1:1/fd:10;f = 1
2017-10-10 20:39:58 33868
原创 在matlab下计算信源熵
在图像的压缩编码中经常提到信源熵的概念,下面用matlab实现close all;clc; clear all;f = [119 123 168 119;123 119 168 168; 119 119 107 119;107 107 119 119];%将f看做一幅图像p = hist(f(:),8);%该直方图将会有8列,如果是灰度图像,则使用hist(f(:
2017-10-10 16:55:52 12343 1
原创 关于信息论的压缩编码的个人思考
关于为什么一幅图像能够通过压缩来减小存储空间,为什么我们使用压缩软件就能够将大文件变小,很多人并不知道其中的原因,就连学过信息论和统计学的高材生也未必讲清楚其中的道理。我试图通过一个简单的例子,来阐述数据压缩的原理。想像一下,我们买了1000个苹果,要将这1000个苹果按照颜色分为两类并做标记,有青的和红的,现在要求记号有两种,一种是一杠,一种是两杠,那么到底是哪个标记对应青苹果,哪个标记对应
2017-10-10 11:25:50 581
原创 matlab如何计算一幅图像的Byte数
f = imread('wzz.jpg');info = whos('f'); %Use whos() to display the varible f's information structre %must use ''a = info.bytes; %return the varible's bytes
2017-10-10 11:03:11 3625
原创 什么是正则表达式
作为一名计算机爱好者或者相关研究者,不懂正则表达式,那你就太low了发展历史正则表达式的"祖先"可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。1956 年, 一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的
2017-10-10 10:13:56 283
原创 matlab的imshow()如何以合适大小显示图片
a = imread('pout.tif');如果使用imshow(a)则显示出来的图像过小,我们可以使用下句,来显示合适大小的图像imshow(a,'InitialMagnification','fit')
2017-10-09 22:43:14 41050 2
原创 图像翻转代码实现
在matlab中进行图像翻转可以通过专门的函数,然而这个原理非常简单,我们可以自己写代码通过循环遍历来实现翻转,这是一件很有趣的事情。close;clear all;clc;a = imread('wzz.jpg');[x y z] = size(a);for k = 1:1:z for i = 1:1:x for j = 1:1:y
2017-10-08 22:56:40 1776
原创 二分法的代码实现
二分法是计算机求解方程的常用算法,很容易在matlab中实现。%计算f(x)= 0的近似解,容差为tolfuction xc = bisec(f,a,b,tol)if sign(f(a))*sign(f(b)) >= 0 error('f(a)f(b)endfa = f(a);fb = f(b);while (b-a)/2 > tol c = (a+b
2017-10-08 21:11:06 918 1
原创 多项式的嵌套乘法代码实现
计算机求解多项式的值可以使用嵌套乘法,例如:P(x) = 2x^4 + 3x^3 - 3x^2 + 5x -1可以展开一般形式:c1 + (x - r1)( c2 + (x - r2)(c3 + (x - r3)(c4 + (x - r4)(c5))))其中c = [-1 5 -3 3 2] , 阶次d = 4,r = [0 0 0 0];在matlab下实现:functi
2017-10-08 17:23:45 1919
原创 图像的乘法运算,自乘物理意义
图像的乘法运算主要用于实现图像的掩膜处理,即屏蔽掉图像中的某些部分。图像的缩放是指一幅图像乘以一个常数,如果该常数大于 1,则图像的亮度将增强,如果常数小于1,则图像的亮度会变暗。matlab中用immultiply()函数实现乘法运算。close;clear all;clc;I = imread('rice.png');I1 = uint16(I);I2 = immult
2017-10-08 15:08:15 13389 1
原创 matlab中图像叠加
如果我们想在一幅图像上加上一个背景,那么我们可以将两幅做加法运算,在matlab中既可以使用imlincomb()函数,也可以使用imadd()函数。close;clear all;clc;A1 = imread('rice.png');A2 = imread('cameraman.tif');K = imlincomb(0.5,A1,0.5,A2);subplot(1
2017-10-08 11:43:24 63448 10
原创 imshow('xx.jpg')和imshow('xx.jpg',[])的区别
在MATLAB中读入图像需要使用imread()函数,显示图像则使用imshow()函数,然而,imshow('xx.jpg')和imshow('xx.jpg',[])是有区别的。imshow(K)直接显示K;imshow(K,[])显示K,并将K的最大值和最小值分别作为纯白(255)和纯黑(0),中间的K值映射为0到255之间的标准灰度值。例如:close all;clear
2017-10-07 23:05:27 1053
原创 MATLAB中图像的种类及基础知识
MATLAB支持四种图像形式:1、灰度级图像(gray-scale images);2、二值图像(Binary images);3、索引图像(Indexed images);4、RGB图像(RGB images);在MATLAB中,利用imread()函数读入的彩色图像为RGB图像,RGB图像在计算机中表现为一个三维矩阵,分别为R.G.B分量。在matlab中默认读入的像素值为
2017-10-07 18:09:34 2324
原创 图像“抖动”原理
“抖动”是印刷行业和出版业中常用的一种工艺,老式的针式打印机只能打印出来黑点和白点,可是黑白图片是有灰度级的,那么如何打印出来图片呢?“抖动”由此而生,抖动试图通过在白色背景上生成黑色的二值图像来给出色调变化的直观印象,可以假想一下,黑点越密,那么远距离观察就越黑,如何控制黑点的分布就是“抖动”算法的核心,在此就不再讨论,在matlab中通过函数dither()可以将灰度图像或者彩色图像经抖动处理
2017-10-07 17:15:35 16698
原创 电路分析中的复数
在数学中复数表示为z=a+bi,其中复数单位是i。在电路分析以及信号处理中引入复数之后大大简化了计算,很多学者知道这一点,却不明白为什么电路分析中的复数表示为z=a+bj,其实这是因为电流的单位是i,为了避免冲突,故电路分析中复数单位换为了j。
2017-10-06 09:48:37 6957
原创 MSP430切换主时钟
MSP430F149单片机有多个时钟源,上电后默认的系统主时钟是内部800KHz的DCO,如何切换为尾部晶体振荡器,需要注意的是如果切换不成功,便会使CPU失去时钟,那样会导致系统卡死,因此要不断查询,时钟失效的标志位,以下为IAR环境下程序:#includeint main( void ){ unsigned char i; // Stop watchdog timer
2017-10-03 17:59:05 824
原创 二维傅里叶变换的意义
在信号处理中,常常用到一维傅里叶变换,即可以将一个时域信号变换为一系列的不同幅度的正弦波的叠加,那么对于图像处理,可以理解为在中心傅里叶谱的中心为原点(0,0),建一个坐标系,水平方向为v方向,竖直方向为u方向。利用傅里叶变换,将图像变成一系列的波来表示。在点(u,v)处表示有一个波,波长是关于u,v的函数,该点处的亮度是该波的幅度。原点处是灰度的平均值。同时,变换完,中心是两个角频率都为0(直流
2017-10-03 17:38:51 5126
原创 图像中噪声分类
1,椒盐噪声J = imnoise(I,'salt & pepper',d) addssalt and pepper noise to the image I, where d isthe noise density. This affects approximately d*numel(I) pixels.The default for d is 0.05.salt &
2017-10-02 16:35:23 3159
原创 线性空间滤波
在MATLAB中使用imfilter()函数,即可实现线性空间滤波,将模板设置为全1矩阵,那么可以简单的实现均值滤波,程序如下:close all;clear all;clc;p = imread('ayst.jpg');a1 = p(:,:,1);%只取彩色图像的R分量J=imresize(a1,[512,512]);%将图像压缩为512*512figure,imsh
2017-10-02 15:35:37 581
原创 图像压缩变换
在matlab中进行图像的空间滤波时,需要将图像转变为固定像素值,用以下方法即可:I=imread('wzz.jpg');J=imresize(I,[256,256]);%将图像压缩或者扩展为256*256imshow(I);figure;imshow(J);
2017-10-02 15:06:09 630
自组织神经网络+深度学习+机器学习+学习案例+基于Kohonen网络的入侵聚类+源代码
2024-02-01
机器学习+样本+动物姿态数据+数据集
2024-02-01
python爬虫+简单爬取信息内容+网页资料爬取
2024-01-30
NLP资源+小波神经网络预测+源代码+matlab代码
2024-01-30
python基础资料+教程+简明教程+学习资料
2024-01-29
毕业设计+神经网络+模糊神经网络的嘉陵江水质评价+matlab代码
2024-01-29
机器人编程+硬件模块驱动+AD9854驱动程序+硬件资料
2024-01-27
基于Kohonen网络的网络入侵聚类+神经网络+matlab代码+机器学习
2024-01-27
anaconda安装+安装教程+步骤+详细说明
2024-01-27
ACM代码程序资源+基于GA优化的非线性函数拟合+matlab代码
2024-01-26
蓝桥杯往年试题+练习题+神经网络实现图像压缩+BP网络+matlab代码
2024-01-26
RBF网络+神经网络+水位预测+备赛案例+matlab代码+程序
2024-01-26
优化算法+机器学习+神经网络+遗传算法+matlab编程
2024-01-26
数学建模案例+PNN实现故障诊断+数据分析+matlab程序+数据集合
2024-01-25
AD8302幅相检测器资料+AD8302驱动程序+硬件开发资料+智能车竞赛备赛资料+智能车控制器单片机资料
2024-01-25
TLC5615驱动程序+10位DA模块+电子设计竞赛资料+硬件资料+嵌入式程序+单片机
2024-01-25
模拟退火算法+java实现+优化问题
2024-01-25
电子信息工程毕业答辩PPT+本科毕设+答辩PPT+智能快递箱的设计
2024-01-24
Java基础程序+计算机编程+实例+入门程序
2024-01-24
人脸识别数据库+人脸朝向识别+机器学习+深度学习
2024-01-24
自组织映射(Self-organizing map, SOM)matlab代码+机器学习+人工智能
2024-01-23
机器学习+matlab+SVM支持向量机
2024-01-23
手写体数字图片数据集+人工智能+深度学习+机器学习
2024-01-23
IET期刊投稿模板+latex模板
2023-11-27
阵列信号处理-雷达信号处理-单脉冲测角-和差比幅法
2023-11-17
单脉冲测角-雷达信号处理-半阵法测角-matlab仿真
2023-11-03
阵列信号处理+波束形成+matlab仿真
2023-09-24
雷达信号处理+线性调频信号+目标回波仿真+matlab仿真
2023-09-21
盲源分离+JADE算法仿真+matlab仿真+语音信号分离+亲测好用
2023-09-20
信号处理+盲源分离+FastICA算法仿真
2023-09-20
雷达信号处理+DRFM间歇采样干扰仿真
2023-09-13
压缩采样之随机解调的matlab仿真
2023-05-26
JADE盲源分离算法原理以及MATLAB程序
2023-03-23
中医-《黄帝内经阴阳应象大论》中说“怒伤肝”
2022-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人