导航:首页 > 源码编译 > 发射模拟源码

发射模拟源码

发布时间:2022-09-26 07:48:34

❶ 求超声波发生器的单片机源代码

//设计:ch314156

//模块使用方法:一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.
//一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测
//距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了

//波特率9600(晶振12M)
#include <reg52.h>
#include <intrins.h> //调用 _nop_(); 延时函数

#define uchar unsigned char
#define uint unsigned int

sbit trigger=P2^0; //触发引脚
sbit rx=P2^1; //接收引脚
sbit key=P3^6; //按键

unsigned char key_scan(void);
uchar chaoshengbo(void);
void uart_init(void);
void uart(uchar distance);
void chaoshengbo_init(void);

uchar distance; //距离

void main()
{
uart_init(); //串口初始化
chaoshengbo_init(); //超声波初始化
uart('A') ; //串口发送'A'

while(1)
{
if (key_scan() == 1) //按键按下
{
distance = chaoshengbo(); //超声波测距
uart(distance); //串口发送距离 单位厘米
}
}
}

unsigned char key_scan(void) //按键查询
{
unsigned char on = 0,i;
while(1)
{
if(key==0) //判断是否按下
{
for(i=0;i<100;i++); //软件延时
if(key==0) //再次判断是否按下
{
on = 1;
break; //跳出循环
}
}

}
while(key==0);
return 1;
}

void uart_init(void) //串口初始化,用的是T1
{

TMOD=TMOD & 0x0f | 0x20;
TH1=0Xfd; //波特率9600(晶振12M)
TL1=0Xfd;
TR1=1;

REN=1;
SM0=0;
SM1=1;

}

void uart(uchar distance) //发送一个字节
{
SBUF = distance;
while(!TI);
TI = 0;

}

void chaoshengbo_init(void) //超声波初始化
{
trigger = 0;
}

uchar chaoshengbo(void) //超声波测距,返回厘米值
{
trigger=1; //给至少10us的高电平信号

_nop_();
_nop_();
_nop_(); //延时
_nop_();
_nop_();
_nop_();
TMOD=TMOD & 0xf0 |0x01; //T0初始化
TH0=0X0;
TL0=0X0;

trigger=0;

while(!rx); //等待上升沿
EA = 0; //关中断
TR0=1; //开启T0定时器
while(rx); //等待下降沿
TR0=0; //关闭T0定时器
EA = 1; //开中断

return (TH0*256+TL0)*0.034/2; //计算距离 单位厘米
}

❷ 如何用单片机红外发射头自己发射数据,并自己接收数据,用c怎么编写,谢谢

跟你说说方法吧
1,用单片机的某一个你要用作红外发射的端口(假设P0.0)产生一个38K的载波,即用定时器做一个13us的定时,每进一次定时器改变一次P0.0端口的状态。
2,接收端口设为外部中断,中断一开就开始接收数据
3,自己定义一个红外发射的协议,我是这么定义的
/**红外发射协议:先发头码,再发16位地址高8位,再发低8位,再发8位数据,在发8位数据反码,在发结束码
***头码 :0.5ms高0.25ms低
***地址及数据段:2ms高0.5ms低代表1, 0.5ms高2ms低代表0
***结束码:大约3.3ms低
***/
具体这个协议你只要你不是做成标准的模式就可以自己定义
4,接收的话你就可以根据每一次进入中断的时间判断当前接收的是0还是1
5,需要注意的地方时发射出去的数据和接收到的数据时相反的,即你发0xf0接收到的就是0x0f
这些希望对你有帮助

❸ 易语言 如何做出发射炮弹 源码 易语言 如何使可移动的按钮出不了范围

If_bottonWispressed_bombfire
bomb_range>10,<10

❹ MIMO无线信道模型的matlab仿真源程序

我最近下载了一个WINNER II的MIMO信道模型,你可以去看一下,有点复杂,不过文件比较全,其中D1.1.2 是信道模型的说明。网址:www.ist-winner.org/deliverables.html ; 源代码及说明可以再这个网址里找到:www.ist-winner.org/phase_2_model.html
源程序里面有帮助文件,解释了函数的用处,我建议多考虑输入输出,注意函数要干什么而不要太纠结于函数的具体。

❺ 怎么在编程猫的源码编缉器里面营造出子弹从枪里发射出来的效果

世界上最遥远的距离

❻ 求一些恶搞程序的C语言源代码

一个打飞机的游戏,DEVc++编译通过:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <windows.h>

#include <time.h>

