www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] ;=============兩機(jī)串口通訊程序(主機(jī))=====================;; 功 能: 使用串行中斷,接收數(shù)據(jù)并顯示; 硬件環(huán)境: 自制單片機(jī)實(shí)驗(yàn)板; 軟件環(huán)境: 偉福 V3.20; Create date: 2004_07_26; First Modify: 20

;=============兩機(jī)串口通訊程序(主機(jī))=====================
;
; 功 能: 使用串行中斷,接收數(shù)據(jù)并顯示
; 硬件環(huán)境: 自制單片機(jī)實(shí)驗(yàn)板
; 軟件環(huán)境: 偉福 V3.20
; Create date: 2004_07_26
; First Modify: 2004_07_26
; second Modify:

; Last Modify: 2004_07_26
; Author: Sujiande
;
;===========預(yù)定義===================
LED0 EQU 40H ;預(yù)定義數(shù)碼管
LED1 EQU 41H ;預(yù)定義數(shù)碼管
LED2 EQU 42H ;預(yù)定義數(shù)碼管
LED3 EQU 43H ;預(yù)定義數(shù)碼管
LED4 EQU 44H ;預(yù)定義數(shù)碼管
LED5 EQU 45H ;預(yù)定義數(shù)碼管
LED6 EQU 46H ;預(yù)定義數(shù)碼管
LED7 EQU 47H ;預(yù)定義數(shù)碼管
SDA BIT P0.1 ; 定義數(shù)據(jù)線(xiàn)引腳定義
SCL BIT P0.0 ; 定義時(shí)鐘線(xiàn)引腳定義
;---------------------------
ORG 0000H ;主程序入口
AJMP MAIN ;跳轉(zhuǎn)到主程序
ORG 0100H ;主程序在ROM中存放位置
;===============主程序=====================
MAIN:
MOV LED0,#00H ;賦初值
MOV LED1,#00H
MOV LED2,#16 ;賦初值為16, 數(shù)碼管顯示代碼為: 滅
MOV LED3,#16
MOV LED4,#16
MOV LED5,#16
MOV LED6,#16
MOV LED7,#16
;--------------------
;MOV DPTR,#TABLE ; 賦顯示代碼首地址
MOV R1,#00H ; 給R1賦初值00H
ACALL DISPLAY ; 調(diào)顯示子程序
MOV SP, #30H ; 給堆棧指針賦初值
;--------------------------
; 使用定時(shí)器1,作為波特率發(fā)生器,設(shè)定波特率=9600,
; 定時(shí)器初值為:FAH
; 串行控制器設(shè)置:SM0=0,SM1=1,SM2=0,REN=1,TB8=0,
; RB8=0,TI=0,RI=0 即0101 0000B
; 波特率加倍
;-----------------------------
MOV TMOD,#20H ;設(shè)置定時(shí)器1,工作方式2
MOV TH1,#0FAh ;賦初值: FA
MOV TL1,#0FAh ;賦初值: FA
MOV SCON, #50h ;設(shè)置串行口控制寄存器
MOV PCON, #80h ;設(shè)置電源控制寄存器, 讓波特率加倍(2X)
SETB TR1 ;啟動(dòng)定時(shí)
;*****************主程序結(jié)束************************
LP8: MOV A,R1 ;將R1的數(shù)據(jù)裝到A中
;-----------------------
MOV SBUF,A ;將A的數(shù)據(jù)送到緩沖區(qū)
JNB TI,$ ;等待數(shù)據(jù)發(fā)送完畢
CLR TI ;清發(fā)送中斷標(biāo)志
;-----------------------
INC R1
CJNE R1,#99,LP3
MOV R1,#00H


LP3: ACALL SEPERATE ;調(diào)拆分程序
ACALL DISPLAY ;調(diào)顯示子程序
ACALL DELAY_1S ;調(diào)延時(shí)子程序
AJMP LP8
;=================拆分程序=====================
SEPERATE: ANL A,#0Fh ;與操作得到個(gè)位數(shù)據(jù)
MOV LED0,A ;個(gè)位送LED0
MOV A,R1
ANL A,#0F0H ;與操作得到十位數(shù)據(jù)
SWAP A
MOV LED1,A ;十位送LED1
RET
;===============顯示子程序======================

DISPLAY:
MOV DPTR,#TABLE ; 賦顯示代碼首地址

MOV A,LED0 ;查表數(shù)據(jù)送A
MOVC A,@A+DPTR ;查表,得到顯示代碼
ACALL SHIFT ;調(diào)移位子程序

MOV A,LED1
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED2
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED3
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED4
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED5
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED6
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED7
MOVC A,@A+DPTR
ACALL SHIFT
RET
;---------顯示代碼表---------
TABLE: DB 11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,10H,90H ;0,1,2,3,4,5,6,7,8,9,
DB 50H,1CH,39H,16H,38H,78H, 0FFH,0FEH,0EFH ;10,11,12,13,14,15,滅,-

;================移位子程序============================
SHIFT: PUSH A ; 進(jìn)棧暫存A值
MOV R0,#8 ; 循環(huán)8次
CLR C ;清進(jìn)位標(biāo)志
CLR SCL ;時(shí)鐘線(xiàn),先鉗位為0
LP2: RLC A
MOV SDA,C
NOP
NOP
SETB SCL
NOP
NOP
CLR SCL
NOP
NOP
DJNZ R0,LP2
POP A ; 出?;謴?fù)A值
RET
;=============延時(shí)子程序===============
DELAY_1S:
MOV R7,#0ffH
LOOP7: MOV R6,#0ffH
LOOP6: NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6,LOOP6
DJNZ R7,LOOP7
RET
;------------------------------
END

