藉由計時器模擬出不同DUTY CYCLE的訊號... |
缺席
|
kun_tien
一般會員 ![]() ![]() 發表:10 回覆:2 積分:2 註冊:2005-09-14 發送簡訊給我 |
使用震盪器11.0592供給51作時脈:
CODE1:
#include
#include///// 在CODE1時定義"#define high_time 1382 "示波器秀出高電位1.5ms,低電位24.5ms,週期26ms。 而再CODE2時定義"unsigned int high_time[]={1382,1464,1546,1628,1710,1792,1874,1956,2037,2120}"共十個元素,但是在第一個元素(1382)其示波器量測到並不是如CODE1量到的訊號,而是同等於第三個元素(1546)時量到的訊號一樣,也就是說前三個元素良到的訊號都是一樣的,而且都是同第三元素(1546)時所得到的訊號相同,我十再是找不出其問題所在,請各位前輩幫我解答~~謝謝大家 發表人 - kun_tien 於 2005/09/25 21:49:49 |
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
foreman
高階會員 ![]() ![]() ![]() ![]() 發表:3 回覆:124 積分:190 註冊:2004-09-10 發送簡訊給我 |
kun_tien大大:
CODE1:
TL1=65536-(high_time);
TH1=(65536-(high_time))>>8;
放入TH1,TL1是常數發很少時間
CODE2:
TL1=65536-(high_time[i]-15);
TH1=(65536-(high_time[i]-15))>>8;
放入TH1,TL1是變數發很多時間作計算.
建議:
unsigned char tl1v1[]={65536-(1382-15),65536-(1473-15),...
unsigned char th1v1[]={(65536-(1382-15))>>8,(65536-(1473-15))>>8,...
unsigned char tl1v2[]={65536-(T-1382-15),65536-(T-1473-15),...
unsigned char th1v2[]={(65536-(T-1382-15))>>8,(65536-(T-1473-15))>>8,...
TL1=tlv1[i];
TH1=thv1[i];
這樣發的時間少
|
DavidLo
高階會員 ![]() ![]() ![]() ![]() 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |