久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

單片機課程設(shè)計報告——智能數(shù)字頻率計

時間:2019-05-14 04:15:32下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《單片機課程設(shè)計報告——智能數(shù)字頻率計》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《單片機課程設(shè)計報告——智能數(shù)字頻率計》。

第一篇:單片機課程設(shè)計報告——智能數(shù)字頻率計

單片機原理課程設(shè)計報告

題目:智能數(shù)字頻率計設(shè)計

專業(yè): 信息工程 班級:信息111 學(xué)號:*** 姓名:*** 指導(dǎo)教師:***

北京工商大學(xué)計算機與信息工程學(xué)院

1、設(shè)計目的

(1)了解和掌握一個完整的電子線路設(shè)計方法和概念;

(2)通過電子線路設(shè)計、仿真、安裝和調(diào)試,了解和掌握電子系統(tǒng)研發(fā)產(chǎn)品的一個基本流程。

(3)了解和掌握一些常見的單元電路設(shè)計方法和在電子系統(tǒng)中的應(yīng)用: 包括放大器、濾波器、比較器、計數(shù)和顯示電路等。

(4)通過編寫設(shè)計文檔與報告,進一步提高學(xué)生撰寫科技文檔的能力。

2、設(shè)計要求

(1)基本要求

設(shè)計指標(biāo):

1.頻率測量:0~250KHz; 2.周期測量:4mS~10S; 3.閘門時間:0.1S,1S;

4.測量分辨率:5位/0.1S,6位/1S; 5.用圖形液晶顯示狀態(tài)、單位等。

充分利用單片機軟、硬件資源,在其控制和管理下,完成數(shù)據(jù)的采集、處理和顯示等工作,實現(xiàn)頻率、周期的等精度測量方案。在方案設(shè)計中,要充分估計各種誤差的影響,以獲得較高的測量精度。

(2)擴展要求

用語音裝置來實現(xiàn)頻率、周期報數(shù)。

(3)誤差測試

調(diào)試無誤后,可用數(shù)字示波器與其進行比對,記錄測量結(jié)果,進行誤差分析。

(4)實際完成的要求及效果

1.測量范圍:0.1Hz~4MHz,周期、頻率測量可調(diào); 2.閘門時間:0.05s~10s可調(diào); 3.測量分辨率:5位/0.01S,6位/0.1S; 4.用圖形液晶顯示狀態(tài)、單位(Hz/KHz/MHz)等。

3、硬件電路設(shè)計

(1)總體設(shè)計思路 本次設(shè)計的智能數(shù)字頻率計可測量矩形波、鋸齒波、三角波、方波等信號的頻率。系統(tǒng)共設(shè)計包括五大模塊: 主芯片控制模塊、整形模塊、分頻模塊、檔位選擇模塊、和顯示模塊。設(shè)計的總的思想是以AT89S52單片機為核心,將被測信號送到以LM324N為核心的過零比較器,被測信號轉(zhuǎn)化為方波信號,然后方波經(jīng)過由74LS161構(gòu)成的分頻模塊進行分頻,再由74LS153構(gòu)成的四選一選擇電路控制檔位,各部分的控制信號以及頻率的測量主要由單片機計數(shù)及控制,最終將測得的信號頻率經(jīng)LCD1602顯示。

各模塊作用如下: 1.主芯片控制模塊: 單片機AT89S52 內(nèi)部具有2個16位定時/計數(shù)器T0、T1,定時/計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。利用單片機的計數(shù)器和定時器的功能對被測信號進行計數(shù)。以AT89S52 單片機為控制核心,來完成對各種被測信號的精確計數(shù)、顯示以及對分頻比的控制。利用其內(nèi)部的定時/計數(shù)器完成待測信號周期/頻率的測量。

2.整形模塊:整形電路是將一些不是方波的待測信號轉(zhuǎn)化成方波信號,便于測量。本設(shè)計使用運放器LM324連接成過零比較器作為整形電路。

3.分頻模塊: 考慮單片機利用晶振計數(shù),使用11.0592MHz 時鐘時,最大計數(shù)速率將近500 kHz,因此需要外部分頻。分頻電路用于擴展單片機頻率測量范圍,并實現(xiàn)單片機頻率測量使用統(tǒng)一信號,可使單片機測頻更易于實現(xiàn),而且也降低了系統(tǒng)的測頻誤差。本設(shè)計使用的分頻芯片是74LS161實現(xiàn)4分頻及16分頻。

4.檔位選擇模塊:控制74LS161不分頻、4分頻 或者 16分頻,控制芯片是74LS153。5.顯示模塊:編寫相應(yīng)的程序可以使單片機自動調(diào)節(jié)測量的量程,并把測出的頻率數(shù)據(jù)送到顯示電路顯示,本設(shè)計選用LCD1602。

(2)測頻基本設(shè)計原理

