文档库 最新最全的文档下载
当前位置:文档库 › 仿真程序列表

仿真程序列表

仿真程序列表

●SLM方法:

1.“SLM_Papr_V4.m”,SLM方法(V=4)PAPR的互补累积分布函数(CCDF)曲线。

@

●PTS方法:

1.“PTS_Papr_V4.m”,PTS方法(V=4)PAPR的互补累积分布函数(CCDF)曲线;

@

2.“PTS_Papr_V8.m”,PTS方法(V=8)PAPR的互补累积分布函数(CCDF)曲线;

@

3.“PTSV4_BER_sspa.m”,PTS方法(V=4)经过SSPA放大器后OFDM系统误

码性能曲线;

4.“PTSV8_BER_sspa.m”,PTS方法(V=8) 经过SSPA放大器后OFDM系统误

码性能曲线。

●m序列PTS方法:

1.“mSeqPTS_Papr_V8.m”,m序列PTS方法(V=8)PAPR的互补累积分布函数

(CCDF)曲线;

2.“PTSV8_Mseq_sspa.m”,m序列PTS方法(V=8) 经过SSPA放大器后OFDM

系统误码性能曲线。

●循环移位线性搜索PTS方法:

1.“ITeralPTS_Papr_V8.m”,循环移位线性搜索PTS方法(V=8)PAPR的互补累

积分布函数(CCDF)曲线;

2.“ITeralPTSV8_SSPA_ber.m”,循环移位线性搜索PTS方法(V=8) 经过SSPA

放大器后OFDM系统误码性能曲线;

3.“ITeralPTS_Papr_V8P

4.m”,四相位循环移位线性搜索PTS方法(V=8)PAPR

的互补累积分布函数(CCDF)曲线;

4.“ITeralPTSV8_P4_SSPA_ber.m”,四相位循环移位线性搜索PTS方法(V=8)经

过SSPA放大器后OFDM系统误码性能曲线。

●C变换方法:

1.“CTNLQST_Papr.m”,C变换(NLTQST)方法PAPR的互补累积分布函数

(CCDF)曲线;

2.“CT_NLQST_BER.m”,C变换(NLTQST)方法对OFDM系统误码性能的影响

曲线;

3.“CT_NLQST_BER_u_improve.m”,改进的C变换(NLTQST,收端调μ)方法

对OFDM系统误码性能的影响曲线;

4.“CT_NLQST_BER_V_improve.m”,改进的C变换(NLTQST,收端调V)方

法对OFDM系统误码性能的影响曲线。

注:其中部分程序仅给出实现算法的模块部分,插入到程序的适当位置即可实现功能。

C程序代码大全

//根据半径计算圆的周长和面积#include const float PI=3.1416; //声明常量(只读变量)PI为3.1416 float fCir_L(float); //声明自定义函数fCir_L()的原型 float fCir_S(float); //声明自定义函数fCir_S()的原型 //以下是main()函数 main() { float r,l,s; //声明3个变量 cout<<"r="; //显示字符串 cin>>r; //键盘输入 l=fCir_L(r); //计算圆的周长,赋值给变量l s=fCir_S(r); //计算圆的面积,赋值给变量s cout<<"l="<

C程序代码大全

C程序代码大全 This manuscript was revised on November 28, 2020

