<C8051F040.h> 串口例程 TX0線為P0.0,RX0線為P0.1,TX0采用T2為波特率產(chǎn)生源,RX0采用T1為波特率產(chǎn)生源///////
上傳時(shí)間: 2013-12-30
上傳用戶:cc1
工業(yè)領(lǐng)域串口通信速度慢是個(gè)比較突出的問題, 而 F T 2 4 5 B M 能夠進(jìn)行 US B和并行 I / O口之間的 協(xié)議轉(zhuǎn)換, 在一些條件下能夠取代串口. 介紹 F T 2 4 5 B M 芯片的工作原理和功能, 并給出基于 F T2 4 5 B M 的 US B接口電路的應(yīng)用設(shè)計(jì)和基于 8 9 c 5 2的匯編及 c 5 1 單片機(jī)源程序.
標(biāo)簽: 工業(yè)領(lǐng)域 串口通信 速度 比較
上傳時(shí)間: 2017-05-27
上傳用戶:kytqcool
ex5_1 I-型線性相位FIR濾波器 ex5_2 II-型線性相位FIR濾波器 ex5_3 III-型線性相位FIR濾波器 ex5_4 IV-型線性相位FIR濾波器 ex5_5 矩形窗頻響 ex5_6 希爾伯特變換器設(shè)計(jì)-漢寧窗 ex5_7 低通濾波器設(shè)計(jì)-漢明窗 ex5_8 帶通濾波器設(shè)計(jì)-布萊克曼窗 ex5_9 低通濾波器設(shè)計(jì)-凱塞窗 ex5_11 頻率采樣技術(shù):低通,樸素法 ex5_12 頻率采樣技術(shù):低通, 最優(yōu)法T1 & T2 ex5_13 頻率采樣技術(shù):帶通, 最優(yōu)法T1 & T2 ex5_14 頻率采樣技術(shù):高通, 最優(yōu)法T1 ex5_15 頻率采樣技術(shù):差分器 ex5_16 頻率采樣技術(shù): 希爾伯特變換器 ex5_17 利用Parks-McClella算法設(shè)計(jì)低通濾波器 ex5_18 用PM算法進(jìn)行的帶通濾波器設(shè)計(jì) ex5_19 用PM算法進(jìn)行的高通濾波器設(shè)計(jì) ex5_20 用PM算法進(jìn)行的階梯濾波器設(shè)計(jì) ex5_21 用PM算法進(jìn)行的差分器設(shè)計(jì) ex5_22 用PM算法進(jìn)行的希爾伯特變換器設(shè)計(jì)
上傳時(shí)間: 2017-05-29
上傳用戶:13160677563
樹是由n(n≥0)個(gè)結(jié)點(diǎn)組成的有限集合T。n=0的樹稱為空樹;對(duì)n>0的樹,有:(1)僅有一個(gè)特殊的結(jié)點(diǎn)稱為根結(jié)點(diǎn),根結(jié)點(diǎn)沒有前驅(qū)結(jié)點(diǎn);(2)當(dāng)n>1時(shí),除根結(jié)點(diǎn)外其余的結(jié)點(diǎn)分為m(m>0)個(gè)互不相交的有限集合T1,T2,…,Tm,其中每個(gè)集合Ti本身又是一棵結(jié)構(gòu)和樹類似的子樹。
上傳時(shí)間: 2014-01-01
上傳用戶:lgnf
Usage: void CRC(int*,int*,int,int) Input: XAR0:coded data(InputData) XAR1:decoded CRC bits(CrcPoly) T0: Length of coded data(CodeOutlen) T1: Length of CRC bits(CrcPolylen) Return: NO Altered Registers: AC0-AC2,T2 Others: 8 bits of AC0 LSB is CRCcheck bit
標(biāo)簽: int InputData Usage Input
上傳時(shí)間: 2017-06-24
上傳用戶:ywqaxiwang
TRX51 多任務(wù)實(shí)時(shí)操作系統(tǒng),在AT89C52上成功移植的實(shí)例,每個(gè)任務(wù)都是用counter計(jì)數(shù)器來表示,比較完整,非常值得學(xué)習(xí)。本人自己編寫的,由于小弟編程,對(duì)ATC89C52的T2定時(shí)中斷沒有理解透,所以T2定時(shí)中斷有點(diǎn)不成功,希望那位大俠看后,能夠給予指點(diǎn),互相交流,謝謝,聯(lián)系方式:lgp_my@163.com
標(biāo)簽: TRX 51 多任務(wù) 實(shí)時(shí)操作系統(tǒng)
上傳時(shí)間: 2017-07-13
上傳用戶:zhoujunzhen
在MSC-51的定時(shí)中T0和T1最常用,但像89s52中的T2卻不怎么會(huì)用,本例子用T2實(shí)現(xiàn)精確1秒定時(shí)。
上傳時(shí)間: 2013-12-25
上傳用戶:gundan
實(shí)驗(yàn)?zāi)康? 通過上機(jī)實(shí)習(xí),加深對(duì)語法制導(dǎo)翻譯原理的理解,掌握將語法分析所識(shí)別的語法成分變換為中間代碼的語義翻譯方法. 實(shí)驗(yàn)要求 采用遞歸下降語法制導(dǎo)翻譯法,對(duì)算術(shù)表達(dá)式、賦值語句進(jìn)行語義分析并生成四元式序列。 實(shí)驗(yàn)的輸入和輸出 輸入是語法分析提供的正確的單詞串,輸出為三地址指令形式的四元式序列。 例如:對(duì)于語句串 begin a:=2+3*4 x:=(a+b)/c end# 輸出的三地址指令如下: (1) t1=3*4 (2) T2=2+t1 (3) a=T2 (4) t3=a+b (5) t4=t3/c (6) x=t4
標(biāo)簽: 分 翻譯 實(shí)驗(yàn) 制導(dǎo)
上傳時(shí)間: 2017-09-27
上傳用戶:hjshhyy
在本課中,我們要用一個(gè)按鍵來實(shí)現(xiàn)跑馬燈的 10 級(jí)調(diào)速。這又會(huì)涉及到鍵的去抖的問 題。 本課的試驗(yàn)結(jié)果是,每按一次按鍵,跑馬速度就降低一級(jí),共 10 級(jí)。 這里我們又增加了一個(gè)變量 speedlever,來保存當(dāng)前的速度檔次。 在按鍵里的處理中,多了當(dāng)前檔次的延時(shí)值的設(shè)置。 請(qǐng)看程序: ―――――――――――――――― #define uchar unsigned char //定義一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一個(gè) 52 標(biāo)準(zhǔn)內(nèi)核的頭文件 sbit P10 = P1^0; //頭文件中沒有定義的 IO 就要自己來定義了 sbit P11 = P1^1; sbit P12 = P1^2; sbit P13 = P1^3; sbit K1= P3^2; bit ldelay=0; //長(zhǎng)定時(shí)溢出標(biāo)記,預(yù)置是 0 uchar speed=10; //設(shè)置一個(gè)變量保存默認(rèn)的跑馬燈的移動(dòng)速度 uchar speedlever=0; //保存當(dāng)前的速度檔次 char code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的 //一個(gè)按鍵控制的 10 級(jí)變速跑馬燈試驗(yàn) void main(void) // 主程序 { uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//預(yù)定的寫入 P1 的值 uchar ledi; //用來指示顯示順序 uint n; RCAP2H =0x10; //賦 T2 的預(yù)置值 0x1000,溢出 30 次就是 1 秒鐘 RCAP2L =0x00; TR2=1; //啟動(dòng)定時(shí)器 ET2=1; //打開定時(shí)器 2 中斷 EA=1; //打開總中斷 while(1) //主程序循環(huán) { if(ldelay) //發(fā)現(xiàn)有時(shí)間溢出標(biāo)記,進(jìn)入處理 { ldelay=0; //清除標(biāo)記 P1=ledp[ledi]; //讀出一個(gè)值送到 P1 口 ledi++; //指向下一個(gè) if(ledi==4) { ledi=0; //到了最后一個(gè)燈就換到第一個(gè) } } if(!K1) //如果讀到 K1 為 0 { for(n=0;n<1000;n++); //等待按鍵穩(wěn)定 while(!K1); //等待按鍵松開 for(n=0;n<1000;n++); //等待按鍵穩(wěn)定松開 speedlever++; if(speedlever==10)speedlever=0; speed=speedlever*3; //檔次和延時(shí)之間的預(yù)算法則,也可以用查表方法,做出 不規(guī)則的法則 } } } //定時(shí)器 2 中斷 timer2() interrupt 5 { static uchar t; TF2=0; t++; if((t==speed)||(t>30)) //比較一個(gè)變化的數(shù)值,以實(shí)現(xiàn)變化的時(shí)間溢出,同時(shí)限制了最慢速 度為 1 秒 { t=0; ldelay=1;//每次長(zhǎng)時(shí)間的溢出,就置一個(gè)標(biāo)記,以便主程序處理 } } ―――――――――――――――――――――― 請(qǐng)打開 lesson11 目錄的工程,編譯,運(yùn)行,看結(jié)果: 按 K1,速度則降低一次,總共 10 個(gè)檔次。
上傳時(shí)間: 2017-11-06
上傳用戶:szcyclone
LED 一般是恒流操作的,如何改變 LED 的亮度呢?答案就是 PWM 控制。在一定的 頻率的方波中,調(diào)整高電平和低電平的占空比,即可實(shí)現(xiàn)。比如我們用低電平點(diǎn)亮一個(gè) LED 燈,我們假設(shè)把一個(gè)頻率周期分為 10 個(gè)時(shí)間等份,如果方波中的高低電平占空比是 9:1, 這是就是一個(gè)比較暗的亮度,如果方波中高低電平占空比是 10:0,這時(shí),全部是高電平, 燈是滅的。如果占空比是 5:5,就是一個(gè)中間亮度,如果高低比是 1:9,是一個(gè)比較亮的 亮度,如果高低是 0:10,這時(shí)全部是低電平,就是最亮的。 實(shí)際上應(yīng)用中,電視屏幕墻中的幾十百萬 LED 象素都是這樣控制的,而且每一個(gè)象素 都有紅綠藍(lán) 3 個(gè) LED,每個(gè) LED 可以變化的亮度是幾百到幾萬或者更多的級(jí)別,以實(shí)現(xiàn)真 彩色的顯示。還有在您的手機(jī)中,背光燈的亮度如果是可以變化的,也應(yīng)該是這種工作方式。 目前的城市彩燈也有很多都使用了 LED,需要控制亮度是也是 PWM 控制。 下面來分析我們的例程,在這個(gè)例程中,我們將定時(shí)器 2 溢出定為 1/1200 秒。每 10 次脈沖輸出一個(gè) 120HZ 頻率。這每 10 次脈沖再用來控制高低電平的 10 個(gè)比值。這樣,在 每個(gè) 1/120 秒的方波周期中,我們都可以改變方波的輸出占空比,從而控制 LED 燈的 10 個(gè) 級(jí)別的亮度。 為什么輸出方波的頻率要 120HZ 這么高?因?yàn)槿绻l率太低,人眼就會(huì)看到閃爍感 覺。一般起碼要在 60HZ 以上才感覺好點(diǎn),120HZ 就基本上看不到閃爍,只能看到亮度的變 化了。 下面請(qǐng)看程序,程序中有比較多的注釋: ――――――――――――――――――――――― #define uchar unsigned char //定義一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一個(gè) 52 標(biāo)準(zhǔn)內(nèi)核的頭文件 sbit P10 = P1^0; //要控制的 LED 燈 sbit K1= P3^2; //按鍵 K1 uchar scale;//用于保存占空比的輸出 0 的時(shí)間份額,總共 10 份 char code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的 //模擬 PWM 輸出控制燈的 10 個(gè)亮度級(jí)別 void main(void) // 主程序 { uint n; RCAP2H =0xF3; //賦 T2 的預(yù)置值,溢出 1 次是 1/1200 秒鐘 RCAP2L =0x98; TR2=1; //啟動(dòng)定時(shí)器 ET2=1; //打開定時(shí)器 2 中斷 EA=1; //打開總中斷 while(1) //程序循環(huán) { ;//主程序在這里就不斷自循環(huán),實(shí)際應(yīng)用中,這里是做主要工作 for(n=0;n<50000;n++); //每過一會(huì)兒就自動(dòng)加一個(gè)檔次的亮度 scale++; if(scale==10)scale=0; } } //1/1200 秒定時(shí)器 2 中斷 timer2() interrupt 5 { static uchar tt; //tt 用來保存當(dāng)前時(shí)間在一秒中的比例位置 TF2=0; tt++; if(tt==10) //每 1/120 秒整開始輸出低電平 { tt=0; if(scale!=0) //這里加這一句是為了消除滅燈狀態(tài)產(chǎn)生的鬼影 P10=0; } if(scale==tt) //按照當(dāng)前占空比切換輸出高電平 P10=1; } ―――――――――――――――――― 在主程序中,每延時(shí)一段時(shí)間,就自動(dòng)換一個(gè)占空比,以使亮度自動(dòng)變化,方便觀察。 編譯,運(yùn)行,看結(jié)果。 可以看到,LED 的亮度以每種亮度 1 秒左右不斷變化,共有 10 個(gè)級(jí)別。
上傳時(shí)間: 2017-11-06
上傳用戶:szcyclone
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1