所謂“頻率”,就是周期性信號在單位時間(1s)內(nèi)變化的次數(shù)。若在一定時間間隔T內(nèi)測得這個周期性信號的重復(fù)變化次數(shù)N,則其頻率可表示為f=N/T(右圖3-1所示)。其中脈沖形成電路的作用是將被測信號變成脈沖信號,其重復(fù)頻率等于被測頻率fx。利用單片機的定時/計數(shù)T0、T1的定時、計數(shù)功能產(chǎn)生周期為1s的時間脈沖信號,則門控電路的輸出信號持 圖3-1 續(xù)時間亦準(zhǔn)確地等于1s。閘門電路由標(biāo)準(zhǔn)的秒脈沖信號進行控制,當(dāng)秒脈沖信號來到時,閘門開通,被測脈沖信號通過閘門送到計數(shù)譯碼顯示電路。秒脈沖信號結(jié)束時閘門關(guān)閉,計數(shù)器停止計數(shù)。由于計數(shù)器計得的脈沖數(shù)N是在1秒時間內(nèi)的累計數(shù),所以被測頻率fx=NHz。

(2)系統(tǒng)框圖

本智能數(shù)字頻率計系統(tǒng)框圖如圖3-2所示

圖3-2智能數(shù)字頻率計系統(tǒng)框圖

(3)單片機部分

P0口經(jīng)上拉后做LCD數(shù)據(jù)接口 P2.1~P2.3作為LCD控制端口 P2.4~P2.5作為分頻選擇端口 P3.5作為被測信號輸入端口

P3.2~P3.4作為開關(guān)控制端口(對應(yīng)電路圖中K1,K2,SET)

圖3-3 89D52單片機部分電路

(4)分頻部分

74HC161與74ls161功能兼容,是常用的四位二進制可預(yù)置的同步加法計數(shù)器,他可以靈活的運用在各種數(shù)字電路,以及單片機系統(tǒng)中實現(xiàn)分頻器等很多重要的功能。

其管腳圖如圖3-4所示:

圖3-4 74HC161 圖3-5 74HC153管腳圖

74HC153是一個雙4選1數(shù)據(jù)選擇器,其管腳圖如圖3-5所示:

74LS161對整形后的防波信號進行分頻,Q1為四分頻輸出,Q3為16分頻輸出。未經(jīng)分頻、經(jīng)過四分頻和經(jīng)過16分頻的三路信號作為74LS153的一個4選1數(shù)據(jù)選擇器低三位輸入,由單片機控制選擇分頻數(shù),然后再送單片機內(nèi)部計數(shù)器T1(如圖3-6)。

圖3-6 分頻、選擇分頻檔位電路圖

(5)LCD顯示部分

LCD顯示,1602的八位數(shù)據(jù)I/O口與單片機的P0口相連,讀寫控制端接P2.0-P2.2口。三個按鍵中,設(shè)置鍵接P3.2單片機按外部中斷0接口,當(dāng)按鍵按下后,置P3.2口低電平,單片機中斷。S1、S2為頻率/周期、閘門時間加/減選擇按鍵(如圖3-7)。

圖3-7 LCD顯示部分電路圖

4、軟件設(shè)計

(1)主程序流程圖設(shè)計

本次程序設(shè)計采用的是C語言程序設(shè)計,其設(shè)計流程圖4-1所示:

圖4-1主程序流程圖

(2)子程序流程圖設(shè)計

<1>顯示程序:

LCD顯示程序設(shè)計流程如圖4-2所示:

圖4-2顯示程序流程圖 <2>頻率測量程序框圖:

頻率測量程序的整體架構(gòu)如圖4-3所示:

圖4-3頻率測量框架圖

(3)中斷服務(wù)流程圖

INT0中斷流程圖如圖4-4所示:

圖4-4INT0中斷流程圖

(4)程序代碼

#include #include #include #include float f;

//頻率 float p;

//周期 float sj;

//閘門時間 char idata buff[20];char flag=0;

//頻率、周期選擇標(biāo)志位

char xs=0;//設(shè)置閘門時間結(jié)束后是否顯示結(jié)果的標(biāo)志位

unsigned char m=0,n=0,yichu=0,fenpin;

//m定時中斷次數(shù) n計數(shù)中斷次數(shù) yichu判斷是定時

//器還是計數(shù)器溢出

#define Key_Set P3 #define K1 0xf7

//11110111

P33 #define K2 0xef

//11101111

P34 #define NO_Set 0xff #define Freq 0 #define Peri 1

sbit B153=P2^4;sbit A153=P2^3;sbit P17=P3^4;sbit P16=P3^3;sbit P35=P3^5;sbit Set=P3^2;unsigned char LCD_Wait(void);void LCD_Write(bit style, unsigned char input);void LCD_SetDisplay(unsigned char DisplayMode);void LCD_SetInput(unsigned char InputMode);void LCD_Initial();void GotoXY(unsigned char x, unsigned char y);void Print(unsigned char *str);void C52_Initial();void Delay(unsigned int t);void display(float f);void cepin();void panduan();void timedisplay(float sj);void Time_Set1();void Time_Set2();void t0();void t1();

