国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

C語言程序設(shè)計(jì)中的數(shù)字頻率計(jì)問題分析

2017-01-13 09:30:23蔡淵
中國新通信 2016年22期
關(guān)鍵詞:周期單片機(jī)

蔡淵

【摘要】 文章針對C語言程序設(shè)計(jì)中的數(shù)字頻率計(jì)問題進(jìn)行研究分析,使得人們能夠明確C語言的相關(guān)內(nèi)容。

【關(guān)鍵詞】 頻率測試 單片機(jī) C語言 周期

C語言使其核心內(nèi)容,因此,積極對C語言程序設(shè)計(jì)中的數(shù)字頻率計(jì)問題進(jìn)行研究分析勢在必行。

一、C51語言應(yīng)用過程中的關(guān)鍵點(diǎn)分析

在整個程序設(shè)計(jì)過程中,基本上采用的是C語言進(jìn)行編程。8051單片機(jī)所采用的C語言編譯器稱之為C51。在此程序中,存在一個名字為main的主程序。

1、用# include在 C語言源程序中包含庫文件,例如:# include〈reg51. h〉。2、在設(shè)計(jì)過程中,為了能給直接訪問一些特殊的功能寄存器SFR, C51采用自主形式方式進(jìn)行定義,此種狀況是C語言中所不具備的,并且只能應(yīng)用與單片機(jī)的程序編訂工作。例如:sfr TM O D= OX 89;3、對于片外的 I /O擴(kuò)展工作的開展,基本上都采用“# define”語句對其進(jìn)行定義。例如:# define PO RT A XBY TE [0x ffc0];4、在編程過程中,都會采用大到中斷程序的編程方式,中斷函數(shù)的表示方式如下:void <函數(shù)名 > ( void) interrupt [中斷向量代號 ] [using [內(nèi)部寄存器組代號 ]。

二、數(shù)字頻率計(jì)主程序設(shè)計(jì)

在主程序聲明庫文件工作開展過程中,所定義的8155地址口以及所有的變量都存在一定的變化。顯示函數(shù)說明以及定時器和 8155的初始化。同時還要點(diǎn)亮啟動標(biāo)志燈,積極地設(shè)置外部中斷作為邊沿觸發(fā)。并且還要設(shè)置分頻系數(shù)初值并測周期,對相應(yīng)地方分頻系數(shù)進(jìn)行有效判斷,讀周期值并將其轉(zhuǎn)換成頻率。調(diào)用顯示程序從而完成顯示頻率的功能。

# include < absacc. h>

# include < reg51. h>

# include < math. h>

# define uchar unsigned char

# define uint unsigned int

# define CO M 8155 X BY T E [0x 2000]

# define PA8155 X BY T E [0x2001]

# define PB8155 XBY TE [0x 2002 ]

# define PC8155 X BY T E [0x2003]

float fre; float mid, total, v , c, g;

uint j= 0, par= 0x 01, fen2= 0x80, fen1= 0x 00, p;

bit rflag1, rflag2;

在采用C51語言設(shè)計(jì)過程中, absacc. h 和 reg51.h占據(jù)著重要地位,因此,兩者必不可少。這兩個文件能夠定義單片機(jī)的所有寄存器以及端口。并且在上述程序中,還定義8155的各個口地址,能夠?yàn)镃51編譯器硬件結(jié)構(gòu)的建立,從而構(gòu)建I /O變量名與其實(shí)際地址的對應(yīng)關(guān)系。下文中所涉及的程序能夠是函數(shù)說明以及初始化:

void main(void)