#define zlx 10 //增量坐标(x)让游戏框不靠边

#define zly 3 //增量坐标(y)让游戏框不靠边

#define W 26 //游戏框的宽度

#define H 24 //游戏框的高度

int jiem[22][22]={0}, wj=10; //界面数组, 我机位置(初值为10)

int speed=4,density=30, score=0,death=0; //敌机速度, 敌机密度, 玩家成绩,死亡次数

int m=0,n=0; // m,n是控制敌机的变量

void gtxy (int x, int y) //控制光标位置的函数

{ COORD zb; //zb代指坐标

zb.X = x; zb.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), zb );

}

voidColor(inta) //设定颜色的函数(a应为1-15)

{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a ); }

void yinc(int x=1,int y=0) //隐藏光标的函数

{ CONSOLE_CURSOR_INFO gb={x,y}; //gb代指光标, y设为0即隐藏

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &gb);

}

void csh( ) //初始化函数

{ int i;

Color(7);

gtxy(zlx,zly); printf("╔"); gtxy(zlx+W-2,zly); printf("╗"); //左上角和右上角的框角

gtxy(zlx,zly+H-1); printf("╚"); gtxy(zlx+W-2,zly+H-1); printf("╝"); //下边两框角

for(i=2;i<W-2;i+=2) {gtxy(zlx+i,zly); printf("═"); } //打印上横框

for(i=2;i<W-2;i+=2) {gtxy(zlx+i,zly+H-1); printf("═"); } //打印下横框

for(i=1;i<H-1;i++) { gtxy(zlx,zly+i); printf("║"); } //打印左竖框

for(i=1;i<H-1;i++) {gtxy(zlx+W-2,zly+i); printf("║"); } //打印右竖框

Color(14); gtxy(19,2); printf("歼灭敌机"); Color(10);

gtxy(37,5); printf("设置:Esc ");

gtxy(37,7); printf("发射:↑ ");

gtxy(37,9); printf("控制:← → ");

gtxy(37,11);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

yinc(1,0);

}

void qcjm( ) //清除界面函数

{ int i,j;

for(i=0;i<H-2;i++)

for(j=0;j<W-4;j++){gtxy(zlx+2+j,zly+1+i); printf(" ");}

}

void feiji( ) //飞机移动函数

{ int i,j;

for(i=21;i>=0;i--) //从底行往上是为了避免敌机直接冲出数组

for(j=0;j<22;j++)

{if(i==21&&jiem[i][j]==3)jiem[i][j]=0; //底行赋值0 以免越界

if(jiem[i][j]==3)jiem[i][j]=0, jiem[i+1][j]=3;

}

if(jiem[20][wj]==3&&jiem[21][wj]==1) death++;

}

void zidan( ) //子弹移动函数

{ int i,j;

for(i=0;i<22;i++)

for(j=0;j<22;j++)

{ if(i==0&&jiem[i][j]==2) jiem[i][j]=0;

if(jiem[i][j]==2) {if(jiem[i-1][j]==3) score+=100,printf("7");

jiem[i][j]=0,jiem[i-1][j]=2; }

}

}

void print( ) //输出界面函数

{int i,j;

qcjm( );

for(i=0;i<22;i++)

for(j=0;j<22;j++)

{ gtxy(12+j,4+i);

if(jiem[i][j]==3) {Color(13);printf("□");}

if(jiem[i][j]==2) {Color(10);printf(".");}

if(jiem[i][j]==1) {Color(10);printf("■");}

}

gtxy(37,11); Color(10); printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

}

void setting( ) //游戏设置函数

{ qcjm( );

gtxy(12,4);printf("选择敌机速度:");

gtxy(12,5);printf(" 1.快 2.中 3.慢>>");

switch(getche( ))

{case '1': speed=2; break;

case '2': speed=4; break;

case '3': speed=5; break;

default: gtxy(12,6);printf(" 错误!默认值");

}

gtxy(12,7);printf("选择敌机密度:");

gtxy(12,8);printf(" 1.大 2.中 3.小>>");

switch(getche( ))

{case '1': density=20; break;

case '2': density=30;break;

case '3': density=40; break;

default: gtxy(12,9); printf(" 错误!默认值");

}

for(int i=0;i<22;i++)

for(int j=0;j<22;j++) jiem[i][j]=0;

jiem[21][wj=10]=1; jiem[0][5]=3;

gtxy(12,10); printf(" 按任意键保存...");

getch( );

qcjm( );

}

void run( ) //游戏运行函数

