日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
PIC16F877A動態(tài)數(shù)碼時鐘顯示實驗參考程序
PIC16F877A動態(tài)數(shù)碼時鐘顯示實驗參考程序
 更新時間:2008-7-26 17:03:49  點擊數(shù):3
【字體: 字體顏色
;動態(tài)數(shù)碼時鐘顯示實驗參考程序;使用資源:;1,TMRO定時器。確定顯示的位,及顯示延時。;2,TMR1定時器。秒信號產(chǎn)生。;3,PORTA端口。六共陽極位數(shù)碼管的位選信號,低電平有效;4,PORTC端口。數(shù)碼管的七段,RC7不用。;功能說明:;1.六位數(shù)碼管動態(tài)掃描顯示時間(格式為:HHMMSS,24小時制)。;2.時鐘信號由單片機內(nèi)部定時器硬件單元編程產(chǎn)生。;本實戰(zhàn)的目的是讓大家進一步熟悉定時器的編程,多位數(shù)碼管動態(tài)掃描顯示的編程。;硬件接法:;1.實驗板上撥碼開關(guān)S4、S5的所有位必須置ON,其他都可以關(guān)閉。;2.最好把93C46跟24CXX存儲器從板上取下。;本實例原提供者:pic16論壇會員 leef728 ,在此鳴謝leef728同志共享本實例.;由深圳市乾龍盛電子科技有限公司技術(shù)部鐘閨田(工程師)(論壇網(wǎng)名:zhongruntian)驗正并加于整理、注釋.;網(wǎng)站:PIC單片機學習網(wǎng) http://www.pic16.com 討論論壇:http://pic16.com/bbs/;版權(quán)所有,轉(zhuǎn)載請注明出處,并不能去掉或改變文件中的說明文字。;程序文件名“TIME.ASM";程序清單如下:;************************************ LIST P=16F877A INCLUDE"P16F877A.INC" ERRORLEVEL -302;***********************************__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC;;***************文件寄存器定義************** CBLOCK 0X20 WAW YIW BAW QIW GEW SHW TEMP COUNTER S3 DAA STATUS_TMP W_TMP ENDC;********************程序開始**************** ORG 0000H NOP ;復位地址 GOTO MAIN ORG 0004H;********************中斷處理程序*********** MOVWF W_TMP SWAPF STATUS,W CLRF STATUS MOVWF STATUS_TMP ;以上4條指令為中斷現(xiàn)場保護 BCF INTCON,2 ;清除TMRO中斷標志位 MOVF TEMP,W ;時間存放單元的地址 MOVWF FSR MOVF INDF,W ;取得某一位的時間值 CALL BMA ;查表得時間的顯示代碼 MOVWF PORTC ;送數(shù)碼管顯示 COMF DAA,W ;位碼取反 MOVWF PORTA ;點亮相應的數(shù)碼管 RLF DAA,F ;準備點亮下一位 INCF TEMP,F ;下一時間存放單元地址 BTFSS DAA,6 ;是否顯示完六位 GOTO RT MOVLW 01H ;是,重新開始新一輪顯示 MOVWF DAA MOVLW 20H ;重新獲取時間單元的地址 MOVWF TEMP RT SWAPF STATUS_TMP,W ;中斷現(xiàn)場恢復 MOVWF STATUS SWAPF W_TMP,F SWAPF W_TMP,W MOVLW 0XE0 ;賦定時器初值 MOVWF TMR0 RETFIE ;*******************主程序開始**************** MAIN BANKSEL TRISA ;選擇體1 MOVLW 00H MOVWF TRISA ;PORTA設置為輸出 MOVWF TRISC ;PORTC設置為輸出 MOVLW 06H MOVWF ADCON1 ;設置A口為普通數(shù)字口 BANKSEL INTCON MOVLW 00H MOVWF YIW MOVWF WAW MOVWF QIW MOVWF BAW MOVWF SHW MOVWF GEW ;以上7條指令清零時間 MOVWF DAA MOVLW 20H MOVWF TEMP ;時間存放單元地址 BSF STATUS,RP0 MOVLW 0X05 MOVWF OPTION_REG ;分頻器給TMR0做定時用,且分頻比1:4 BCF STATUS,RP0 BSF INTCON,7 ;開啟中斷總允許位GIE BSF INTCON,5 ;開啟TMRO中斷允許位 BCF INTCON,2 ;清除TMRO中斷標志位 MOVLW 0XE0 ;TMRO賦初值 MOVWF TMR0 CLRF DAA INCF DAA,F ;顯示位設置;**************************************************************KS CALL DELAY ;調(diào)用200ms定時程序 CALL DELAY CALL DELAY CALL DELAY CALL DELAY ;調(diào)用5次,剛好1s INCF GEW,F MOVF GEW,W ;判斷秒的個位是否夠10 XORLW .10 BTFSS STATUS,Z GOTO KS ;是,秒的個位清0,秒的十位加1 INCF SHW,F CLRF GEW CLRF STATUS MOVF SHW,W XORLW .6 ;判斷秒的十位是否為6(1分鐘60秒) BTFSS STATUS,Z GOTO KS INCF BAW,F ;是,秒的十位清0,分的個位加1 CLRF SHW CLRF STATUS MOVF BAW,W XORLW .10 ;判斷分的各位是否夠10 BTFSS STATUS,Z GOTO KS INCF QIW,F ;是,分的個位清0,分的十位加1 CLRF BAW CLRF STATUS MOVF QIW,W XORLW .6 ;判斷分的十位是否夠6(1小時60分) BTFSS STATUS,Z GOTO KS INCF WAW,F ;是,分的十位清0,時的個位加1 CLRF QIW CLRF STATUS MOVF WAW,W XORLW .4 ;判斷時的個位是否夠4(24小時制) BTFSS STATUS,Z GOTO KS INCF YIW,F ;是,時的個位清0,時的十位加1 CLRF WAW CLRF STATUS MOVF YIW,W XORLW .2 ;判斷時的十位是否夠2 BTFSS STATUS,Z GOTO KS CLRF GEW ;是,使時間回到00-00-00 CLRF SHW CLRF BAW CLRF QIW CLRF WAW CLRF YIW GOTO KS ;循環(huán)顯示;**************************200ms延時程序********************DELAY NOP BANKSEL PIE1 BCF PIE1,0 ;禁止TMR1中斷 BANKSEL T1CON MOVLW 24H ;TMR1分頻1:4 MOVWF T1CON BCF PIR1,0 MOVLW 0X3C MOVWF TMR1H MOVLW 0XB0 MOVWF TMR1L ;TMR1賦初值0X3CB0 BSF T1CON,0 LOP BTFSS PIR1,0 ;查詢是否定時時間到 GOTO LOP RETURN ;**********************************************************BMA ADDWF PCL,F ;考察偏移量 RETLW 0XC0 ;"0" 編碼 RETLW 0XF9 ;"1" 編碼 RETLW 0XA4 ;"2" 編碼 RETLW 0XB0 ;"3" 編碼 RETLW 0X99 ;"4" 編碼 RETLW 0X92 ;"5" 編碼 RETLW 0X82 ;"6" 編碼 RETLW 0XF8 ;"7" 編碼 RETLW 0X80 ;"8" 編碼 RETLW 0X98 ;"9" 編碼 RETLW 0XFF;********************************************************** END ;源程序結(jié)束;***********************************************************; 進入該實戰(zhàn)演練的工序流程如下:; 1.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”; 這個為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過有兩點需要注意,一是注釋前面的; 分號”;”必須用西文半角輸入;二是必須用”.asm”擴展名存儲到事先建立的一個專用子目錄下.; 2.打開MPLAB集成開發(fā)環(huán)境:首先在WINDOWS環(huán)境下,選用開始>程序>Microchip MPLAB>MPLAB命令,啟動MPLAB; 并進入MPLAB的桌面.; 3.創(chuàng)建項目:選用菜單File>New或Project>New Project,在事先建立的一個專用子目錄下創(chuàng)建一個新項目,將; 用記事本創(chuàng)建的源文件加入到該項目中.; 4.建立項目中的目標文件:選擇菜單Project >Build All(項目>建立所有文件),MPLAB將自動調(diào)用MPASM將項目; 文件管理下的源文件(.asm)匯編成十六進制的目標文件(.hex).
  • 上一篇: PIC16F877A+18B10溫度測量+LCD1602顯示溫度
  • 下一篇: PIC16F97+eV1527解碼源程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1