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

正文內(nèi)容

基于單片機(jī)與fpga的等精度頻率計(jì)的設(shè)計(jì)單片機(jī)部分-資料下載頁

2025-06-27 19:30本頁面
  

【正文】 框架、軟硬件設(shè)計(jì),后期的調(diào)試及畢業(yè)論文的編寫三個(gè)階段。前期的工作為中后期設(shè)計(jì)方案的選定及軟硬件的設(shè)計(jì)奠定了一定的基礎(chǔ),為論文的編寫鋪好了道路。中期的軟硬件設(shè)計(jì)是整個(gè)設(shè)計(jì)過程中最關(guān)鍵的階段。后期的硬件調(diào)試是對(duì)前面所做的所有工作的驗(yàn)證,畢業(yè)論文的編寫是對(duì)整個(gè)設(shè)計(jì)的總結(jié)。我的設(shè)計(jì)課題是基于單片機(jī)和FPGA的等精度頻率計(jì)的設(shè)計(jì)單片機(jī)部分。等精度頻率計(jì)的特點(diǎn)是在整個(gè)測(cè)量頻段內(nèi)的測(cè)量精度是相同的,與被測(cè)信號(hào)頻率的大小無關(guān)。本設(shè)計(jì)采用AT89C51單片機(jī)和可編程芯片F(xiàn)PGA相結(jié)合,縮短了開發(fā)研制周期,使系統(tǒng)具有結(jié)構(gòu)緊湊、體積小、可靠性高、測(cè)頻范圍寬、精度高等優(yōu)點(diǎn)。采用AT89C51單片機(jī)來實(shí)現(xiàn)功能鍵的控制、數(shù)據(jù)的運(yùn)算、碼制的轉(zhuǎn)換、數(shù)據(jù)的顯示等功能,完成了頻率計(jì)的系統(tǒng)硬件電路的設(shè)計(jì);采用可編程芯片F(xiàn)PGA實(shí)現(xiàn)計(jì)數(shù)的功能;對(duì)頻率計(jì)的軟硬件進(jìn)行了調(diào)試和試驗(yàn),給出了頻率測(cè)量的結(jié)果,分析了測(cè)量的精度。論文分為6章,介紹了基于單片機(jī)和FPGA的等精度頻率計(jì)的原理、設(shè)計(jì)和開發(fā)步驟,并且給出了頻率計(jì)的實(shí)驗(yàn)結(jié)果,分析了測(cè)量的精度,所設(shè)計(jì)的頻率計(jì)達(dá)到了指標(biāo)要求。參考文獻(xiàn)1.梁文海. 單片機(jī)AT89C2051構(gòu)成的智能型頻率計(jì)[J],現(xiàn)代電子技術(shù),2002(2):792.程遠(yuǎn)楚. 單片機(jī)智能頻率信號(hào)裝置[J],自動(dòng)化與儀器儀表,2001(6):37383.曹巧媛. 單片機(jī)原理及應(yīng)用[M],北京:電子工業(yè)出版社,1997:23454. 張永安. 基于CPLD的多功能等精度數(shù)字頻率計(jì)的設(shè)計(jì), 大連: 大連理工大學(xué),20045.李勛,林廣艷,盧景山編著. 單片微型計(jì)算機(jī)(大學(xué)讀本),北京:北京航空航天大學(xué)出版社,20026. 求是科技編著. CPLD/FPGA應(yīng)用開發(fā)技術(shù)與工程實(shí)踐,北京:人民郵電出版社,2005年1月7. 潘松,黃繼業(yè)編著. EDA技術(shù)實(shí)用教程,北京:科學(xué)出版社,2005年2月(13),478. 潘松,王國(guó)棟. VHDL實(shí)用教程[M],成都:電子科技大學(xué)出版社,20019. 張永艷編著. 基于復(fù)雜可編程邏輯器件及VHDL語言編程的數(shù)字頻率計(jì)的設(shè)計(jì),內(nèi)蒙古: 內(nèi)蒙古大學(xué),200410. 尹勇,李宇編著. μVision2單片機(jī)應(yīng)用程序開發(fā)指南,北京: 科學(xué)出版社,2005附錄A 系統(tǒng)原理圖附錄B AT89C51單片機(jī)內(nèi)部框圖附錄C 硬件電路的VHDL描述附錄C(1) D觸發(fā)器的硬件描述語言VHDL描述:library ieee。use 。entity sync_rdff is port(d,clk:in std_logic。 rest:in std_longic。 q,qb:out std_logic)。end sync_rdff。architecture rtl of sync_rdff isbegin process(clk) begin if rest=39。039。then q=39。039。 qb=39。139。 elsif(rising_edge(clk))then q=d。 qb=not d。 end if。 end process。end rtl。附錄C(2) 32位計(jì)數(shù)器的硬件描述語言VHDL描述:library ieee。use 。use 。use 。entity counter32 is port(clk,ena,clr:in std_logic。 q:buffer std_logic_vector(31 downto 0))。end counter32。architecture rtl of counter32 isbegin process(clk,clr) begin if(clr=39。039。)then q=(others=39。039。)。 elsif(clk=39。139。and clk39。event)then if(ena=39。139。)then q=q+1。 end if。 end if。 end process。end rtl。附錄C(3) MUX648多路選擇器的硬件描述語言VHDL描述:library ieee。use 。entity mux64_8 isport(sel:in std_logic_vector(2 downto 0))。 din1:in std_logic_vector(31 downto 0)。 din2:in std_logic_vector(31 downto 0)。 signal din:std_logic_vector(63 downto 0)。 q:out std_logic_vector(7 downto 0)。end mux64_8。architecture mux_arch of mux64_8 is signal din:std_logic_vector(63 downto 0)。begin process(din,sel) begin din=din2(31 downto 0)amp。din1(31 downto 0)。 case sel is when000=q=din(31 downto 24)。 when001=q=din(23 downto 16)。 when010=q=din(15 downto 8)。 when011=q=din(7 downto 0)。 when100=q=din(63 downto 56)。 when101=q=din(55 downto 48)。 when110=q=din(47 downto 40)。 when others=q=din(39 downto 32)。 end case。 end process。end mux_arch。附錄C(4) MUX21選擇器的硬件描述語言VHDL描述:library ieee。use 。entity mux21a is port ( a,b:in std_logic。 s:in std_logic。 zout std_logic)。end mux21a。architecture behavier of mux21a is begin process(a,b,s) begin case s is then when39。039。=z=a。 when others=z=b。end case。end pricess。end behavier。附錄C(5) 時(shí)鐘發(fā)生器的硬件描述語言VHDL描述:library ieee。use 。use 。entity clk_up isport( clk:in std_logic。 clk_scan:out std_logic )。end clk_up。architecture rtl of clk_up issignal t:integer range 0 to 4。begin if(clk39。event and clk=39。139。)then if(t=t39。high)then t=0。 else t=t+1。 end if。 end if。end process。process(t,clk)begin if(clk39。event and clk=39。139。)then if(t=t39。high/2)then clk_scan=39。139。 else clk_scan=39。039。 end if。 ebd if。 end process。end rtl。附錄D 單片機(jī)C語言程序清單includeincludedefine uchar unsigned chardefine uint unsigned intdefine ulong unsigned long//define fs=40000000。float ip3,ip6,ip7。 //用于存放計(jì)算結(jié)果//uchar data in[8],out[8]。 //用于存放轉(zhuǎn)換后要輸出的結(jié)果//bit flag。 //用于判斷單片機(jī)讀書結(jié)束//bit flag0。 //用于控制所測(cè)脈寬正負(fù)和頻率測(cè)量的連續(xù)與否//ulong data *ip1=amp。in[0],*ip2=amp。in[4]。 //用于將八個(gè)uchar數(shù)轉(zhuǎn)換為兩個(gè)ulong型數(shù)據(jù)//uchar data kv=1。 //用于讀取鍵值//uchar data dt,dt1。 //用于控制定時(shí)器定時(shí)////ulong data zkb。 //用于暫存占空比中的正脈寬值//uchar bdata dd。uchar data ok。 //用于自檢時(shí)向out數(shù)組賦值//uchar data so。 //控制輸出字符//sbit p20=P2^0。//接clsbit p21=P2^1。//接clrsbit p22=P2^2。//接sel[0]sbit p23=P2^3。//接sel[1]sbit p24=P2^4。//接sel[2]sbit p25=P2^5。//接spulsbit p27=P2^7。//接as//////////////函數(shù)聲明//////////////fuwei()。jianpan()。zhuanhuan()。shuchu()。cepin()。maikuan()。zhankongbi()。lianxu()。cepindushu()。pinlvjisuan()。zhouqijisuan()。zhankongbijisuan()。maikuanjisuan()。/////////////主程序//////////////main(){fuwei()。while(1){ while(flag==1) {ip6=*ip1。 ip7=*ip2。 flag=0。 switch(kv) {case 0:{cepindushu()。pinlvjisuan()。 if(ip7ip6) break。 } case 1:{cepindushu()。zhouqijisuan()。 if(ip7ip6) break。} case 2:{cepindushu()。maikuanjisuan()。 if(ip6==0) break。} case 3:{zhankongbijisuan()。 break。 default:break。 } } shuchu()。 }}}//////////////定時(shí)器1中斷處理子程序/////////////////TT1() interrupt 1{ uchar i=0。 for(i=0。i++。i8) out[i]=p1amp。0x1f。 if(i==8) shuchu()。}/////////////外部中斷0中斷處理子程序//////////////int0() interrupt 0 //外部中斷判斷鍵值子程序//{ p21=0。 //計(jì)數(shù)器清0// p21=1。 kv=P1amp。0x07。 //讀取鍵值// switch(kv) //判斷鍵值// { case 1:cepin()。break。 //頻率測(cè)量// case 2:cepin()。break。 //周期測(cè)量// case 3:m
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1