{ jiem[21][wj]=1; //值为1代表我机(2则为子弹)

jiem[0][5]=3; //值为3代表敌机

SetConsoleTitle("歼灭敌机"); //设置窗口标题

while(1)

{if (kbhit( )) //如有键按下,控制我机左右移动、发射或进行设定

{ int key;

if((key=getch( ))==224) key=getch( );

switch(key)

{case 75: if(wj>0) jiem[21][wj]=0,jiem[21][--wj]=1; break;

case 77: if(wj<20)jiem[21][wj]=0,jiem[21][++wj]=1;break;

case 72: jiem[20][wj]=2; break;

case 27: setting( );

}

}

if(++n%density==0) //控制产生敌机的速度

{ n=0;srand((unsigned)time(NULL));

jiem[0][rand( )%20+1]=3;

}

if(++m%speed==0) { feiji( ); m=0; } //控制敌机移动速度(相对子弹而言)

zidan( ); //子弹移动

print( ); //输出界面

Sleep(120); //延时120毫秒

}

}

int main( )

{ csh( );

run( );

return 0;

}

❼ 如何用c语言编写雷达发射的信号,求源代码,若能解决必有重赏!

即使是仿真,那也要配合你的仿真设计图方案呀。

❽ 急求通达信上能用的百万导弹或导弹发射的源码

