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

正文內(nèi)容

基于單片機數(shù)字電子秒表電路設(shè)計(編輯修改稿)

2024-12-18 14:58 本頁面
 

【文章內(nèi)容簡介】 路的工作過程 FLASH ROM 中。開啟直流電源 +5V,經(jīng) R2C3 組成的微分電路將微處理器 AT89C5鎖存芯片進行清零。按清零鍵 ,時鐘清零;按設(shè)置鍵,設(shè)置時鐘初始值,并按北京時間要求把時、分依次通過 0— 9 和 0.— 設(shè)定;然后,按 OK 鍵,時鐘開始計時。 :按暫停鍵將時鐘暫停計時;通過按清零鍵,時鐘清零;按 OK鍵,啟動電子秒表開始計時;按暫停鍵,電子秒表暫停計時。 AT89C5鎖存芯片 74HC138 和 74HC573 可靠工作,外加手動復(fù)位功能 SW1。 泰州 農(nóng)業(yè)職業(yè)技術(shù)學(xué)院學(xué)生畢業(yè)論文 正文第 11 頁 共 26 頁 直流電源 220VR2200K7805+ 5V123412V+10 00 U F / 15 VC 2 +47 0U F / 15 V 圖 六 直流電源電路圖 首先通過變壓器 T 進行交流變壓為交流 12V,再經(jīng)過橋式整流 VD1VD4 產(chǎn)生脈動,其計算公式為 UC1= 然后通過 RC 濾波,產(chǎn)生直流 的直流電壓,其計算公式為 UC1= 經(jīng)過三端穩(wěn)壓器 LM7805 和 LM7810 產(chǎn)生穩(wěn)定的直流輸出電壓 +5V。為了保證輸出電壓的穩(wěn)定和減小交流波紋系數(shù),增加濾波電容 C2和輸出電阻 R2=200K,以保證輸出直流電壓的穩(wěn)定。 泰州 農(nóng)業(yè)職業(yè)技術(shù)學(xué)院學(xué)生畢業(yè)論文 正文第 12 頁 共 26 頁 表三 直流電源元件選擇 序號 名稱 型號 單位 數(shù)量 說明 1 變壓器 TRANS1 個 1 進行交流變壓 2 橋式整流器 IN4007 個 4 產(chǎn)生單向直流信號 3 電解電容 1000UF/15V 個 1 產(chǎn)生直流電壓 4 三端穩(wěn)壓器 7805 個 1 產(chǎn)生穩(wěn)定的直流輸出電壓 5 濾波電容 470FU/15V 個 1 濾波 6 電阻 2R 個 1 分壓 主程序的設(shè)計構(gòu)思 主程序有三個部分:第一部分是初始化設(shè)置,包括設(shè)置堆棧指針、 8279 初始化、定時器 /計數(shù)器初始化、顯示緩沖區(qū)初始化、開中斷、定時器 /計數(shù)器啟動等。 定時器 /計數(shù)器初 始化就是選擇定時器 /寄存器 TMOD 的工作方式,它的高 4位控制定時器 T1,低 4位控制定時器 T0。 TMOD 中各位的定義如下: T1 T0 GATE CF1 M1 M0 GATE CF1 M1 M0 0 0 0 1 0 0 0 0 TMOD 泰州 農(nóng)業(yè)職業(yè)技術(shù)學(xué)院學(xué)生畢業(yè)論文 正文第 13 頁 共 26 頁 其中: CF1: T/C功能選擇位,當(dāng) CF1=1 時為計數(shù)方式;當(dāng) CF1=0 時為定時方式。M1M0:T/C 工作方式定義位, M1M0=01 時為工作方式, 16 位定時 /計數(shù)器。 TMOD=10H。 設(shè)置定 時 /計數(shù)器初始值,定時 10ms,計數(shù)初值 X=DC00H( MOV TL1, 00H MOV TH1,0DCH)。 顯示緩沖區(qū)初始化,其顯示緩沖區(qū)的首地址(最低位)為 50H。共送入 8 個字符( MOV R0, 50H MOV R2, 08H)。 二部分主要是通過鍵掃描實現(xiàn)各種操作功能。核心部分是鍵掃描子程序 KEYSCAN。KEYSCAN 的主要功能是先通過讀 8279 的狀態(tài)字,判斷是否有鍵按下,如有鍵按下則通過讀 FIF0 RAM 命令,讀得鍵值,通過查表得到相應(yīng)的鍵號( 0~ F 號鍵相應(yīng)的鍵號分別為 30H~ 3FH)。 KEYSCAN 子程序的出口條件是:如無鍵按下, A累加器的值為 00H;如有鍵按下, A累加器的值為 FFH, B 寄存器中的內(nèi)容則為鍵號。通過按鍵識別實現(xiàn)相應(yīng)的操作功能。各項操作功能如下: 按“ C”鍵,秒表清零功能:在主程序中將鍵號和 3CH 比較,如相等,則調(diào)用時鐘清零子程序( CLEAR— T)。該子程序功能是將顯示緩沖區(qū) 50H~ 57H(分別存放十時、時、十分、分、十秒、秒、百毫秒、十毫秒的數(shù)值)全部清零,顯示全零。 按“ A”鍵,時鐘啟動計時功能:在主程序中將鍵盤掃描所得鍵號和 3AH 比較,如相等,則調(diào)用時鐘啟動計時子程序 ( START— T)。該子程序的功能是將 TR1置 1,啟動定時器 /計數(shù)器 1 工作。 按“ D”鍵,時鐘停止計時功能:在主程序中將鍵盤掃描所得序號和 3DH 比較,如相等,則調(diào)用時鐘停止計時子程序( STOP_T)。該子程序的功能是將 TR1 置 0,關(guān)閉定時器 /計數(shù)器 1。 按“ B”鍵,設(shè)置時鐘初值功能:在主程序中將鍵盤掃描所得鍵號和 3BH 比較,如相等,則調(diào)用設(shè)置時鐘初值子程序( SET_T)。該子程序的功能是通過按 8 個數(shù)字鍵,設(shè)置時鐘各位(十時、時、十分、分、十秒、秒、百毫秒和十毫秒)的初值。程序的設(shè)計思路是:先通過鍵掃描確認(rèn)是 否有鍵按下,然判斷鍵值是否在 0~ 9之間(即鍵號是否在 30H~ 39H 之間),以排除非數(shù)字鍵。后將鍵值( 0~ 9)依次送入顯示緩沖區(qū) 50H~57HDANYUAN ,再調(diào)顯示子程序?qū)崿F(xiàn)顯示。其中調(diào)用了 GETWORD 子程序。該子程序的功能是在鍵掃描判斷出有鍵按下后,再判斷是否按的是 0~ 9數(shù)字鍵(鍵號為 30H~ 39H)。判斷方法是將鍵號與 C6H 相加,如有進位,則表示非 0~ 9數(shù)字鍵。若在 8次鍵入過程泰州 農(nóng)業(yè)職業(yè)技術(shù)學(xué)院學(xué)生畢業(yè)論文 正文第 14 頁 共 26 頁 中任何一次輸入了非數(shù)字鍵,則 8位 LED 數(shù)碼管全部顯示為零,要求重新輸入。 SET_T子程序用一個循環(huán)程序?qū)崿F(xiàn)上述 8次鍵入的功能 。 第三部分是實現(xiàn)電子秒表的顯示。主要調(diào)用顯示子程序 DISP。該顯示子程序與以前所述子程序不同之處是其中某些位要顯示小數(shù)點。按照課題要求,為區(qū)分時、分、秒、毫秒,要求時鐘顯示格式為 .,即 8位數(shù)據(jù)顯示中每間隔一位要顯示一個小數(shù)點。為能顯示小數(shù)點,本顯示子程序中的 DISLED 子程序與以往有所不同,在以 LEDSEG 為起始地址的段碼表中,增加了 16 個能顯示小數(shù)點的段碼值,如顯示“ 3”的段碼為 3FH,而顯示“ 3.”的段碼為 BFH。這段碼的變化在懂得 LED數(shù)碼管工作原理的基礎(chǔ)上應(yīng)不難理解。當(dāng)在 DISLED 子程序的段碼表中加入 16個帶小數(shù)點的段碼后,為實現(xiàn)預(yù)定的顯示格式,只要在原顯示子程序中加上一條 ADD A, 10H 指令即可。這樣,當(dāng)要求顯示數(shù)據(jù)為“ 3”時,原通過查表得到的段碼應(yīng)為 4FH,而現(xiàn)為 CFH,即顯示“ 3.”,從而使 0LED 數(shù)碼管上顯示的數(shù)據(jù)均帶有小數(shù)點。 泰州 農(nóng)業(yè)職業(yè)技術(shù)學(xué)院學(xué)生畢業(yè)論文 正文第 15 頁 共 26 頁 主程序的 設(shè)計與實現(xiàn) 主程序流程圖 定時器初始化 矩陣鍵盤掃描 是 是否有鍵按下 否 是 判斷是否 OK鍵 定時器開始計時 否 是 判斷是否設(shè)置鍵 調(diào)設(shè)置子程序 否 是 判斷是否秒表鍵 轉(zhuǎn)到秒表功能 否 是 判斷是否秒清零鍵 清零秒表計數(shù) 否 秒表與時鐘切換程序 數(shù)碼管顯示 圖七 主程序的流程圖 主程序的實現(xiàn) include define uchar unsigned char define uint unsigned int 泰州 農(nóng)業(yè)職業(yè)技術(shù)學(xué)院學(xué)生畢業(yè)論文 正文第 16 頁 共 26 頁 define clr time[0]=time[1]=time[2]=time[3]=time[4]=time[5]=time[6]=time[7]=0; uchar num, time[8]; //按鍵值,時間數(shù)組 uchar buffer[8]; //暫存時間 bit start, flag, add, sub, set, ok; //標(biāo)志位 uchar code seg[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; // 數(shù)碼管段選 09 uchar code seg_[]={0xbf, 0x86, 0xdb, 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef}; //數(shù)碼管段選 . void keyscan( void); //掃描矩陣鍵盤 void delay( uint a); //1ms延時 void display( uchar m); //數(shù)碼管動態(tài)顯示 void timer2_init( void) ; //定時器 2初始化 void time_process( void); //秒表與時鐘切換處理 void timeset( void); //時間設(shè)置 //主函數(shù) void main( void) { timer2_init(); //定時器 2初始化 while( 1) { keyscan(); //掃描矩陣鍵盤 timeset(); //時間設(shè)置 time_process(); //秒表與時鐘切換數(shù)據(jù)處理 display( 9); //數(shù)碼管動態(tài)顯示 } } //1ms延 時 @12Mhz void delay( u
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1