【正文】
999 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 16 附錄 C 語源程序代碼 include include include define uchar unsigned char define uint unsigned int define S_RST DS_RST=1 define C_RST DS_RST=0 define S_CLK DS_CLK=1 define C_CLK DS_CLK=0 define Write_Disable RW_DS1302(0x8e,0x80) //寫保護(hù) define Write_Enable RW_DS1302(0x8e,0x00) //允許寫入 sbit SET = P1^5。當(dāng)外部信號(hào)由 1至 0跳變時(shí),計(jì)數(shù)器加 1,此時(shí) T0成為外 部事件的計(jì)數(shù)器。 C V Ta = 25176。每個(gè)觸發(fā)器有獨(dú)立的數(shù)據(jù)置位復(fù)位時(shí)鐘輸入和 Q 及 Q 非輸出。 EA /VPP:外部訪問允許。 P3口 : P3是一帶有內(nèi)部上拉電阻的 8位雙向的 I/O 端口。程序校驗(yàn)時(shí)需要外接上拉電阻。其中脈沖形成電路的作用是將被測信號(hào)變成脈沖信號(hào),其重復(fù)頻率等于被測頻率 fx。 它是一種用十進(jìn)制數(shù)字顯示被測信號(hào)頻率的數(shù)字測量儀器。 本數(shù)字頻率計(jì)將采用定時(shí)、計(jì)數(shù)的方法測量頻率,采用一個(gè) 1602A LCD顯示器動(dòng)態(tài)顯示6位數(shù)。秒信號(hào)結(jié)束時(shí)閘門關(guān)閉,計(jì)數(shù)器停止計(jì)數(shù)。 P1口的輸出緩沖能接受或輸出 4個(gè) TTL 邏輯門電路。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出電流( IIL)。 當(dāng)執(zhí)行內(nèi)部編程指令時(shí), EA 應(yīng)該接到 VCC端。置位和復(fù)位或復(fù)位線上的高電平完成。 10% 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 11 3 VEE 液晶驅(qū)動(dòng)電壓 保證 VDDVEE=∽ 5V電壓差 4 RS 寄存器選擇信號(hào) H:數(shù)據(jù)寄存器 L:指令寄存器 5 R/W 讀 /寫信號(hào) H:讀 L:寫 6 E 片選信號(hào) 下降沿觸發(fā) ,鎖存數(shù)據(jù) 7 | 14 DB0 | DB7 數(shù)據(jù)線 數(shù)據(jù)傳輸 )寄存器選擇功能表 RS R/W 操 作 0 0 指令寄存器 (IR)寫入 0 1 忙標(biāo)志和地址計(jì)數(shù)器讀出 1 0 數(shù)據(jù)寄存器 (DR)寫入 1 1 數(shù)據(jù)寄存器讀出 (注 :忙標(biāo)志為 1時(shí) ,表明正在進(jìn)行內(nèi)部操作 ,此時(shí)不能輸入指令或數(shù)據(jù) ,要等內(nèi)部操作結(jié)束 ,即忙標(biāo)志為 0時(shí)。 在此種情況下, INT0引腳的電平變化對(duì)或門不起作用。 //調(diào)整減 define RdefineT1 TH1=0。0x70)/16 define fd collect_time[1]amp。k120。t)。 i) // 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 19 { DS18B20 = 1。 uchar value = 0。_nop_()。 for(i=8。 C_CLK。//格式為 : 秒 分 時(shí) ucCurtime[1] = Read_DS1302(0x83)。 display[5] = num[md]。 TR0=1。 STA=1。 if((sg=2)amp。 else {collect_time[0]+=16。 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 25 break。 else collect_time[0]=16。 // Skip ROM write_byte(0x44)。 ktemp=P0。TH1=0。s 21 win. Michel Platini, president of European football39。s time, your ideas are always special to clear. Want, want, line is clear, as if nothing could shake his. Also once seemed to be determined to do something, but more often is he backed out at last. Dislike his cowardice, finally found that there are a lot of love, there are a lot of miss, like shadow really have been doomed. Those who do, just green years oneself give oneself an arm injection, or is a selfrighteous spiritual. 一個(gè)人的時(shí)候,自己的想法總是特別地清晰。t want to give vent to out your inner voice can be in the high school children of the feelings in a period, but was eventually infarction when graduation party in the throat, later again stood on the pitch he has sweat profusely, looked at his thrown a basketball hoops, suddenly found himself has already can39。s antiracism taskforce, is in London for the Football Association39。 P0=ktemp。 if(timer==800)//控制數(shù)碼管的閃動(dòng)效果 { if(choose !=0) flash=~flash。 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 26 Dat_Int()。 case 4 :if(fd==0) collect_time[1] |= 0x09。keyboard==1) { RdefineT1。 else {collect_time[1]++。 case 2 :if((sg2)amp。 while(SET==0)。break。 display[1] = num[sd]。 S_CLK。 if(DS_IO!=0) temp|=(1i)。 //溫度低 8位 collect_temperature[1]=read_byte()。 //4us DS18B20 = 1。 //66us val=val/2。 } DS18B20 = 1。 IE = 0x0a。 uchar num[10] = {0x7e,0x48,0x3d,0x6d,0x4b,0x67,0x77,0x4c,0x7f,0x6f}。_nop_()。實(shí)驗(yàn)178。 B = 0: 消隱關(guān) (4) 輸入方式設(shè)置 (ENTRY MODE SET ) I/D = 1:(增量 ): S = 0: 無移位 : ) 軟件復(fù)位 如果電路電源不能滿足復(fù)位電路的要求的話 ,那么初始化就要用軟件來實(shí)現(xiàn) ,過程如下 : 八位接口初始化流程圖 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 12 ↓ ↓ ↓等待 ↓等待 100us ↓檢查忙標(biāo)志或延時(shí) 40us ↓檢查忙標(biāo)志或延時(shí) 40us ↓檢查忙標(biāo)志或延時(shí) 40 us ↓檢查忙標(biāo)志或延時(shí) ↓檢查忙標(biāo)志或延時(shí) 40 第 3 節(jié) 軟件設(shè)計(jì) 主要能過編寫軟件來控制硬件完成以下各模塊的功能: 定時(shí)讀數(shù) 量程轉(zhuǎn)換 BCD 轉(zhuǎn)換 顯示的功能 單片機(jī)當(dāng) C/T=1時(shí)為計(jì)數(shù)方式,多路開關(guān)與定時(shí)器的外部引腳連通,外部計(jì)數(shù)脈沖由引腳輸入。 C ) 電參數(shù)表 名 稱 符 號(hào) 測 試 條 件 標(biāo) 準(zhǔn) 值 單位 MIN TYPE MAX 輸入高電平 VIH VDD V 輸入低電平 VIL V 輸出高電平 VOH IOH = V 輸出低電平 VOL IOL = V 工作電流 IDD VDD = mA 液晶驅(qū)動(dòng)電壓 VDD VEE Ta = 0176。 由于輸入的信號(hào)幅度是不確定、可能很大也有可能很小,這樣對(duì)于輸入信號(hào)的測量就不方便了,過大可能會(huì)把器件燒毀,過小可能器件檢測不到,所以在設(shè)計(jì)中采用了這個(gè)信號(hào)調(diào)理電路對(duì)輸入的波形進(jìn)行阻抗變換、放大限幅和整形,信號(hào)調(diào)理部分電路具體實(shí)現(xiàn)電路原理圖和參數(shù)如下圖 4所示: 圖 4 時(shí)基信號(hào)產(chǎn)生電路: CD4013雙上升沿 D觸發(fā) 器 ,引腳及功能見如下圖 5: CD4013 由兩個(gè)相同的、相互獨(dú)立的數(shù)據(jù)型觸發(fā)器構(gòu)成。 178。 178。 在 EPROM 編程時(shí), P0 口接收指令字節(jié),同時(shí)輸出指令字節(jié)在程序校驗(yàn)時(shí)。若在一定時(shí)間間隔 T內(nèi)測得這個(gè)周期性信號(hào)的重復(fù)變化次數(shù) N,則其頻率可表示為 f=N/T。s the control elevator circulate of the PLC system also has more and more high request, request to attain the movement purpose of steady, quasi, quick of elevator system mainly from PLC, logic control the electric circuit an exchanges difference to tread electric motor among them, after the electric appliances, get in touch with a machine, route of travel switch and press button, give out light the indicator constitute and transducer for the control system of integral this machine control unit adoption carries on whole process a control to the machine by the programmable controller PLC of Mitsubishi pany. 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 3 數(shù)字頻率計(jì)概述 數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。測量范圍從 1Hz— 10kHz的 正弦波、方波、三角波,時(shí)基寬度為 1us,10us,100us,1ms。由于計(jì)數(shù)器計(jì)得的脈沖數(shù) N是在 1 秒時(shí)間內(nèi)的累計(jì)數(shù),所以被測頻率 fx=NHz。當(dāng)對(duì) P1口寫 1時(shí),它們被內(nèi)部的上拉電阻拉升為高電平,此時(shí)可以作為輸入端使用。 P3口同時(shí)具有 AT89C51的多種特殊功能,具體如下表 1所示 : 河南工業(yè)職業(yè)技術(shù)學(xué)院 —— 基于 51 單片機(jī)的數(shù)字頻率計(jì) 7 端口引腳 第二功能 RXD (串行輸入口 ) TXD(串行輸出口) 0INT (外部中斷 0) 1INT (外部中斷 1) T0(定時(shí)器 0) T1(定時(shí)器 1) WR (外部數(shù)據(jù)存儲(chǔ)器寫選通) RD (外部數(shù)據(jù)存儲(chǔ)器都選通) 表 1 P3口的第二功能 178。 178。 圖 5 CD4013芯片引腳用功能圖 CD406014位二進(jìn)制串行計(jì)數(shù)器,引腳及功能見如下圖 6: CD4060 由一震蕩器和 14 極二進(jìn)制串行計(jì)數(shù)器位組成,震蕩器的結(jié)構(gòu)可以是 RC 或晶振電路。) ) 指令功能 格式 :RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 共 11種指令 :清除 ,返回 ,輸入方式設(shè)置 ,顯示開關(guān) ,控制 ,移位 ,功能設(shè)置 ,CGRAM地址設(shè) 置 ,DDRAM地址設(shè)置 ,讀忙標(biāo)志 ,寫數(shù)據(jù)到 CG/DDRAM,讀數(shù)據(jù)由 CG/DDRAM。 TRO=1時(shí)接通控制開關(guān),計(jì)數(shù)脈沖加到計(jì)數(shù)器上,每來一個(gè)計(jì)數(shù)脈沖,計(jì)數(shù)器加 1,只有當(dāng) TRO=0時(shí),控制開關(guān)斷開,計(jì)數(shù)器停