;=============兩機(jī)串口通訊程序(從機(jī))=====================
;
; 功 能: 使用串行中斷,接收數(shù)據(jù)并顯示
; 硬件環(huán)境: 自制 單片機(jī) 實(shí)驗(yàn)板
; 軟件環(huán)境: 偉福 V3.20
; Create date: 2004_07_26
; First Modify: 2004_07_26
; second Modify:
; Last Modify: 2004_07_26
; Author: Sujiande
;
;===========預(yù)定義===================

LED0 EQU 40H ;預(yù)定義數(shù)碼管
LED1 EQU 41H ;預(yù)定義數(shù)碼管
LED2 EQU 42H ;預(yù)定義數(shù)碼管
LED3 EQU 43H ;預(yù)定義數(shù)碼管
LED4 EQU 44H ;預(yù)定義數(shù)碼管
LED5 EQU 45H ;預(yù)定義數(shù)碼管
LED6 EQU 46H ;預(yù)定義數(shù)碼管
LED7 EQU 47H ;預(yù)定義數(shù)碼管
SDA BIT P0.1 ; 定義數(shù)據(jù)線(xiàn)引腳定義
SCL BIT P0.0 ; 定義時(shí)鐘線(xiàn)引腳定義
;---------------------------
ORG 0000H ;主程序入口
AJMP MAIN ;跳轉(zhuǎn)到主程序
ORG 0023H ;中斷入口地址
AJMP S_INT ;跳轉(zhuǎn)到中斷程序
ORG 0100H ;主程序在ROM中存放位置
;==============主程序========================
MAIN:
MOV LED0,#00H ;賦初值
MOV LED1,#00H
MOV LED2,#16 ;賦初值為16, 數(shù)碼管顯示代碼為: 滅
MOV LED3,#16
MOV LED4,#16
MOV LED5,#16
MOV LED6,#16
MOV LED7,#16
;------------------------------
MOV DPTR,#TABLE ; 賦顯示代碼首地址
ACALL DISPLAY ; 調(diào)顯示子程序
MOV SP, #30H ; 給堆棧指針賦初值
;--------------------------------------------
; 使用定時(shí)器1,作為波特率發(fā)生器,設(shè)定波特率=9600,
; 定時(shí)器初值為:FAH
; 串行控制器設(shè)置:SM0=0,SM1=1,SM2=0,REN=1,TB8=0,
; RB8=0,TI=0,RI=0 即0101 0000B
; 波特率加倍
;---------------------------------------------
MOV TMOD,#20H ;設(shè)置定時(shí)器1,工作方式2
MOV TH1,#0FAh ;賦初值: FA
MOV TL1,#0FAh ;賦初值: FA
MOV SCON, #50h ;設(shè)置串行口控制寄存器
MOV PCON, #80h ;設(shè)置電源控制寄存器, 讓波特率加倍(2X)
;---------------------------------------
SETB EA ; 啟動(dòng)總中斷
SETB ES ; 啟動(dòng)串行中斷
SETB TR1 ;啟動(dòng)定時(shí)
AJMP $ ; 等待中斷

;*****************主程序結(jié)束************************


;===============中斷服務(wù)程序=============================
S_INT:
MOV R1, SBUF ;將緩沖區(qū)的數(shù)據(jù)送到R1

ACALL SEPERATE ;調(diào)拆分程序
ACALL DISPLAY ;調(diào)顯示子程序
CLR RI ;清接收中斷標(biāo)志
RETI ;中斷返回

;=================拆分程序=====================
SEPERATE: MOV A,R1
ANL A,#0Fh ;與操作得到個(gè)位數(shù)據(jù)
MOV LED0,A ;個(gè)位送LED0
MOV A,R1
ANL A,#0F0H ;與操作得到十位數(shù)據(jù)
SWAP A ;
MOV LED1,A ;十位送LED1
RET

;===============顯示子程序======================

DISPLAY:
MOV A,LED0 ;查表數(shù)據(jù)送A
MOVC A,@A+DPTR ;查表,得到顯示代碼
ACALL SHIFT ;調(diào)移位子程序

MOV A,LED1
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED2
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED3
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED4
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED5
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED6
MOVC A,@A+DPTR
ACALL SHIFT

MOV A,LED7
MOVC A,@A+DPTR
ACALL SHIFT
RET
;---------顯示代碼表---------
TABLE: DB 11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,10H,90H ;0,1,2,3,4,5,6,7,8,9,
DB 50H,1CH,39H,16H,38H,78H, 0FFH,0FEH,0EFH ;10,11,12,13,14,15,滅,-

;================移位子程序============================
SHIFT: PUSH A ; 進(jìn)棧暫存A值
MOV R0,#8 ; 循環(huán)8次
CLR C ;清進(jìn)位標(biāo)志
CLR SCL ;時(shí)鐘線(xiàn),先鉗位為0
LP2: RLC A
MOV SDA,C
NOP
NOP
SETB SCL
NOP
NOP
CLR SCL
NOP
NOP
DJNZ R0,LP2
POP A ; 出?;謴?fù)A值
RET
;=============延時(shí)子程序===============
DELAY_1S:
MOV R7,#0ffH
LOOP7: MOV R6,#0ffH
LOOP6: NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6,LOOP6
DJNZ R7,LOOP7
RET
;------------------------------
END


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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