日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]ORG PIC54 GOTO MAIN ORG 0 ;---------------------- ;---------------------------- DELAY22 MOVLW D'200' ; DELAY 2*250=500mS MOVWF COUNT1 DE32 MOVLW D'250' ; 8*250=2mS MOVWF CO

ORG PIC54

GOTO MAIN
ORG 0
;----------------------
;----------------------------
DELAY22
MOVLW D'200' ; DELAY 2*250=500mS
MOVWF COUNT1
DE32 MOVLW D'250' ; 8*250=2mS
MOVWF COUNT2
DE42 NOP ; 1+2+1=5uS
DECFSZ COUNT2,1
GOTO DE42
DECFSZ COUNT1,1
GOTO DE32
RETLW 0
;--------------------------------
; 子程序!!!
;********************************
MAIN
MOVLW 0FFH
TRIS RA
LOOP
CALL CONVERT
CALL DELAY22
CALL DELAY22
CALL GET_TEMP

GOTO LOOP
;------------------------
GET_TEMP
CALL INI
MOVLW 0CCH
MOVWF COMD
CALL WR1820
MOVLW 0BEH
MOVWF COMD
CALL WR1820
CALL RE1820
MOVF TEM_DATE,W
MOVWF TEM_DATEL
CALL RE1820
MOVF TEM_DATE,W
MOVWF TEM_DATEH
RETLW 0
;------------------------
CONVERT
CALL INI
MOVLW 0CCH
MOVWF COMD
CALL WR1820
MOVLW 44H
MOVWF COMD
CALL WR1820
RETLW 0

;---------DS1820---------
INI
;MOVLW B'00100000'
MOVLW 0
TRIS RA
BSF RA,3
NOP
BCF RA,3
MOVLW D'200'
MOVWF COUNT1
L0
DECFSZ COUNT1,1
GOTO L0
;MOVLW B'01100000'
MOVLW 0FH
TRIS RA
MOVLW D'30'
MOVWF COUNT1
L1
DECFSZ COUNT1,1
GOTO L1
BTFSC RA,3
GOTO INI
L2
MOVLW D'80'
MOVWF COUNT1
L3
DECFSZ COUNT1,1
GOTO L3
BTFSS RA,3
GOTO L0
RETLW 0
;-------------------------
WR1820
MOVLW 8
MOVWF COUNT2
WR0
;MOVLW B'00100000'
MOVLW 0
TRIS RA
BCF RA,3
NOP
NOP
MOVLW 2
MOVWF COUNT1
WR1
DECFSZ COUNT1,1
GOTO WR1
;MOVLW B'01111111'
MOVLW 0FH
BTFSC COMD,0
BSF RA,3
BTFSC COMD,0
TRIS RA
BCF STATUS,C
RRF COMD,1
MOVLW D'20'
MOVWF COUNT1
WR2
DECFSZ COUNT1,1
GOTO WR2
BSF RA,3
;MOVLW B'01100000'
MOVLW 0FH
TRIS RA
DECFSZ COUNT2,1
GOTO WR0
RETLW 0
;--------------------------
RE1820
MOVLW 8
MOVWF COUNT2
RE0
;MOVLW B'00100000'
MOVLW 0
TRIS RA
BCF RA,3
MOVLW 2
MOVWF COUNT1
RE1
DECFSZ COUNT1,1
GOTO RE1
;MOVLW B'01100000'
MOVLW 0FH
TRIS RA
NOP
BTFSS RA,3
BCF STATUS,C
BTFSC RA,3
BSF STATUS,C
RRF TEM_DATE,1
MOVLW D'20'
MOVWF COUNT1
RE2
DECFSZ COUNT1,1
GOTO RE2
DECFSZ COUNT2,1
GOTO RE0
BSF RA,3
RETLW 0
;-------------------------
;****************************
;**************************
END

PIC控制時鐘芯片DS1302匯編程序