<=70) cout<<"Your grade is a C."<=60) cout<<"Your grade is a D."< main() { int n; cout<<"n="; cin>>n; if (n>=0 && n<=100 &&n%2==0) cout<<"n="< main() { int a,b,Max; .10 for(int i=1;i<=10;i++) cout<=1;j--) cout<

比较典型的PID算法控制程序源代码

比较典型的PID处理程序 [日期:2005-2-1] 来源:21ICbbs 作者:lookuper [字体:大中小] /*============================================================================ ======================== 这是一个比较典型的PID处理程序,在使用单片机作为控制cpu时,请稍作简化,具体的PID参数必须由具体对象通过实验确定。由于单片机的处理速度和ram资源的限制,一般不采用浮点数运算,而将所有参数全部用整数,运算 到最后再除以一个2的N次方数据(相当于移位),作类似定点数运算,可大大提高运算速度,根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的“余数”,做好余数补偿。这个程序只是一般常用pid算法的基本架构,没有包含输入输出处理部分。============================================================================== =======================*/ #include #include /*============================================================================ ======================== PID Function The PID (比例、积分、微分) function is used in mainly control applications. PIDCalc performs one iteration of the PID algorithm. While the PID function works, main is just a dummy program showing a typical usage. ============================================================================== =======================*/ typedef struct PID { double SetPoint; // 设定目标Desired value double Proportion; // 比例常数Proportional Const double Integral; // 积分常数Integral Const double Derivative; // 微分常数Derivative Const double LastError; // Error[-1] double PrevError; // Error[-2] double SumError; // Sums of Errors } PID; /*============================================================================ ======================== PID计算部分 ============================================================================== =======================*/ double PIDCalc( PID *pp, double NextPoint ) { double dError, Error; Error = pp->SetPoint - NextPoint; // 偏差

单片机课设(三篇课设均带带仿真图和源程序代码)

12232 LCD PROTEUS仿真(51C) 12232在proteus 里模型用关键字P ,“12232”查不出LCD的,要用1232 查找。 好不容易得到模型,编写程序,一直不能成功。第一个字符正常,后面的就乱了。最后才明白:12232的模型和实物不一样,共4页(这和实物一样),每页只能从地址0开始,水平方向从左往右显示。另外,按实物的程序,仿真中显示是相反的,所以初始化时应改为反向显示,仿真显示才正常。 //12232LCD proteus仿真 //2012 01 20 E:\DPJ_C\12232\12232UV4\12232_2C.C #include #include #include"chr16.h" #define uchar unsigned char #define uint unsigned int #define LCD_DB P0 sbit E2=P3^5; sbit E1=P3^6; sbit A0=P3^7; void WR_Mcom(uchar i) { E1=1; _nop_();

A0=0; _nop_(); _nop_(); LCD_DB=i; _nop_(); _nop_(); E1=0; _nop_(); _nop_(); } void WR_Mdat(uchar i) { E1=1; _nop_(); _nop_(); A0=1; _nop_(); _nop_(); LCD_DB=i; _nop_(); _nop_(); E1=0; _nop_(); _nop_(); } void WR_Scom(uchar i) { A0=0; _nop_(); _nop_(); E2=1; _nop_(); _nop_(); LCD_DB=i; _nop_(); _nop_(); E2=0; _nop_();

数控编程G、M、T、S代码大全(精选.)

数控机床标准G、M代码 一.准备功能字G 准备功能字是使数控机床建立起某种加工方式的指令,如插补、刀具补偿、固定循环等。G功能字由地址符G和其后的两位数字组成,从G00—G99共100种功能。JB3208-83标准中规定如下表: 代码功能 作用范 围 功能 代码 功能作用范围功能 G00 点定位 G50 * 刀具偏置0/- G01 直线插补 G51 * 刀具偏置+/0 G02 顺时针圆弧插补 G52 * 刀具偏置-/0 G03 逆时针圆弧插补 G53 直线偏移注销 G04 * 暂停 G54 直线偏移 X G05 * 不指定 G55 直线偏移Y G06 抛物线插补 G56 直线偏移Z G07 * 不指 定 G57 直线偏移XY G08 * 加速 G58 直线偏移XZ G09 * 减速 G59 直线偏移YZ G10-G16 * 不指定 G60 准确定位(精) G17 XY平面选 择 G61 准确定位(中) G18 ZX平面选择 G62 准确定位(粗) G19 YZ平面选择 G63 * 该丝 G20-G32 * 不指定 G64-G67 * 不指定 G33 螺纹切削,等螺距 G68 * 刀具偏置,内角 G34 螺纹切削,增螺距 G69 * 刀具偏置,外角 G35 螺纹切削,减螺距 G70-G79 * 不指定 G36-G39 * 不指定 G80 固定循环注销 G40 刀具补偿/刀具偏置 注销 G81-G89 固定循环 G41 刀具补偿--左 G90 绝对尺寸 G42 刀具补偿-- 右 G91 增量尺寸 G43 * 刀具偏置--正 G92 * 预置寄存 G44 * 刀具偏置--右 G93 进给率,时间倒数 G45 * 刀具偏置+/+ G94 每分钟进给 G46 * 刀具偏置+/- G95 主轴每转进给 G47 * 刀具偏置-/- G96 恒线速 度 G48 * 刀具偏置-/+ G97 每分钟转数(主轴) G49 * 刀具偏置0/+ G98-G99 * 不指定 注:*表示如作特殊用途,必须在程序格式中说明二.辅助功能字M

编码规则控制程序

1.目的 使全体员工了解公司产品编码规则及编码中相应代码含义,便于产品编码的统一管理。 2.范围 公司内部用于产品方面的所有包装成品、光身成品、自制件/组件、外购件及非生产物料。 3.职责 工程部负责编制所有编码; 各部门部负责编码规则的对应物料、组件和成品的组织与实施。 4.物料分类及定义 分类:包装成品,光身成品,自制件/组件,外购件及非生产物料; 定义: 包装成品:由自制件/组件、外购件组成具有一定功能可直接用于销售的产品; 光身成品:由自制件/组件、外购件组成具有一定功能且无需要再加工的产品(无包装); 自制件/组件:由公司内部通过不同的加工工艺完成的部件; 外购件:由公司外购回来需再加工的物料或部件; 非生产物料:由公司外购回来并用于各部门的非生产物料; 5.编码规则 编码组成= 一级分类(大类)+二级分类(中类)+三级分类(小类)…….. 编码长度:包装成品(12位数字),光身成品、外购件、自制件/组件及非生产物料(8位数字) 6. 规则示意图及说明如下: XXX 五金制品有限公司 文 件 版 本 A/0 文 件 编 号 编码规则 页 次 1/11 QP-7.3.0-02 生效日期 2017-06-28

包装成品编码总表 一级分类二级分类三级分类四级分类五级分类六级分类 类别编码类别编码类别编码类别编码类别编码类别编码 包装成品8 底盘系列 1 NB款01 无任何功能00 流水号 00 客户编码 0000-9999 NG款02 仅升降01 01 NT款03 仅背逍遥02 02 ND款04 仅座逍遥03 03 …… 导轨系列 2 27款01 常规00 流水号 00 客户编码0000-9999 35款02 反弹01 01 45款03 缓冲02 02 53款04 自锁03 03 隐藏款05 …… 钢铀系列 3 400款01 常规00 流水号 00 客户编码0000-9999 500款02 折叠01 01 …… 电脑周边 系列 4 液晶支架01 常规00 流水号 00 客户编码 (通用可省略) 0000-9999主机架02 单臂01 01 键盘架03 双臂02 02 杂志架04 滑动03 03 转动04 04 …… 翻床系列 5 QF款01 SF款01 流水号 01 客户编码 (通用可省略) 0000-9999 CF款02 SZ款02 02 03 SJ款03 03 04 SF/SJ款04 04 SZ/SJ款05 05 SF/SZ款06 06 …… … 6 …… …7 …… …8 …… …9 …… 外购件 成品系列 底盘系列01 头抌类01 流水号 01 客户编码 (通用可省略) 0000-9999 通用省略导轨系列02 网架类02 02 钢铀系列03 扶手类03 03 XXX五金制品有限公司文件版本 A/0 文件编号编码规则页次2/11 QP-7.3.0-02 生效日期2017-06-28

Keil Monitor-51仿真板的制作与使用

Keil Monitor-51仿真板的制作与使用 摘要: 介绍支持Keil C51的Monitor-51仿真板硬件电路及监控程序的生成方法,对使用中常出现的问题给出了解决方法。 关键词: 单片机 C语言仿真板监控程序 MCS-51单片机在我国应用最为广泛、经久不衰。以往单片机应用程序主要用汇编语言编写。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难。为了提高编制单片机应用程序的效率,改善程序的可读性和可移植性,采用高级语言无疑是一种最好的选择。C语言是一种通用的计算机程序设计语言,既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以往只能采用汇编语言来解决的问题现在都可以改用C语言解决。德国Keil Software公司多年来致力于单片机C语言编译器的研究。该公司开发的Keil C51是一种专为8051单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言相媲美。 近年来,Keil C51不断升级,目前最高版本为V6.20。高版本的Keil C51编译器,尤其是Keil μVision2 (基于Windows的C51集成编译环境)以其性能优越、使用方便,受到了众多单片机爱好者的欢迎。Keil C51以软件包的形式向用户提供主要包括C51交叉编译器、A51宏汇编器、BL连接定位器等一系列工具和μVision2、软件仿真器dScope51等开发平台。C51具有丰富的函数库,包含100多种功能函数,为用户编程提供了极大的方便。C51程序可以实现与汇编语言的接口,两者相互之间的调用十分方便。 但目前支持高版本Keil C51编程的仿真器不多,且价格较高。为此Keil C51提供了Monitor-51仿真板的制作方法,但无完整的硬件电路图,软件设置也比较繁琐。也有关于自制Monitor-51仿真板的专门讨论,有很多爱好者在制作仿真板时遇到一些问题,当然也有成功者。笔者也是Keil C51的用户,并成功自制了Monitor-51仿真板,有一些心得。本文提供了Monitor-51仿真板的硬件电路,并对其进行了分析,详细说明了监控程序的生成方法,对使用中常出现的问题给出了解决方法。 1 硬件电路 Monitor-51仿真板的硬件资源要求如下: ·5K字节的程序存储空间,用于存放监控程序; ·256字节的外部数据存储单元(系统需要)和可选的5K字节的跟踪缓冲区; ·足够大的外部数据存储空间用于装载完整的用户应用程序; ·串行口及一个用作波特率发生器的内部定时器; ·6字节的堆栈空间,用于用户程序的测试; ·如果用户程序大于64K字节,P1口的部分引脚要用于程序存储空间扩展; ·其它资源均可为应用程序所用。 根据以上要求,笔者设计的Monitor-51仿真板电路原理如图1。 需要说明的是,图1中存放用户程序的32K字节外部数据存储器62256的是将CPU的称为von Neumann接法。此时外部数据存储器在就相当于外部程序存储器,当然监控程序的存放地址空间不能与这种接法的外部数据存储空间相重复。von Neumann接法的另一个作用是调试时可以在用户程序代码中设置断点,监控程序修改用户程序代码在所有的断点处插入ACALL指令。

C语言代码大全

------------------------------------------------------------------------摘自宋鲁生程序设计大赛 乘法口诀表 #include #include void main(void) { int i,j,x,y; clrscr(); printf("\n\n * * * 乘法口诀表* * * \n\n"); x=9; y=5; for(i=1;i<=9;i++) { gotoxy(x,y); printf("%2d ",i); x+=3; } x=7; y=6; for(i=1;i<=9;i++) { gotoxy(x,y); printf("%2d ",i); y++; } x=9; y= 6; for(i=1;i<=9;i++) { for(j=1;j<=9;j++) { gotoxy(x,y); printf("%2d ",i*j); y++; } y-=9; x+=3; } printf("\n\n"); }

用一维数组统计学生成绩 #include void main() { char SelectKey,CreditMoney,DebitMoney; while(1) { do{ clrscr(); puts("========================="); puts("| Please select key: |"); puts("| 1. Quary |"); puts("| 2. Credit |"); puts("| 3. Debit |"); puts("| 4. Return |"); puts("========================="); SelectKey = getch(); }while( SelectKey!='1' && SelectKey!='2' && SelectKey!='3' && SelectKey!='4' ); switch(SelectKey) { case '1': clrscr(); puts("================================"); puts("| Your balance is $1000. |"); puts("| Press any key to return... |"); puts("================================"); getch(); break; case '2': do{ clrscr(); puts("=================================="); puts("| Please select Credit money: |"); puts("| 1. $50 |"); puts("| 2. $100 |"); puts("| 3. Return |"); puts("=================================="); CreditMoney = getch(); }while( CreditMoney!='1' && CreditMoney!='2' && CreditMoney!='3' ); switch(CreditMoney)

基于单片机的温度控制器附程序代码

生产实习报告书 报告名称基于单片机的温度控制系统设计姓名 学号0138、0140、0141 院、系、部计算机与通信工程学院 专业信息工程10-01 指导教师 2013年 9 月 1日

目录 1.引言.................................. 错误!未定义书签。 2.设计要求.............................. 错误!未定义书签。 3.设计思路.............................. 错误!未定义书签。 4.方案论证.............................. 错误!未定义书签。方案一................................................. 错误!未定义书签。方案二................................................. 错误!未定义书签。 5.工作原理.............................. 错误!未定义书签。 6.硬件设计.............................. 错误!未定义书签。单片机模块............................................. 错误!未定义书签。 数字温度传感器模块 .................................... 错误!未定义书签。 DS18B20性能......................................... 错误!未定义书签。 DS18B20外形及引脚说明............................... 错误!未定义书签。 DS18B20接线原理图................................... 错误!未定义书签。按键模块............................................... 错误!未定义书签。声光报警模块........................................... 错误!未定义书签。数码管显示模块......................................... 错误!未定义书签。 7.程序设计.............................. 错误!未定义书签。主程序模块............................................. 错误!未定义书签。 读温度值模块.......................................... 错误!未定义书签。 读温度值模块流程图: ................................. 错误!未定义书签。

MATLAB环境下16QAM调制解调仿真程序说明

姓名:Nikey MATLAB环境下16QAM调制及解调仿真程序说明 一、正交调制及相干解调原理框图 正交调制原理框图 相干解调原理框图 二、MQAM调制介绍及本仿真程序的几点说明 MQAM可以用正交调制的方法产生,本仿真中取M=16,即幅度和相位相结合的 16个信号点的调制。 为了观察信道噪声对该调制方式的影响,我们在已调信号中又加入了不同强度的高斯白噪声,并统计其译码误码率。 为了简化程序和得到可靠的误码率,我们在解调时并未从已调信号中恢复载波,而是直接产生与调制时一模一样的载波来进行信号解调。

三、仿真结果图

附源程序代码: main_plot.m clear;clc;echo off;close all; N=10000; %设定码元数量 fb=1; %基带信号频率 fs=32; %抽样频率 fc=4; %载波频率,为便于观察已调信号,我们把载波频率设的较低Kbase=2; % Kbase=1,不经基带成形滤波,直接调制; % Kbase=2,基带经成形滤波器滤波后,再进行调制 info=random_binary(N); %产生二进制信号序列 [y,I,Q]=qam(info,Kbase,fs,fb,fc); %对基带信号进行16QAM调制 y1=y; y2=y; %备份信号,供后续仿真用 T=length(info)/fb; m=fs/fb; nn=length(info); dt=1/fs; t=0:dt:T-dt; subplot(211); %便于观察,这里显示的已调信号及其频谱均为无噪声干扰的理想情况 %由于测试信号码元数量为10000个,在这里我们只显示其总数的1/10 plot(t(1:1000),y(1:1000),t(1:1000),I(1:1000),t(1:1000),Q(1:1000),[0 35],[0 0],'b:'); title('已调信号(In:red,Qn:green)'); %傅里叶变换,求出已调信号的频谱 n=length(y); y=fft(y)/n; y=abs(y(1:fix(n/2)))*2; q=find(y<1e-04); y(q)=1e-04; y=20*log10(y); f1=m/n; f=0:f1:(length(y)-1)*f1; subplot(223); plot(f,y,'r'); grid on; title('已调信号频谱'); xlabel('f/fb'); %画出16QAM调制方式对应的星座图 subplot(224); constel(y1,fs,fb,fc); title('星座图'); SNR_in_dB=8:2:24; %AWGN信道信噪比 for j=1:length(SNR_in_dB) y_add_noise=awgn(y2,SNR_in_dB(j)); %加入不同强度的高斯白噪声 y_output=qamdet(y_add_noise,fs,fb,fc); %对已调信号进行解调 numoferr=0; for i=1:N if (y_output(i)~=info(i)), numoferr=numoferr+1; end; end; Pe(j)=numoferr/N; %统计误码率 end;

C 经典程序代码大全

C 经典程序代码大全 #include const float PI= 3.1416; //声明常量(只读变量)PI为 3.1416 float fCir_L(float); //声明自定义函数fCir_L()的原型 float fCir_S(float); //声明自定义函数fCir_S()的原型 //以下是main()函数 main() { float r,l,s; //声明3个变量 cout>r; //键盘输入 l=fCir_L(r); //计算圆的周长,赋值给变量l s=fCir_S(r); //计算圆的面积,赋值给变量s cout=0.0) //如果参数大于0,则计算圆的周长 z=2*PI*x; return(z); //返回函数值 } //定义计算圆的面积的函数fCir_S() float fCir_S(float x) { float z=- 1.0; //声明局部变量 if (x>=0.0) //如果参数大于0,则计算圆的面积 z=PI*x*x; return(z); //返回函数值 } /* Program: P1- 2.CPP Written by: Hap Date written: 02:11:10 */ #include void main(void) { double s1,s2,s3; s1= 1.5; /* 对变量s1赋值*/ cout main() { double r=

1.0; cout>r; //键盘输入 l=2* 3.1416*r; //计算圆的周长,赋值给变量l cout //包含iostream.h头文件 void main() { //输出字符常量.变量和字符串 char c1= A ; cout //包含iostream.h头文件 main() { //输入输出字符 char c; cin>>c; cout>n; cout>x; cout>n; cout>c>>n>>x; cout //包含iostream.h头文件 main() { //声明整型变量 int a,b; //从键盘上为整型变量赋值cout>a; cout>b; //整型数的算术运算 cout //包含iostream.h 头文件 main() { //声明变量,并初始化 int a=010,b=10,c=0X10; //以进制形式显示数据 cout>a; cout>b; cout>c; cout //包含iostream.h头文件 #include // iomanip.h头文件包含setprecision()的定义 main() { //float型变量的声明.输入.计算和输出 float fx,fy; cout>fx; cout>fy; cout>dx; cout>dy; cout //包含iostream.h 头文件 main() { //字符类型变量的声明 char c1= A ; char c2; //字符数据的运算及输出 c2=c1+32; cout>c1>>c2; cout //包含iostream.h头文件 main() { char c1= \a ,TAB= \t ; //阵铃一声 cout //包含iostream.h头文件 main()

数控编程代码大全

数控编程代码大全FANUC车床G代码 FANUC铣床G代码 FANUC M指令代码 SIEMENS铣床 G代码 SIEMENS802S/CM 固定循环 SIEMENS802DM/810/840DM 固定循环 SIEMENS车床 G 代码 SIEMENS 801、802S/CT、 802SeT 固定循环SIEMENS 802D、810D/840D 固定循环 HNC车床G代码 HNC铣床G代码 HNC M指令 KND100铣床G代码 KND100车床G代码 KND100 M指令 GSK980车床G代码 GSK980T M指令 GSK928 TC/TE G代码 GSK928 TC/TE M指令 GSK990M G代码 GSK990M M指令

GSK928MA G代码 GSK928MA M指令 三菱 E60 铣床G代码 DASEN 3I铣床G代码 DASEN 3I车床G代码 华兴车床G代码 华兴M指令 华兴铣床G代码 华兴M指令 仁和32T G代码 仁和32T M指令 SKY 2003N M G代码 SKY 2003N M M指令 1.FANUC车床G代码 G代码解释 G00定位 (快速移动) G01直线切削 G02顺时针切圆弧 (CW,顺时钟) G03逆时针切圆弧 (CCW,逆时钟) G04暂停 (Dwell) G09停于精确的位置 G20英制输入

G21公制输入 G22内部行程限位有效 G23内部行程限位无效 G27检查参考点返回 G28参考点返回 G29从参考点返回 G30回到第二参考点 G32切螺纹 G40取消刀尖半径偏置 G41刀尖半径偏置 (左侧) G42刀尖半径偏置 (右侧) G50修改工件坐标;设置主轴最大的 RPMG52设置局部坐标系G53选择机床坐标系 G70精加工循环 G71内外径粗切循环 G72台阶粗切循环 G73成形重复循环 G74Z 向步进钻削 G75X 向切槽 G76切螺纹循环 G80取消固定循环 G83钻孔循环

Protues仿真赛 仿真模块和程序代码

Protues仿真赛 DA模块(DAC0832) 实例程序(实现0到255八位二进制的模拟电压转换)#include "reg51.h" #define uchar unsigned char #define uint unsigned int #define out P1 sbitdac_cs=P2^0; sbitdac_wr=P2^1; void main() { uchar i=0,k=100; while(1)

{ out=i; dac_cs=0; dac_wr=0; dac_cs=1; dac_wr=1; i++; if(i>255) i=0; while(--k); } } ADC0804模块与红外测距传感器GP2D12

