能解释一下程序的每一步是什么意思?整个程序的功能是干什么呢
- 提问者网友:迷茫庸人
- 2021-03-07 17:52
/*********变量及IO口定义*********
/.h>/
unsigned char Read1302(unsigned char ucAddr);/void DS1302_SetProtect(bit flag);
//#ifndef __ds1302_h
#define __ds1302_h
#include <
sbit fen_shi = P2^4 ;
void Write1302(unsigned char ucAddr;
/reg52;
sbit fen_ge =P2^7;
#include <
sbit sec_ge=P2^0;定义位 端口
sbit shi_ge = P2^5;用于计算 DS1302_RAM 地址的宏
#define clock 0xc2
#define clock_hour 0xc4
#define clock_min 0xc6
#define clock_sec 0xc8
void DS1302InputByte(unsigned char d); 转成24小时制
#define DS1302_SECOND 0x80
#define DS1302_MINUTE 0x82
#define DS1302_HOUR 0x84
#define DS1302_WEEK 0x8A
#define DS1302_DAY 0x86
#define DS1302_MONTH 0x88
#define DS1302_YEAR 0x8C
#define DS1302_RAM(X) (0xC0+(X)*2) /, unsigned char ucDa);
sbit shi_shi = P2^6;intrins;/.h>
#define AM(X) X
#define PM(X) (X+12) /
unsigned char DS1302OutputByte(void);
/void DS1302_GetTime(SYSTEMTIME *Time);//void DS1302_SetTime(unsigned char *pClock);/
void Initial_DS1302(void)
- 二级知识专家网友:魅世女王
- 2021-03-07 19:23
- 1楼网友:星痕之殇
- 2021-03-07 20:05
做个测试,希望有所帮助。
清理空间 clc clear close all 读入图像 i = imread('5.jpg'); 灰度化 i = rgb2gray(i); 显示 figure,imshow(i)
图像维数 [height width] = size(i); 二值化 bw = im2bw(i(0.2*height:0.8*height,0.2*width:0.8*width),0.3); 反色 bw = ~bw; 显示 figure, imshow(bw)
形态学开操作 bw = imopen(bw, strel('disk',2)); 面积滤波 bw = bwareaopen(bw,1000); 显示 figure, imshow(bw)
区域标记 [l,n] = bwlabel(bw); % 检测二值图像中的连通区域
显示 figure,imshow(l),title('l')
hold on 初始化 r = []; for i = 1:n bw1 = bw; 设置第i个区域为黑 bw1(l==i) = 0; 显示 figure, imshow(bw1), title('bw1') 找到白色区域 [y,x] = find(bw1); 计算凸包 k = convhull(x,y); 取点 x = x(k); y = y(k); %figure, plot( x, y); 拟合参数 beta = [x.^2+y.^2 x y]\ones(size(x)); % 拟合圆,计算圆方程中的系数值 centerx = -beta(2)/(2*beta(1)); % 计算圆心横坐标 centery = -beta(3)/(2*beta(1)); % 计算圆心纵坐标 r = sqrt(centerx^2+centery^2+1/beta(1)); % 计算圆半径 保存 r = [r;r]; 绘图 t = linspace(0,2*pi,50); hold on plot(centerx+r*cos(t),centery+r*sin(t),'r','linewidth',2) end 显示结果 r