;PIC單片機www.pic16.com
#INCLUDE
CBLOCK 20H
SEC ;秒
MIN ;分
HOU ;小時
DATE ;日期
MON ;月
DAY ;日
YERR ;年
DDD ;寫使能位
TIME_TX ;1302發(fā)送寄存器
TIME_RX ;1302接收寄存器
COUNT1 ;
COUNT2 ;
DELAY1
DELAY2
ENDC
*******************************
; ; 1302子程序說明
; ;******************************
; DS1302INI ;1302初始化,先禁止RST,設(shè)定充電方式
; SET_TIME ;一次發(fā)送7個數(shù)據(jù)設(shè)定時間,包含寫使能寄存器,8個數(shù)據(jù)
; GET_TIME ;一次接收7個數(shù)據(jù)顯示時間
; TIME_WRITE_1;一次寫入1302一個字節(jié)
; TIME_READ_1 ;一次接收一個字節(jié)數(shù)據(jù)
; ;******* 1302定義**************
; ;******************************
#DEFINE I_O PORTC,7 ;1302I_O
#DEFINE SCLK PORTC,6 ;1302時鐘
#DEFINE RST PORTA,0 ;1302使能位
#DEFINE RX_ADD 40H ;保存接受的7個數(shù)據(jù)
#DEFINE TX_ADD 20H ;開始保存7個要寫入的時間數(shù)據(jù)
BANK1 MACRO
BSF STATUS,RP0
ENDM
BANK0 MACRO
BCF STATUS,RP0
ENDM

ORG 000H
NOP
GOTO MAIN
MAIN

CALL CLR_RAM 清除RAN
CALL PORT_INI 端口定義
CALL DS1302_INI
CALL SET_TIME 一次寫入7個時間數(shù)據(jù)
CALL GET_TIME ; 一次讀回7個時間數(shù)據(jù)
GOTO $


;; 寫入秒,可以寫任意的7個時間數(shù)據(jù),單字節(jié)
MOVLW B'10000000'
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
MOVLW B'00100101'
MOVWF TIME_TX
CALL TIME_WRITE_1
BCF RST

讀秒,可以讀任意7個時間,單字節(jié)


MOVLW B'10000001'
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
CALL TIME_READ_1
BCF RST

GOTO $

:子程序

**************************************************
; DS1302_INI
; 作用:初始化1302,先禁止RST,允許寫使能
;**************************************************
DS1302_INI
BCF SCLK
BCF RST ;先禁止
MOVLW B'10001110' ;寫使能寄存器
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
MOVLW B'0' ;允許寫使能
MOVWF TIME_TX
CALL TIME_WRITE_1;發(fā)送一個字節(jié)的數(shù)據(jù)
BCF RST

;設(shè)定充電方式

沒有設(shè)定
RETURN

;**************************************************
; SET_TIME
; 作用:一次輸入7個數(shù)據(jù)來一次性的設(shè)定時間,同時使能寫寄存器
; 突發(fā)模式寫入,必須寫入8個數(shù)據(jù),不是7個
; INPUT:要設(shè)定的8個數(shù)據(jù)已經(jīng)寫入到TIME_TX_ADD開始的8個字節(jié)里面
;**************************************************
SET_TIME
MOVLW B'10111110' ;標(biāo)志位
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
;TIME_WRITE_8 ;發(fā)送8個數(shù)據(jù)
MOVLW TIME_TX_ADD ;發(fā)送數(shù)據(jù)的起始地址
MOVWF FSR
MOVLW D'8'
MOVWF COUNT2
TW1
MOVF INDF,W
MOVWF TIME_TX
CALL TIME_WRITE_1
INCF FSR,F
DECFSZ COUNT2,F
GOTO TW1
BCF RST
RETURN
;***********************************************
; GET_TIME
; 作用:一次接受7個字節(jié)的時間數(shù)據(jù),突發(fā)模式讀取
; INPUT:NONE
; OUTPUT:把7個時間數(shù)據(jù)保存在TIME_RX_ADD開始的7個寄存器里面
;***********************************************
GET_TIME
MOVLW B'10111111'
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
;TIME_READ_7 ;接收7個數(shù)據(jù)
MOVLW TIME_RX_ADD ;保存數(shù)據(jù)的起始地址
MOVWF FSR
MOVLW D'7'
MOVWF COUNT2
TR2
CALL TIME_READ_1
MOVF TIME_RX,W
MOVWF INDF
INCF FSR,F
DECFSZ COUNT2,F
GOTO TR2
BCF RST
RETURN
;************************************************
; TIME_WRITE_1
; 作用:一次發(fā)送一個字節(jié)的數(shù)據(jù),用于發(fā)送1302的
; 控制字或者發(fā)送一個數(shù)據(jù)
; INPUT: TIME_TX
;************************************************
TIME_WRITE_1
MOVLW D'8'
MOVWF COUNT1
TLOP
BCF I_O ;初始值是低電平
BCF SCLK
BTFSC TIME_TX,0
BSF I_O
RRF TIME_TX,F
BSF SCLK ;高電平發(fā)送數(shù)據(jù)
DECFSZ COUNT1,F
GOTO TLOP
BCF SCLK ;恢復(fù)
RETURN
;************************************************
; TIME_READ_1
; 作用:讀取1302一個字節(jié)的數(shù)據(jù)
; INPUT: NONE
; OUTPUT:接收數(shù)據(jù)保存在TIME_RX里面
; 原理:在SCLK下降沿接收數(shù)據(jù),低字節(jié)在前,根據(jù)I_O的
; 的電平的高低,采取帶進位和不帶進位右移.
;***********************************************
TIME_READ_1
BANK1
BSF TRISC,7 ;I_O IS INPUT
BANK0
MOVLW D'8'
MOVWF COUNT1 ;讀取8個字節(jié)
TR1
BCF SCLK ;下降沿讀取
BCF STATUS,C
BTFSC I_O
BSF STATUS,C
RRF TIME_RX,F
BSF SCLK ;恢復(fù)高電平
DECFSZ COUNT1,F
GOTO TR1
BANK1
BCF TRISC,7 ;OUTPUT
BANK0
BCF SCLK ;恢復(fù)
RETURN
NOP

 