{uint k= 0; / * 給循環(huán)變量賦初值* / void show ( void); / * 顯示函數(shù)說明* / T M OD= 0x10; / * 定時器 1方式 1, G AT E= 0 * /

COM 8155= 0xof; / * 8155的工作方式控制字* /

PB8155= fen1; / * 分頻初值賦予 8155的

PB口* /

PC8155= 0x 06; / * 點(diǎn)亮啟動標(biāo)志燈* /

PA8155= 0x80;

EA= 1; IT1= 1; ET 1= 1; PX 1= 1; / * 開中斷 ,

三、數(shù)字頻率計(jì)顯示程序設(shè)計(jì)

設(shè)計(jì)人員應(yīng)該積極對字型數(shù)碼組 ,對頻率值的單位進(jìn)行有效判斷,然后將其分為 Hz, K Hz, M Hz,對頻率值的整數(shù)部分以及小數(shù)部分進(jìn)行有效判斷,從而顯示頻率值以及單位數(shù)量級標(biāo)志燈。小數(shù)點(diǎn)處理顯示程序具體如下:

PC8155= 0x 07; P A8155= table [s[6] ];

c = 0; while ( c < 10000) (+ + c; ); PA8155=0x 00; PC8155= 0x 06;

if( n= = 0) ( PA8155= 0x 00; P A8155= 0x01; ); c= 0; while (c < 1000) (+ + c; );

if( n= = 1) ( PA8155= 0x 00; P A8155= 0x02; ); c= 0; while( c < 1000) (+ + c; );

if( n= = 2) ( PA8155= 0x 00; P A8155= 0x04; );

c= 0; while (c < 1000) (+ + c; );

i+ + ;

}

小數(shù)點(diǎn)處理中每一次顯示都需要采用一個C循環(huán)語句進(jìn)行適當(dāng)?shù)难訒r,并且能夠?qū)?155的PA口數(shù)據(jù)清零,從而能夠保證下一次顯示的有效性。顯示的方法是數(shù)組 s [8]的每個值作為字形碼數(shù)組 table[ ]的下標(biāo) ,在 table [ ]數(shù)組中找到自己對應(yīng)的字形碼 ,送至 8155的 P A口。最后根據(jù) n的值 ,確定所顯示的頻率值的單位數(shù)量級。

總結(jié):通過C51語言的利用對單片機(jī)進(jìn)行設(shè)計(jì),編程操作簡單、準(zhǔn)確度高,還能有效避免其中存在的問題。數(shù)字頻率計(jì)的全部軟件通過相應(yīng)的調(diào)試,可對其誤差進(jìn)行有效分析,所得數(shù)據(jù)具有很強(qiáng)的實(shí)用價值。

參 考 文 獻(xiàn)

[1] 張杰,楊艷麗,馬莉莉等.基于單片機(jī)C語言的數(shù)字頻率計(jì)設(shè)計(jì)[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2007,28(2):191-192.

[2] 孫玉霞.C語言程序設(shè)計(jì)中若干問題的探討[J].沈陽航空工業(yè)學(xué)院學(xué)報,2004,21(3):52-54.

猜你喜歡
周期單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
用等效的思想求簡諧運(yùn)動的周期
晉西北偏關(guān)縣55年降水周期分析
萬能量具檢定周期的正確選定
紅沿河核電站調(diào)試啟動階段監(jiān)督性定期試驗(yàn)項(xiàng)目首次執(zhí)行的安排與跟蹤
科技視界(2016年6期)2016-07-12 10:20:41
泡沫鉆井技術(shù)在YB27—2井的應(yīng)用
麻城市| 分宜县| 保德县| 富锦市| 历史| 吉木萨尔县| 应用必备| 文山县| 德安县| 稷山县| 郯城县| 禄丰县| 曲阳县| 兴宁市| 容城县| 延寿县| 桂阳县| 英吉沙县| 龙游县| 平和县| 蕲春县| 上饶市| 永顺县| 枝江市| 淮滨县| 桦南县| 万山特区| 津市市| 辽中县| 搜索| 柳江县| 鄱阳县| 靖边县| 古田县| 长子县| 从江县| 福清市| 高安市| 龙海市| 徐汇区| 林西县|