導航:首頁 > 源碼編譯 > 發射模擬源碼

發射模擬源碼

發布時間: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;

閱讀全文

與發射模擬源碼相關的資料

熱點內容
武漢程序員的工資 瀏覽:152
奕劍術林奕 瀏覽:257
如何看app限制視頻 瀏覽:982
電影廁所持刀惡人 瀏覽:607
go to the cinema翻譯 瀏覽:843
主人公叫艾米麗是什麼電影 瀏覽:426
文件夾排序怎麼變成橫排了 瀏覽:690
一個男的看女生洗澡電影 瀏覽:292
虛擬幣充值源碼 瀏覽:87
我昨天看了航天電影英文翻譯 瀏覽:175
熙和宇電影高級家庭 瀏覽:236
主角10歲收了母親的小說 瀏覽:544
女獄電影日本 瀏覽:154
二龍湖浩哥最早的作品 瀏覽:699
異界收母入後宮 瀏覽:155
ida反編譯出來的代碼是匯編指令嗎 瀏覽:820
小孩子是天才的電影 瀏覽:450
輿情監控演算法 瀏覽:147
好看123電影 瀏覽:751
成龍主演的五行拳電影名字 瀏覽:954