PORT_INI
BANK1
MOVLW B'00000000'
MOVWF TRISC
MOVLW B'0'
MOVWF TRISB
MOVLW B'00000111'
MOVWF ADCON1
MOVLW B'00000000'
MOVWF TRISA
BANK0
MOVLW 18H
MOVWF 20H
MOVLW 19H
MOVWF 21H
MOVLW 05H
MOVWF 22H
MOVLW 13H
MOVWF 23H
MOVLW 14H
MOVWF 24H
MOVLW 15H
MOVWF 25H
MOVLW 16H
MOVWF 26H
RETURN
CLR_RAM
MOVLW 20H
MOVWF FSR
LOOP
CLRF INDF
INCF FSR,F
BTFSS FSR,7
GOTO LOOP ;清除32個
RETURN
END

LCD驅(qū)動HT1621的PIC源代碼

;PIC單片機www.pic16.com
STATUS EQU 3H
FSR EQU 4H
RB EQU 6H
RC EQU 7H
OPTIONA EQU 81H
TRISB EQU 86H
TRISC EQU 87H

GENR0 EQU 053H
GENR1 EQU 054H
WD_RG EQU 055H
DA_AG0 EQU 056H ;SEG0 SEG1
DA_AG8 EQU 05EH ;SEG16 SEG17
;.............................
C EQU 0
Z EQU 2
RP0 EQU 5
RP1 EQU 6
CS EQU 2
WDA EQU 5 ;RC,5數(shù)據(jù)線
WCLK EQU 1 ;RB,1寫時鐘線
RCLK EQU 4 ;RB,4讀時鐘線
;..............................
ORG 0H
GOTO START
;...............................
START BSF STATUS,RP0
MOVLW 00H
MOVWF TRISB
MOVLW 81H
MOVWF TRISC
BCF STATUS,RP0
MOVLW 12H
MOVWF RB
BSF RC,2
BSF RC,5
MOVLW 4
MOVWF OPTIONA
LOOP NOP
CALL X_QUAN
NOP
GOTO LOOP

;............................
X_QUAN
MOVLW 8H
CALL ON_LCD ;TRANSMIT TH1621 WORK MODE VALUE

MOVLW 9H ;顯示9位LCD
CALL DIS_DATA

RETURN
;............................
ON_LCD MOVWF GENR1
BCF RC,2
MOVLW 80H ;HI_W3 BITS:100
MOVWF WD_RG
MOVLW 3 ;3位命令100
CALL TRAM_DATA
ON_LCD0 MOVF GENR1,0
CALL ON_VALUE ;查表初始化LCD
MOVWF WD_RG

MOVLW 8 ;送8位查表值
CALL TRAM_DATA

