作者dog9527 (致命病毒)
看板Electronics
標題[問題] 8051寫法指點
時間Wed Jul 23 19:03:47 2014
不好意思各位大大
小弟剛接觸8051不太熟
unsigned char code tab1[360]={
128, 131, 134, 137, 140, 143, 146, 149, 152, 156,
159, 162, 165, 168, 171, 174, 176, 179, 182, 185,
188, 191, 193, 196, 199, 201, 204, 206, 209, 211,
213, 216, 218, 220, 222, 224, 226, 228, 230, 232,};
這是一個SIN波的AD資料
我要利用中斷去取那個時間上的那點的"值"
/*---中斷程序-------------------------------*/
void ISR_Key(void) interrupt 0 using 1
{ unsigned char num;
unsigned char a;
if(INT0==0)
{num=0;如果是低店平 輸出給0
}
else
{提取當下的數據資料 不太會寫
}
之後讀的資料應該是EX:{125,247,135},再用AD顯示出來
有沒大大可以指點一下
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.96.201
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Electronics/M.1406113430.A.C4B.html
1F:推 mosquito520:你的表假設對應的是角度,剛好360度 07/23 20:13
2F:→ mosquito520:痾 錯了,請忽略上面那一行 07/23 20:14
3F:→ dog9527:是 我講錯了>< 07/23 20:14
4F:→ mosquito520:應該先問 你是要透過8051+DA輸出Sin wave?還是做啥 07/23 20:14
5F:→ dog9527:就是我想利用中斷 去取一個SIN波上某幾點的值 07/23 20:27
6F:→ Schottky:要取值無論何時都可以取,中斷是幹嘛用的? 07/23 20:40
7F:→ Schottky:你如果能把問題正確地問出來,也許答案就自然浮現了。 07/23 20:42
8F:→ dog9527:我只要在她正緣處發那瞬間的值 不知道該怎麼寫 07/23 20:54
9F:→ Schottky:在那個瞬間,值是哪來的 (感覺我會盧很久XD) 07/23 20:55
10F:→ peng978:你sin波在程式裡怎麼跑 就怎麼抓囉 然後DA輸出 07/23 21:10
11F:→ dog9527:應該說我要看我上面那個tab1跑到哪 到哪我就取哪 >< 07/23 21:10
12F:→ Schottky:那請問你的 table 在我推文的這個時間點跑到哪? 07/23 21:20
13F:→ Schottky:這個規則如果連你都講不出來,我怎麼可能會知道... 07/23 21:21
14F:→ Schottky:話說回來我跟一樓蚊大有相同疑惑: 這張表好像殘缺不全... 07/23 21:21
15F:推 mosquito520:應該說 你貼的Code跟你的描述讓人猜不透你要做啥 07/23 21:47
16F:→ mosquito520:要不要先撇開Code不說 先描述你的用途是甚麼 07/23 21:47
17F:→ mosquito520:你的電路長甚麼樣 你在甚麼時間要做甚麼事情? 07/23 21:48
19F:→ dog9527:每個上升緣 檢測sin波的狀態 之後取出幾個sin波的值 07/23 22:48
20F:→ dog9527:利用ad輸出像上方那樣的波型 07/23 22:49
21F:→ mos888tw:這不是就DA電路? 07/23 22:52
22F:推 bxxl:9527的想法有問題,根本不存在所謂的sine wave, 只有table 07/23 23:42
23F:→ bxxl:你現在根本就只有一個sin table, 哪來的sin wave 07/23 23:43
24F:→ peng978:呃 講白點你只給一個表 那在8051內你要怎麼讓他跑成sin波? 07/23 23:55
25F:→ Schottky:要跑泰勒展開式我也沒意見,要掛ROM建一萬筆的table我也OK 07/24 00:02
26F:→ Schottky:可是我還是不知道這個電路想幹嘛... 07/24 00:03
27F:推 paoju5566: 能PO一下電路圖嗎你 02/08 03:51