freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于單片機控制的低頻信號發(fā)生器設計word格式(編輯修改稿)

2025-01-11 05:42 本頁面
 

【文章內容簡介】 。 //對鍵值賦值 case 0xde: key3()。 break。 case 0xbe: key4()。 break。 case 0x7e: key5()。 break。 case 0xed: key6()。 break。 case 0xdd: key7()。 break。 case 0xbd: key8()。 break。 } } } } 中斷服務程序設計 采用定時器 T0 定時中斷,根據不同的 choice 值,產生不同的波形。其中方波的占空比可以通過 K變量來控制。定時器的初值可以這樣計算: 低頻信號發(fā)生器設計 17 f = 100000 * ww + 1000 * qw + 100 * bw + 10 * sw + gw。 t = 1000000 / f。 th = t / 256。 //定時器高八位值 tl = t % 256。 //定時器低八位值 void time0_int(void) interrupt 1 //中斷服務程序 { TR0 = 0。 if(wave_choice == 1) { P0 = to_sin[b]。 //正弦波 b ++。 } else if( wave_choice == 2 ) //三角波 { if(c = 128) { P0 = c。 } else { P0 = 255 c。 } c ++。 } else if( wave_choice == 3 ) // 方波 { k = zk * 256 / 100。 d ++。 if(d = k) { 低頻信號發(fā)生器設計 18 P0 = 0x00。 } else P0 = 0xff。 } else if(wave_choice == 4) //鋸齒波 { if(e = 255) { P0 = 255 e。 } else { P0=0。 } e++。 } TH0 = th。 TL0 = tl。 TR0 = 1。 } 正弦波發(fā)生程序設計 DAC0808 是 8位的 D/A 轉換器件,其工作電壓是 0— 5V,當輸入 00 數(shù)字量的時候,輸出為 0V 電壓;當輸入 80數(shù)字量的時候,輸出為 電壓;當輸入 FF數(shù)字量的時候,輸出為 5V電壓。單片機的 I/O 輸出均為 +5 V 的 TTL 電平,因此產生的正弦波幅值為 + V。將一個周期內的正弦波形等分為 256 份,那么第 1點的角度為 0176。,對應的正弦值為 176。;第 2 點的角度為 360176。 /256,對應的正弦值為 ( 360176。 /256 ) ??,如此計算下去,將這些模擬量正弦值都轉換為單 極低頻信號發(fā)生器設計 19 性方式下的數(shù)字量,得到一張按照點號順序排列的正弦波波形數(shù)據表格 [11]。而每次送到 74LS373 的八位數(shù)字量是根據查正弦波形數(shù)據表格而得到。 其實在計算正弦波形數(shù)據的時候,并不需要算出整個 0— 2π區(qū)間的每一個值,而只需計算出 0—21π中的值就行,其他區(qū)間的值都可以通過對 0—21π中的值取不同的變換。比如21π — π的值可以和 0—21π值一一對應,而π — 2π的值可以對0— π區(qū)間的值取反得到。計算值可以用 C 語言編程得到。 幅度公式為 Y=[ 1+sin( N6490)] ( N=0,1,2?? 64) 相應的 Y值數(shù)字化后的遞增量δ =2555 ≈ 那么每一個點相對于起一個點的遞增率為 A= δ 12 YY ? ( Y2當前的點, Y1為前一個點) 所以每一個點的數(shù)字量與遞增率 A成一一對應關系。 數(shù)字量化 C程序: include main() { int n, i=0, j, k; float y=0, a=, b=0, c=, d=0; for(n=0; n=64; n++) { y=*sin(a*n/128)+; b=y; //b, y 為當前幅度值 d=bc; //d為遞增率 j=d/; //j 為數(shù)字遞增率 , 為 δ k=128+j; //k 為數(shù)字量 printf(“ %d, %f, %f, %d, %d\n”, i, y, d, j, k); i++; } } 低頻信號發(fā)生器設計 20 表 42 正弦波形數(shù)據表序號 幅度 (Y 值 ) 遞增率 A 數(shù)字遞增率 數(shù)字量 (十進制 ) 0 0 128 1 3 131 2 6 134 3 9 137 4 12 140 5 15 143 6 18 146 7 21 149 8 24 152 9 27 155 10 30 158 11 34 162 12 37 165 13 40 168 14 42 170 15 45 173 16 48 176 17 51 179 18 54 182 19 57 185 20 60 188 21 62 190 22 65 193 23 68 196 24 70 198 25 73 201 26 75 203 27 78 206 28 80 208 29 83 211 30 85 213 31 87 215 32 90 218 低頻信號發(fā)生器設計 21 33 92 220 34 94 222 35 96 224 36 98 226 37 100 228 38 102 230 39 104 232 40 106 234 41 107 235 42 109 237 43 110 238 44 112 240 45 113 241 46 115 243 47 116 244 48 117 245 49 119 247 50 120 248 51 121 249 52 122 250 53 122 250 54 123 251 55 124 252 56 125 253 57 125 253 58 126 254 59 126 254 60 126 254 61 127 255 62 127 255 63 127 255 64 127 255 低頻信號發(fā)生器設計 22 三角波發(fā)生程序設計 由于三角波的函數(shù)值比較容易 計算,所以不必要像正弦波那樣還需用表格??芍苯油ㄟ^如下程序段實現(xiàn)。 else if( wave_choice == 2 ) //三角波 { if(c = 128) { P0 = c。 } else { P0 = 255 c。 } c ++。 } 方波發(fā)生程序設計 方波發(fā)生程序運用延時的方法實現(xiàn),只用一個主程序即可,因為產生一個方波只需要高低兩個數(shù),所以程序比較簡單。要給一個頻率,再計算 所需的延時即可。實現(xiàn)方波的程序如下: else if( wave_choice == 3 ) // 方波 { k = zk * 256 / 100。 d ++。 if(d = k) { P0 = 0x00。 } else 低頻信號發(fā)生器設計 23 P0 = 0xff。 } 鋸齒波發(fā)生程序設計 鋸齒波中的斜線用一個個小臺階來逼近,在一個周期內從最小值開始逐步遞增,當達到最大值后又回到最小值, 如此循環(huán),當臺階間隔很小時,波形基本上近似于直線。適當選擇循環(huán)的時間,可以得到不同周期的鋸齒波。鋸齒波發(fā)生原理與方波類似,只是高低兩個延時的常數(shù)不同,所以用延時法,來產生鋸齒波。 else if(wave_choice == 4) //鋸齒波 { if(e = 255) { P0 = 255 e。 } else { P0=0。 } e++。 } PROTEUS 軟件 仿真 PROTEUS 軟件仿真過程 第一步,打開 PROTEUS 軟件,選擇所需器件。 窗口如圖 44所示。 低頻信號發(fā)生器設計 24 圖 44 器件選擇窗口 第二步, 將所有器件排列好。器件排列見圖 45。 圖 45 器件排列 窗口 圖 46 導線連接 第三步, 連接導線。如圖 46。 第四步,打開 KEIL 軟件,調出程序編譯,生成 HEX 文件。 調試窗口見圖 47。 圖 47 程序調試窗口 圖 48初始化仿真窗口 低頻信號發(fā)生器設計 25 第五步,調 試仿真。 初始界面顯示 。 仿真情況如圖 48。 以下為四種波形的仿真結果示例。 正弦波仿真: 頻率 2383HZ。仿真結果如圖 49 所示。 圖 49 正弦波仿真輸出 三角波仿真 : 頻率 2984HZ。 結果如圖 410。 圖 410 三角波仿真輸出 低頻信號發(fā)生器設計 26 方波仿真: 占空比 50%,頻率 2824HZ。仿真結果如圖 411。 圖 411 方波仿真輸出 鋸齒波
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1