BCF RC,WDA
NOP
NOP
BCF RB,1
NOP
NOP
BSF RB,1
BSF RC,2
DECFSZ GENR1,1
GOTO ON_LCD+1
RETURN
;........................
ON_VALUE
ADDWF 2
NOP
RETLW 03H ;LCD ON
RETLW 01H ;SYS ON

RETLW 08H ;TONE OFF
RETLW 29H ;BISA1/3 4 COM
RETLW 18H ;256K
RETLW 05H ;WDT DISABLE

RETLW 80H ;/IRQ DISABLE *
RETLW 0E3H ;NORMAL MODE *

;................................
;TRANSMIT BITS SUBROUTINE
TRAM_DATA
BCF STATUS,0
MOVWF GENR0
BCF RB,1
RLF WD_RG
BTFSS 3,0
GOTO $+3
BSF RC,WDA
GOTO $+2
BCF RC,WDA

BSF RB,1
DECFSZ GENR0,1
GOTO TRAM_DATA+2

RETURN
;.......................
DIS_DATA
MOVWF GENR1 ;9位LCD
BCF RC,2
MOVLW 0A0H
MOVWF WD_RG ;WRITE CONTROL

MOVLW 3H ;3位寫命令101
CALL TRAM_DATA
MOVLW 00
MOVWF WD_RG ;WRITE ADDRESS
MOVLW 6H ;6位地址
CALL TRAM_DATA ;
DIS_DATA0

MOVLW 0FFH
MOVWF WD_RG ;DISPLAY CODE

MOVLW 8 ;8段數(shù)據(jù)
CALL TRAM_DATA

DECFSZ GENR1,1
GOTO DIS_DATA0
BSF RC,2
RETLW 0
END

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

本文中,主要在于講解如何利用pic單片機實現(xiàn)紅外夜視儀設(shè)計。如果你對本文內(nèi)容具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機 指數(shù) 紅外夜視儀

為幫助大家解決pic單片機應(yīng)用難點,本文將對pic單片機硬件死鎖問題予以講解。

關(guān)鍵字: pic單片機 指數(shù) 死鎖

電子相關(guān)專業(yè)的朋友對于pic單片機自然十分熟悉,為增進大家對pic單片機的認識,本文將繼續(xù)為大家介紹pic單片機。本文中,小編將對pic單片機的PAGE和BANK予以闡述。

關(guān)鍵字: pic單片機 指數(shù) 單片機

對于pic單片機,大家都很熟悉,pic單片機是諸多類型單片機中最為受用的一款。本文是《pic單片機實際應(yīng)用,基于pic單片機實現(xiàn)IC卡讀寫器(上)》的余下內(nèi)容。如果你對pic單片機具有興趣,抑或?qū)ic單片機的應(yīng)用充滿好...

關(guān)鍵字: ic卡讀寫器 pic單片機 指數(shù)

為幫助大家增進對pic單片機的認識,本文將介紹如何基于pic單片機實現(xiàn)IC卡讀寫器。本文僅為上篇,剩余內(nèi)容請翻閱下篇。

關(guān)鍵字: pic單片機 指數(shù) ic卡讀寫器

為增進大家對pic單片機的了解,本文將對pic單片機開發(fā)環(huán)境以及pic單片機的引腳3狀態(tài)予以講解。如果你對pic單片機具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機 開發(fā)環(huán)境 指數(shù)

  當(dāng)人們晚上迷失在野外手上只有一個手電筒,此時有直升機飛過。人們用手電筒發(fā)出三短三長三短的光線。用這個國際通用的SOS求救信號,告訴飛行員來救你。人們規(guī)定的三短三長三短的光線,代表SOS就是一

關(guān)鍵字: pic單片機 通信協(xié)議

PIC單片機是一種用來開發(fā)和控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng),應(yīng)用十分廣泛,本文就為大家介

關(guān)鍵字: pic32 pic單片機

本文將基于兩點對pic單片機予以闡述:1.如何挑選合適的pic單片機,2.pic單片機或運算符運用。如果你對本文內(nèi)容具有一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機 指數(shù) 或運算符

本文中,小編將介紹如何將pic單片機A/D轉(zhuǎn)換數(shù)據(jù)打包,以達到減少空間、提高效率的目的。如果你對本文內(nèi)容具有一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機 指數(shù) ad轉(zhuǎn)換數(shù)據(jù)
關(guān)閉