实例程序(将红外测距显示的距离化成P1口的八位二进制) uint adc0804() //adc0804读取数据并送入P1口,read=1991/(read+3)-7为距离传感器的计算公式 { wr = 0; read = P1; delayms(10); wr=1; delayms(10); read=1991/(read+3)-7; return read; } LCD1602模块初始化

#include #include #define uint unsigned int #define uchar unsigned char sbit LCD_RS=P2^0; //lcd1602数据、命令选择端sbit LCD_EN=P2^2; //lcd1602使能线 void LCD_init(void) //LCD初始化 { LCD_EN=0; write_cmd(0x38); write_cmd(0x0c); write_cmd(0x06); write_cmd(0x01); } void write_cmd(uchar com) //写命令到LCD { LCD_RS=0; P0=com; delayms(5); LCD_EN=1;

CNC加工中心程序代码大全

1. 数控程序中字母的含义 O:程序号,设定程序号 N:程序段号,设定程序顺序号 G:准备功能 X/Y/Z :尺寸字符,轴移动指令 A/B/C/U/V/W:附加轴移动指令 R:圆弧半径 I/J/K:圆弧中心坐标(矢量) F:进给,设定进给量 S:主轴转速,设定主轴转速 T:刀具功能,设定刀具号 M:辅助功能,开/关控制功能 H/D:刀具偏置号,设定刀具偏置号 P/X:延时,设定延时时间 P:程序号指令,设定子程序号(如子程序调用:M98P1000) L:重复,设定子程序或固定循环重复次数(如:M98 P1000 L2,省略L代表L1)P/W/R/Q:参数,固定循环使用的参数(如:攻牙G98/(G99)G84 X_ Y_ R_ Z_ P_ F_) 2. 常用G代码解释 G00:定位或快速移动 G01:直线插补 G02:圆弧插补/螺旋线插补CW G03:圆弧插补/螺旋线插补CCW G04:停留时间或延时时间 如:G04 X1000(或G04 X1.0) G04 P1000表示停留1秒钟 G09:准确停止或精确停止检查(检查是否在目标范围内) G10:可编程数据输入 G17:选择XPYP 平面 XP:X 轴或其平行轴 G18:选择ZPXP 平面 YP:Y 轴或其平行轴 G19:选择YPZP 平面 ZP:Z 轴或其平行轴 G20:英寸输入 G21:毫米输入 G28:返回参考点检测 格式:G91/(G90) G28 X__ Y__ Z__ 经过中间点X__ Y__ Z__返回参考点(绝对值/增量值指令) G29:从参考点返回 G91/(G90) G29 X__ Y__ Z__ 从起始点经过参考点返回到目标点X__ Y__ Z__的指令(绝对值/增量值指令) G30 返回第2,3,4 参考点 G91/(G90) G30 P2 X__ Y__ Z__;返回第2 参考点(P2 可以省略。) G91/(G90) G30 P3 X__ Y__ Z__;返回第3 参考点