/*****模塊名稱 LCD1602顯示程序******/

/***********************端口定義 ***********************************/

sbit LcdRs= P2^0;sbit LcdRw= P2^1;sbit LcdEn= P2^2;sfr DBPort= 0x80;

//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數(shù)據(jù)端口 /************************內(nèi)部等待函數(shù)********************************/

unsigned char LCD_Wait(void){

LcdRs=0;

//寄存器選擇輸入端 1:數(shù)據(jù) 0:指令

LcdRw=1;

_nop_();//RW:為0:寫狀態(tài);為1:讀狀態(tài);

LcdEn=1;

_nop_();

//使能輸入端,讀狀態(tài),高電平有效;寫狀態(tài),下降沿有效

LcdEn=0;

return DBPort;

} /**********************向LCD寫入命令或數(shù)據(jù)***************************/

#define LCD_COMMAND 0

// Command #define LCD_DATA 1

// Data #define LCD_CLEAR_SCREEN

0x01

// 清屏 #define LCD_HOMING

0x02

// 光標(biāo)返回原點 void LCD_Write(bit style, unsigned char input){

LcdEn=0;

LcdRs=style;

LcdRw=0;

_nop_();

DBPort=input;

_nop_();//注意順序

LcdEn=1;

_nop_();//注意順序

LcdEn=0;

_nop_();

LCD_Wait();} /********************設(shè)置顯示模式*********************************/

#define LCD_SHOW

0x04

//顯示開 #define LCD_HIDE

0x00

//顯示關(guān)

#define LCD_CURSOR

0x02

//顯示光標(biāo)

#define LCD_NO_CURSOR

0x00

//無光標(biāo)

#define LCD_FLASH

0x01

//光標(biāo)閃動 #define LCD_NO_FLASH

0x00

//光標(biāo)不閃動 void LCD_SetDisplay(unsigned char DisplayMode){

LCD_Write(LCD_COMMAND, 0x08|DisplayMode);

} /*********************設(shè)置輸入模式***********************************/ #define LCD_AC_UP 0x02 #define LCD_AC_DOWN 0x00

// default #define LCD_MOVE 0x01

// 畫面可平移 #define LCD_NO_MOVE 0x00

//default void LCD_SetInput(unsigned char InputMode){

LCD_Write(LCD_COMMAND, 0x04|InputMode);} /******************初始化LCD**************************************/

void LCD_Initial(){

LcdEn=0;

LCD_Write(LCD_COMMAND,0x38);

//8位數(shù)據(jù)端口,2行顯示,5*7點陣

LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);

//開啟顯示, 無光標(biāo)

LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);

//清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);

//AC遞增, 畫面不動 }

/************************************************************************/ void GotoXY(unsigned char x, unsigned char y){ if(y==0)

LCD_Write(LCD_COMMAND,0x80|x);if(y==1)

LCD_Write(LCD_COMMAND,0x80|(x-0x40));} void Print(unsigned char *str){

while(*str!='

主站蜘蛛池模板: 中文字幕人成乱码熟女香港| 日本久久99成人网站| 麻豆成人av不卡一二三区| 无码国内精品人妻少妇| 国产乱人伦真实精品视频| 动漫成人无码免费视频在线播| 99精品国产综合久久久久五月天| 欧美激情性做爰免费视频| 黑人好猛厉害爽受不了好大撑| 55夜色66夜色国产精品视频| 国精产品自偷自偷综合下载| 亚洲中文字幕久久精品无码va| 欧美丰满熟妇aaaaa片| 国产日韩一区二区三区在线观看| 久久久久噜噜噜亚洲熟女综合| 极品人妻被黑人中出种子| 国产乱妇无乱码大黄aa片| 成人看片黄a免费看那个网址| 亚洲中文字幕av无码专区| 青青草无码精品伊人久久7| 国产精品偷伦视频免费观看了| 国产成人精彩在线视频| 亚洲高清专区日韩精品| 成人亚洲a片v一区二区三区日本| 中文亚洲成a人片在线观看| 狠狠爱亚洲五月婷婷av| 精品亚洲成av人在线观看| 免费a级毛片樱桃视频| 国产精品无码一区二区在线看| 亚洲精品99久久久久久欧美版| 亚洲中文字幕无码一区无广告| 九九久久精品国产| 亚洲精品无码精品mv在线观看| 久久亚洲精品无码av| 自怕偷自怕亚洲精品| 精品一区二区不卡无码av| 亚洲av无码专区在线播放| 天堂无码人妻精品一区二区三区| 中文乱码免费一区二区三区| 丰满人妻无码∧v区视频| 亚洲另类欧美小说图片区|