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

正文內(nèi)容

基于單片機(jī)控制的低頻信號(hào)發(fā)生器設(shè)計(jì)word格式(編輯修改稿)

2025-01-11 05:42 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 。 //對(duì)鍵值賦值 case 0xde: key3()。 break。 case 0xbe: key4()。 break。 case 0x7e: key5()。 break。 case 0xed: key6()。 break。 case 0xdd: key7()。 break。 case 0xbd: key8()。 break。 } } } } 中斷服務(wù)程序設(shè)計(jì) 采用定時(shí)器 T0 定時(shí)中斷,根據(jù)不同的 choice 值,產(chǎn)生不同的波形。其中方波的占空比可以通過(guò) K變量來(lái)控制。定時(shí)器的初值可以這樣計(jì)算: 低頻信號(hào)發(fā)生器設(shè)計(jì) 17 f = 100000 * ww + 1000 * qw + 100 * bw + 10 * sw + gw。 t = 1000000 / f。 th = t / 256。 //定時(shí)器高八位值 tl = t % 256。 //定時(shí)器低八位值 void time0_int(void) interrupt 1 //中斷服務(wù)程序 { 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) { 低頻信號(hào)發(fā)生器設(shè)計(jì) 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ā)生程序設(shè)計(jì) DAC0808 是 8位的 D/A 轉(zhuǎn)換器件,其工作電壓是 0— 5V,當(dāng)輸入 00 數(shù)字量的時(shí)候,輸出為 0V 電壓;當(dāng)輸入 80數(shù)字量的時(shí)候,輸出為 電壓;當(dāng)輸入 FF數(shù)字量的時(shí)候,輸出為 5V電壓。單片機(jī)的 I/O 輸出均為 +5 V 的 TTL 電平,因此產(chǎn)生的正弦波幅值為 + V。將一個(gè)周期內(nèi)的正弦波形等分為 256 份,那么第 1點(diǎn)的角度為 0176。,對(duì)應(yīng)的正弦值為 176。;第 2 點(diǎn)的角度為 360176。 /256,對(duì)應(yīng)的正弦值為 ( 360176。 /256 ) ??,如此計(jì)算下去,將這些模擬量正弦值都轉(zhuǎn)換為單 極低頻信號(hào)發(fā)生器設(shè)計(jì) 19 性方式下的數(shù)字量,得到一張按照點(diǎn)號(hào)順序排列的正弦波波形數(shù)據(jù)表格 [11]。而每次送到 74LS373 的八位數(shù)字量是根據(jù)查正弦波形數(shù)據(jù)表格而得到。 其實(shí)在計(jì)算正弦波形數(shù)據(jù)的時(shí)候,并不需要算出整個(gè) 0— 2π區(qū)間的每一個(gè)值,而只需計(jì)算出 0—21π中的值就行,其他區(qū)間的值都可以通過(guò)對(duì) 0—21π中的值取不同的變換。比如21π — π的值可以和 0—21π值一一對(duì)應(yīng),而π — 2π的值可以對(duì)0— π區(qū)間的值取反得到。計(jì)算值可以用 C 語(yǔ)言編程得到。 幅度公式為 Y=[ 1+sin( N6490)] ( N=0,1,2?? 64) 相應(yīng)的 Y值數(shù)字化后的遞增量δ =2555 ≈ 那么每一個(gè)點(diǎn)相對(duì)于起一個(gè)點(diǎn)的遞增率為 A= δ 12 YY ? ( Y2當(dāng)前的點(diǎn), Y1為前一個(gè)點(diǎn)) 所以每一個(gè)點(diǎn)的數(shù)字量與遞增率 A成一一對(duì)應(yīng)關(guān)系。 數(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āng)前幅度值 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++; } } 低頻信號(hào)發(fā)生器設(shè)計(jì) 20 表 42 正弦波形數(shù)據(jù)表序號(hào) 幅度 (Y 值 ) 遞增率 A 數(shù)字遞增率 數(shù)字量 (十進(jìn)制 ) 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 低頻信號(hào)發(fā)生器設(shè)計(jì) 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 低頻信號(hào)發(fā)生器設(shè)計(jì) 22 三角波發(fā)生程序設(shè)計(jì) 由于三角波的函數(shù)值比較容易 計(jì)算,所以不必要像正弦波那樣還需用表格??芍苯油ㄟ^(guò)如下程序段實(shí)現(xiàn)。 else if( wave_choice == 2 ) //三角波 { if(c = 128) { P0 = c。 } else { P0 = 255 c。 } c ++。 } 方波發(fā)生程序設(shè)計(jì) 方波發(fā)生程序運(yùn)用延時(shí)的方法實(shí)現(xiàn),只用一個(gè)主程序即可,因?yàn)楫a(chǎn)生一個(gè)方波只需要高低兩個(gè)數(shù),所以程序比較簡(jiǎn)單。要給一個(gè)頻率,再計(jì)算 所需的延時(shí)即可。實(shí)現(xiàn)方波的程序如下: else if( wave_choice == 3 ) // 方波 { k = zk * 256 / 100。 d ++。 if(d = k) { P0 = 0x00。 } else 低頻信號(hào)發(fā)生器設(shè)計(jì) 23 P0 = 0xff。 } 鋸齒波發(fā)生程序設(shè)計(jì) 鋸齒波中的斜線用一個(gè)個(gè)小臺(tái)階來(lái)逼近,在一個(gè)周期內(nèi)從最小值開(kāi)始逐步遞增,當(dāng)達(dá)到最大值后又回到最小值, 如此循環(huán),當(dāng)臺(tái)階間隔很小時(shí),波形基本上近似于直線。適當(dāng)選擇循環(huán)的時(shí)間,可以得到不同周期的鋸齒波。鋸齒波發(fā)生原理與方波類似,只是高低兩個(gè)延時(shí)的常數(shù)不同,所以用延時(shí)法,來(lái)產(chǎn)生鋸齒波。 else if(wave_choice == 4) //鋸齒波 { if(e = 255) { P0 = 255 e。 } else { P0=0。 } e++。 } PROTEUS 軟件 仿真 PROTEUS 軟件仿真過(guò)程 第一步,打開(kāi) PROTEUS 軟件,選擇所需器件。 窗口如圖 44所示。 低頻信號(hào)發(fā)生器設(shè)計(jì) 24 圖 44 器件選擇窗口 第二步, 將所有器件排列好。器件排列見(jiàn)圖 45。 圖 45 器件排列 窗口 圖 46 導(dǎo)線連接 第三步, 連接導(dǎo)線。如圖 46。 第四步,打開(kāi) KEIL 軟件,調(diào)出程序編譯,生成 HEX 文件。 調(diào)試窗口見(jiàn)圖 47。 圖 47 程序調(diào)試窗口 圖 48初始化仿真窗口 低頻信號(hào)發(fā)生器設(shè)計(jì) 25 第五步,調(diào) 試仿真。 初始界面顯示 。 仿真情況如圖 48。 以下為四種波形的仿真結(jié)果示例。 正弦波仿真: 頻率 2383HZ。仿真結(jié)果如圖 49 所示。 圖 49 正弦波仿真輸出 三角波仿真 : 頻率 2984HZ。 結(jié)果如圖 410。 圖 410 三角波仿真輸出 低頻信號(hào)發(fā)生器設(shè)計(jì) 26 方波仿真: 占空比 50%,頻率 2824HZ。仿真結(jié)果如圖 411。 圖 411 方波仿真輸出 鋸齒波
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1