基于MATLAB的控制网平差程序设计--第四章源代码

chkdat函数(72页) function [n1,k]=chkdat(sd,pn,n1) n=length(n1); k=0; for i=1:n i1=0; for j=1:sd if(n1(i)==pn(j)) i1=1; n1(i)=j; break; end end if(i1==0) % fprintf(fit2,'%5d %5d\n',i,n1(i) k=1; end end return readlevelnetdata函数(73页) function [ed,dd,sd,gd,pn,h0,k1,k2,h1,s]=readlevelnetdata global filename filepath; global ed dd sd pn gd h0 k1 k2 h1 s k11 k12; k1=[];k2=[];h=[];s=[]; [filename,filepath]=uigetfile('*.txt','选择高程数据文件'); fid1=fopen(strcat(filepath,filename),'rt'); if(fid1==-1) msgbox('Input File or Path is not correct','Warning','warn'); return; end ed=fscanf(fid1,'%f',1); dd=fscanf(fid1,'%f',1); sd=ed+dd; gd=fscanf(fid1,'%f',1); pn=fscanf(fid1,'%f',sd); h0=fscanf(fid1,'%f',ed); h0(dd+1:ed+dd)=h0(1:ed); heightdiff=fscanf(fid1,'%f',[4,gd]); heightdiff=heightdiff'; k1=heightdiff(:,1);%起点 k2=heightdiff(:,2);%终点 k11=heightdiff(:,1);%起点

相关文档
相关文档 最新文档