{导弹发射DB-50 ,0 ,-10}
RSV:=(((CLOSE - LLV(LOW,9)) / (HHV(HIGH,9) - LLV(LOW,9))) * 100);
短期底部:=LLV(OPEN,30);
K:SMA(RSV,3,1);
D:SMA(K,3,1);
J:((3 * K) - (2 * D));
AA10:=MA(CLOSE,10);
AA12:=MA(CLOSE,12);
BB10:=((ATAN((AA10 - REF(AA10,1))) * 3.1416) * 10);
BB12:=((ATAN((AA12 - REF(AA12,1))) * 3.1416) * 10);
MA13:=MA(CLOSE,13);
VAR2:=(((CLOSE - MA(CLOSE,6)) / MA(CLOSE,6)) * 100);
VAR3:=(((CLOSE - MA(CLOSE,12)) / MA(CLOSE,12)) * 100);
VAR4:=(((CLOSE - MA(CLOSE,24)) / MA(CLOSE,24)) * 100);
VAR5:=(((VAR2 + (2 * VAR3)) + (3 * VAR4)) / 6);
VAR6:=MA(VAR5,3);
底部区间:IF((VAR6<DB),20,0),COLORFFFF00;
STICKLINE((CROSS(J,K) AND (底部区间 >= 20)),100,0,2,0),COLORFFFFFF;
买:STICKLINE((VAR6 <= (0 - 15)),80,4.88,2,0),COLORFFFFFF;
VAR7:=DMA(EMA(CLOSE,12),((SUM(VOL,5) / 3) / CAPITAL));
VAR8:=(((CLOSE - VAR7) / VAR7) * 100);
VAR9:=((((REF(VAR8,1) < (0 - 40)) AND (VAR8 > REF(VAR8,1))) AND (REF(VAR8,1) < REF(VAR8,2))) AND ((VAR8 - REF(VAR8,1)) > 2.5));
VARA:=(((CLOSE - MA(CLOSE,6)) / MA(CLOSE,6)) * 100);
VARB:=(((CLOSE - MA(CLOSE,12)) / MA(CLOSE,12)) * 100);
VARC:=(((CLOSE - MA(CLOSE,24)) / MA(CLOSE,24)) * 100);
VARF:=(((HIGH + LOW) + CLOSE) / 3);
VAR10:=((VARF - MA(VARF,14)) / (0.015 * AVEDEV(VARF,14)));
VAR11:=(((((MA(AMOUNT,5) / MA(VOL,5)) / 100) - ((MA(AMOUNT,110) / MA(VOL,110)) / 100)) / ((MA(AMOUNT,5) / MA(VOL,5)) / 100)) < (0 - 0.273));
VAR12:=(((CLOSE - MA(CLOSE,30)) / MA(CLOSE,30)) < (0 - 0.125));
VAR13:=(VAR11 AND VAR12);
VAR14:=((((VARA >= (0 - 45)) AND (VARA <= (0 - 10))) AND (VARB <= (0 - 15))) AND (VARC <= (0 - 20)));
VAR15:=(COUNT(VAR14,1) >= 1);
VAR16:=(VAR13 AND VAR15);
VAR1C:=EMA(CLOSE,34);
VAR1E:=MA((VAR1C * 0.82),5);
VAR20:=(((((MA(AMOUNT,5) / MA(VOL,5)) / 100) - ((MA(AMOUNT,125) / MA(VOL,125)) / 100)) / ((MA(AMOUNT,5) / MA(VOL,5)) / 100)) < (0 - 0.4));
VAR21:=HHV(HIGH,500);
VAR22:=LLV(LOW,500);
VAR23:=HHV(HIGH,250);
VAR24:=LLV(LOW,250);
VAR25:=HHV(HIGH,125);
VAR26:=LLV(LOW,125);
VAR27:=MA(((((((VAR21 * 0.45) + (VAR23 * 0.5)) + VAR22) + VAR24) + VAR26) / 5),35);
VAR2C:=VAR27;
VAR31:=((CLOSE - REF(MA(CLOSE,20),11)) < (0 - 2));
VAR42:=(SMA(((AMOUNT / VOL) / 100),13,1) * 1.15);
VAR43:=(SMA(((AMOUNT / VOL) / 100),13,1) * 0.85);
VAR44:=(CLOSE - REF(MA(CLOSE,20),11));
VAR45:=(((((((((((((CLOSE < VAR1E) AND VAR20) AND (CLOSE < VAR43)) OR (((CLOSE < VAR1E) AND VAR31) AND VAR20)) OR ((CLOSE < VAR1E) AND (CLOSE < VAR43))) OR (((CLOSE < VAR1E) AND VAR20) AND (CLOSE < VAR43))) OR (VAR20 AND (CLOSE < VAR2C))) OR ((VAR20 AND VAR31) AND (VAR44 < (0 - 1.5)))) OR (VAR20 AND (CLOSE < VAR1E))) OR (VAR20 AND (VAR44 < (0 - 1.5)))) OR (VAR31 AND (CLOSE < VAR43))) OR ((CLOSE < VAR2C) AND (VAR44 < (0 - 1.5)))) OR ((CLOSE < VAR1E) AND VAR31));
VAR4F:=(VAR11 AND VAR12);
VAR50:=((((VAR2 >= (0 - 45)) AND (VAR2 <= (0 - 7))) AND (VAR3 <= (0 - 11))) AND (VAR4 <= (0 - 14)));
VAR51:=(COUNT(VAR50,1) >= 1);
VAR52:=(VAR4F AND VAR51);
VAR53:=(((((VAR20 AND (CLOSE < VAR1E)) AND VAR31) AND (CLOSE < VAR2C)) AND VAR45) AND VAR52);
VAR54:=(((CLOSE - MA(CLOSE,6)) / MA(CLOSE,6)) * 100);
VAR55:=(((CLOSE - MA(CLOSE,12)) / MA(CLOSE,12)) * 100);
VAR56:=(((CLOSE - MA(CLOSE,24)) / MA(CLOSE,24)) * 100);
VAR57:=REF(CLOSE,1);
VAR58:=((SMA(MAX((CLOSE - VAR57),0),5,1) / SMA(ABS((CLOSE - VAR57)),5,1)) * 100);
VAR59:=(((HIGH + LOW) + CLOSE) / 3);
VAR5A:=((VAR59 - MA(VAR59,14)) / (0.015 * AVEDEV(VAR59,14)));
VAR5B:=((((((VAR54 >= (0 - 15.8)) AND (VAR54 <= (0 - 12.2))) AND (VAR55 <= (0 - 20.8))) AND (VAR56 <= (0 - 27.5))) AND (VAR58 <= 11.7)) AND (VAR5A <= (0 - 145)));
VAR62:=(REF(CLOSE,2) * 0.865);
VAR63:=(REF(CLOSE,13) * 0.772);
VAR64:=MIN(VAR62,VAR63);
VAR65:=((100 * VOL) / CAPITAL);
猎鹰出击:IF(((((VAR9 OR VAR16) OR VAR53) OR VAR5B) OR ((((CLOSE - VAR64) / CLOSE) < 0.03) AND ((SUM(VAR65,5) / 5) < 1.8))),120,0),LINETHICK2;
MACD:(VAR6 * 5),COLORSTICK,LINETHICK2;
短买:STICKLINE((CROSS(K,D) AND (BB10>1)),70,0,2,0),COLORCC99FF;
{底部预警:STICKLINE(VAR6<=0 AND VAR6>=-10,0,-20,5,0),COLOR88B7EA;}
VAR61:=EMA(HHV(HIGH,500),21);
VAR71:=EMA(HHV(HIGH,250),21);
VAR81:=EMA(HHV(HIGH,90),21);
VAR91:=EMA(LLV(LOW,500),21);
VARA1:=EMA(LLV(LOW,250),21);
VARB1:=EMA(LLV(LOW,90),21);
VARC1:=EMA((((((((VAR91 * 0.96) + (VARA1 * 0.96)) + (VARB1 * 0.96)) + (VAR61 * 0.558)) + (VAR71 * 0.558)) + (VAR81 * 0.558)) / 6),21);
VARD1:=EMA((((((((VAR91 * 1.25) + (VARA1 * 1.23)) + (VARB1 * 1.2)) + (VAR61 * 0.55)) + (VAR71 * 0.55)) + (VAR81 * 0.65)) / 6),21);
VARE1:=EMA((((((((VAR91 * 1.3) + (VARA1 * 1.3)) + (VARB1 * 1.3)) + (VAR61 * 0.68)) + (VAR71 * 0.68)) + (VAR81 * 0.68)) / 6),21);
VARF1:=EMA((((((VARC1 * 3) + (VARD1 * 2)) + VARE1) / 6) * 1.738),21);
VAR101:=REF(LOW,1);
VAR111:=((SMA(ABS((LOW - VAR101)),3,1) / SMA(MAX((LOW - VAR101),0),3,1)) * 100);
VAR121:=EMA(IF(((CLOSE * 1.35) <= VARF1),(VAR111 * 10),(VAR111 / 10)),3);
VAR131:=LLV(LOW,30);
VAR141:=HHV(VAR121,30);
VAR151:=IF(MA(CLOSE,58),1,0);
VAR161:=((EMA(IF((LOW <= VAR131),((VAR121 + (VAR141 * 2)) / 2),0),3) / 618) * VAR151);
VAR171:=((IF((VAR161 > 50),50,VAR161) / 20) * 15) ;
底部吸筹:STICKLINE((VAR171 > 0),0,VAR171,1,1),COLORFF00FF;
DRAWTEXT(((CROSS(K,D) AND ((AA10 - REF(AA10,1)) > 0)) AND (K <= 49)),80,'--抄底');
DRAWTEXT(CROSS(90,J),108,'。逃'),COLORFFFF00;
DRAWTEXT(CROSS(J,(0 - 5)),(0 - 4),'。低吸'),COLOR33FF33;
SG:=EMA(HHV(HIGH,1),8);
X1:=EMA(CLOSE,8);
X30:=((X1 < REF(X1,1)) AND (CLOSE < X1));
X31:=IF(((SG < REF(SG,1)) OR X30),1,0);
全仓出击:=((((COUNT((X31 = 1),4) = 3) AND (X31 = 0)) AND (((CLOSE - REF(CLOSE,1)) / REF(CLOSE,1)) > 0.085)) * 89);
DRAWTEXT((全仓出击 >= 89),89,'--大胆杀入'),COLOR0066FF;
DRAWTEXT((CROSS(J,0) AND (VAR6 <= (0 - 7))),80,'--导弹发射'),COLORFF00FF;
MA5:=MA(CLOSE,4);
X7:=EMA(EMA(EMA(HIGH,9),9),9);
海底:=(X7 * 0.92);
海底二:=(X7 * 0.933);
中轨道:=MA(CLOSE,2);
DRAWTEXT(((CROSS(中轨道,MA5) AND (LOW <= 海底)) AND (CLOSE >= 海底二)),25,'-底部'),COLOR0099FF;

阅读全文

与发射模拟源码相关的资料

热点内容
python多长时间能学习 浏览:883
java正则图片 浏览:600
怎么对u盘的文件夹加密 浏览:319
手机为什么自动卸载app 浏览:50
只有一个程序员的公司 浏览:26
php敏感词检测工具 浏览:606
苹果app为什么有的不可以左滑 浏览:813
php访问access数据库 浏览:416
爱情韩国三小时合集电影 浏览:824
华为的编译器能编译哪些语言 浏览:810
单片机如何实现电气隔离 浏览:791
重生到建国初期卖军火的小说 浏览:48
php微信接入 浏览:274
隐喻pdf 浏览:446
怎么打开cuda编译器 浏览:216
linux命令vmstat 浏览:568
vc编译有错误 浏览:3
串口服务器设置云透传 浏览:215
日本有剧情的电影 浏览:62
主角可以进入自己拍的影视世界小说 浏览:904