1樓:匿名使用者
三角函式的計算是使用的弧度(rad),如果你得到的角度單位是度(deg),需要將deg轉換為rad才能用三角函式計算。
1rad=180/π,所以任意度數x轉換為弧度就是x*π/180。
2樓:匿名使用者
sin(x) cos(x)的引數應該是弧度吧,用(角度*π/180)換算成弧度作為輸入引數就對了。
另外你看到的很大一個值可能是負數,如果看成無符號數就很大了。
3樓:year醫海無邊
cosx=1/2,由常見角度的正餘弦直接可得x=2kπ±π/3
4樓:法術大師巴林
能不能描述下具體怎麼錯了,sin函式本身不應該有問題,最好吧附近**和結果貼上來,這樣好幫你看看。
5樓:匿名使用者
用c51的浮點庫吧。
51微控制器使用數學函式庫中的正弦函式 需要怎樣改?
6樓:匿名使用者
不建議直接用正弦函式,因為執行時間會很久,51微控制器運算能力比較弱,一般都是用演算法計算高階函式的,為了執行時間以及效率高,通常都是把高階函式用另外的方法去做,例如你這裡要計算y=sinx這個函式,顯然直接用庫函式是容易寫程式是容易,但是微控制器執行就很慢(可能要算一秒才能出結果),如果你的精度不需要很高(例如精確到1度),你做表,把1度到90度的正弦值全部自己算出來,然後做成表,通過查表方法就可以得到結果,這樣雖然寫程式是麻煩,但是執行速度和效率都高。你應該是剛剛學習微控制器的,不理解cpu底層,c語言雖然是很靈活,但是也要看是什麼cpu,是根據cpu選擇高效率的資料型別以及演算法。
7樓:匿名使用者
y= (float)sin(x);
強制型別轉換,是這麼表示的,其實不用轉換都可以,sin返回就是float型別
8樓:melody丶丨
最後一句 改成 y= sin(x);
51微控制器:用查表法求y=5sin(x)(0<=x<=360度,分20檔)
9樓:匿名使用者
float code tab=;
float sin(uint x)
return 0;//否則返回0}
誰有用微控制器編的實現sin,cos功能的計算器的程式?高分!
10樓:
在標頭檔案math.h裡就有sin和cos,直接呼叫就可以了
如果是用匯編的話,去網上找子程式,自己的話有點難度
11樓:匿名使用者
大驢哥,大驢哥,愛吃魚
51微控制器,數碼管,矩陣鍵盤,簡易計算器,加上獨立鍵盤sin cos,求解答
12樓:敲骨吸髓社會
加標頭檔案直接引用就好
13樓:yd極女
都不知道你要問的是什麼?怎麼答
如何在微控制器上輸入sin()函式
14樓:匿名使用者
不知道你用的什麼微控制器,要是51系列的 直接新增標頭檔案#include"math.h"即可
STC89C51微控制器復位,51微控制器復位後各暫存器狀態是怎樣的
該微控制器正常工作時復位端電壓應保持低電平狀態,復位時給復位端加上一個短暫的高電平即可使微控制器程式復位。該復位電路的工作原理是,電源通過電解電容再通過電阻串聯到地,電容兩段並聯一按鍵開關,正常工作時電容隔斷電源電壓,微控制器復位端相當於通過電阻接地。因電路中無電流,所以復位端電壓為0伏。當執行過程...
51微控制器C語言控制頻率原理,51微控制器改變頻率怎麼實現,最好是用C語言程式
1全部假設你的51微控制器用的晶振是12mhz的,那麼可以得到如下結論 51執行一個指令的時間週期是1us,這個是51的基礎知識,就不深入講解了。然後,如果用定時器0確定輸出頻率,假設定時器0的tl0初始值是0x01,那麼當tl0變為0x02時,就是經過了1us時間 這個懂吧?那麼,設定定時器0為工...
C51微控制器程式設計
include define uchar unsigned char define uint unsigned intsbit high key p1 0 sbit low key p1 1 sbit led p2 0 sbit speak p2 1 uint count void delay ui...