標(biāo)題:
這個(gè)單片機(jī)晶閘管觸發(fā)電路程序電路缺些什么?為什么運(yùn)行不了
[打印本頁(yè)]
作者:
初學(xué)者52
時(shí)間:
2021-5-2 21:02
標(biāo)題:
這個(gè)單片機(jī)晶閘管觸發(fā)電路程序電路缺些什么?為什么運(yùn)行不了
基于 51 單片機(jī)的雙向晶閘管的導(dǎo)通實(shí)驗(yàn)實(shí)驗(yàn)環(huán)境: Proteus編程語(yǔ)言: 匯編編程環(huán)境: KEIL單片機(jī): AT89C51晶振: 12MHz設(shè)計(jì)說(shuō)明:本設(shè)計(jì)實(shí)現(xiàn)以下功能:1、 通過(guò)單片機(jī)控制晶閘管的觸發(fā)信號(hào),從而實(shí)現(xiàn)晶閘管的觸發(fā)2、 通過(guò)七段數(shù)碼管顯示觸發(fā)角大小3、 通過(guò)鍵盤操作調(diào)節(jié)晶閘管導(dǎo)通觸發(fā)角,并控制顯示的開關(guān)仿真圖:圖(1)仿真效果圖圖(2)交流電過(guò)零檢測(cè)電路圖(3)數(shù)碼管連接電路圖(4)晶閘管觸發(fā)電路圖(5)鍵盤連接電路圖(6)單片機(jī)最小系統(tǒng)電路圖(7)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png
(36.56 KB, 下載次數(shù): 70)
下載附件
2021-5-3 01:05 上傳
系統(tǒng)總圖部分源程序:
ORG 000H
AJMP MAIN
ORG 0003H ;/外部中斷 0 中斷程序入口
AJMP INT_0
ORG 000BH
AJMP TMR0
ORG 001BH
AJMP TMR1
ORG 0040H ;/以上參看 51 單片機(jī)中斷系統(tǒng)介紹
MAIN: ACALL INIT;/調(diào)用初始化子程序。
HERE: JNB FLAG1.7,HERE;/100ms 不到不進(jìn)行鍵盤掃描
CLRFLAG1.7;/清標(biāo)志位
HERE2:MOV A,P2;
/1********有無(wú)按鍵掃描,
ORL A,#70H;
MOV P2,A
MOV A,P2
ANL A,#70H
XRLA,#70H
JZ NKEY;
MOV KTEMP,A
AJMP HERE
NKEY: JB KTEMP.KEY0,KSET;/是 SET 鍵,轉(zhuǎn)處理程
AJMP KOUT;/以上鍵都不是,不處理
KSET: INCSHIFT;/根據(jù) SHIFT 的值做不同的處理
SETB FLAG1.3;/按鍵狀態(tài)標(biāo)志位
SETB FLAG1.6;/有鍵按下,開顯示
CLREX0 ; /停止觸發(fā)
MOV A,SHIFT
CLRC
SUBB A,#4;/SHIFT 的范圍是 1~4,大于 4 歸 0,即按四次 SET鍵保存設(shè)置退出按鍵模式
JC KOUT
MOV SHIFT,#0
CLRFLAG1.3;
MOV A,AERF;/將導(dǎo)通角轉(zhuǎn)化為時(shí)間單位
MOV R5,A
MOV B,#9
DIVAB
MOV B,#2
MUL AB
MOV SCR,A
SETB EX0
AJMP KOUT
DISOC:MOV A,SHIFT;/顯示關(guān)程序,在按鍵調(diào)節(jié)狀態(tài)無(wú)效
JNZ KOUT
CPLFLAG1.6
AJMP KOUT
KOUT: MOV KTEMP,#0;/每次按鍵的結(jié)束要清該單元
AJMP SCRDIS;/1***************************
KADD: MOV A,SHIFT;/加處理程序
JZ KOUT
CJNE A,#1,ADDT
MOV R5,#1 ;/個(gè)位加 1
AJMP KADD1
ADDT: CJNE A,#2,ADDCON
MOV R5,#10;/十位加 1
AJMP KADD1
ADDCON: MOV R5,#100;/百位加 1
KADD1: MOV A,AERF
CLRC
ADDC A,R5
MOV R5,A
CLRC
SUBB A,#170;/最大值檢測(cè)
JC KADD2
MOV R5,#10
KADD2: MOV AERF,R5
AJMP KOUT
SCRDIS: MOV A,AERF;/導(dǎo)通角顯示處理,通過(guò)連續(xù)除 10,求的各位值
MOV B,#10
DIVAB
MOV DIS3,B
JB FLAG1.3,SHI;/按鍵狀態(tài)所以位都顯示,非按鍵狀態(tài),從左側(cè)不是零的那一位開始顯示
JZ GEDIS
SHI: MOV B,#10
DIVAB
MOV DIS2,B
JB FLAG1.3,BAI
JZ SHIDIS
BAI: MOV B,#10
DIVAB
MOV DIS1,B
JB FLAG1.3,QIAN
JZ BAIDIS
QIAN: MOV DIS0,A
AJMP HERE;
//;*******************
GEDIS: MOV DIS2,#10;
SHIDIS:MOV DIS1,#10
BAIDIS:MOV DIS0,#10
AJMP HERE;
//;*************
TMR0: PUSH PSW
PUSH ACC
DJNZ TM1T,RETIF;/定時(shí)時(shí)間到否?
SETB P3.0;/導(dǎo)通晶閘管
ACALL DELAY
CLRP3.0;/導(dǎo)通后關(guān)閉導(dǎo)通電壓
CLRET0;/每周期只導(dǎo)通一次,故關(guān)閉定時(shí)器 0
CLRTR0
RETIF: POP ACC
POP PSW
RETI;
//;************
TMR1: PUSH PSW
PUSH ACC
MOV TH1,#0F0H
MOV TL1,#60H;/恢復(fù)定時(shí)器 1 初值
SETB RS0;/選擇第二組 R 系列寄存器
DJNZ KDLY,T1DIS;/鍵盤掃描定時(shí)檢測(cè)
MOV KDLY,#25
SETB FLAG 1.7
CPLFLAG 1.5;/閃爍用
T1DIS: MOV P1,#00H;/每次更新顯示數(shù)據(jù)前要清顯示,以免花屏
JNB FLAG1.6,RETIF1;/顯示開關(guān)檢測(cè)
MOV DPTR,#LEDBTB;/查表
MOV A,DSPC;DSPC //動(dòng)態(tài)掃描位控制指針
MOVC A,@A+DPTR
MOV B,A
MOV A,P2
ANL A,#0F0H
ORL A,B
MOV P2,A
JNB FLAG1.3,TMR11;/檢測(cè)是否是按鍵狀態(tài),以決定是否進(jìn)行閃爍顯示
MOV A,#4
CLRC
SUBB A,SHIFT
CJNE A,DSPC,TMR11
JNB FLAG1.5,TMR11
MOV P1,#0;/閃爍,每 0.2 秒閃一次
AJMP TMR12
TMR11: MOV A,#DIS0
ADD A,DSPC
MOV R1,A
MOV A,@R1
MOV DPTR,#LEDTB
MOVC A,@A+DPTR
MOV P1,A
TMR12: DEC DSPC
JNB DSPC.7,RETIF1
MOV DSPC,#3;/DSPC 范圍是 0~3
RETIF1: CLRRS0
POP ACC
POP PSW
RETI
LEDTB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H;
LEDBTB: DB 14,13,11,7;/1*********** ;延時(shí)函數(shù),用于滿足晶閘管導(dǎo)通所需電流持續(xù)時(shí)間
DELAY: MOV R7,#5
DELAY1: MOV R6,#10
DELAY2: DJNZ R6,DELAY2
DJNZ R7,DELAY1
RET;/1************;外部中斷 0 中斷處理程序,啟動(dòng)定時(shí)器 0,設(shè)置導(dǎo)通角
INT_0: PUSH PSW
PUSH ACC;/以上現(xiàn)場(chǎng)保護(hù)
MOV TM1T,SCR;/scr存儲(chǔ)的是導(dǎo)通角
SETB ET0;/開定時(shí)器 0 中斷
SETB TR0;/開定時(shí)器 0
POP ACC ;/以下恢復(fù)現(xiàn)場(chǎng)
POP PSW
RETI;
//;**************
INIT: MOV SP,#60H;/設(shè)置中斷等現(xiàn)場(chǎng)保護(hù)的堆棧區(qū)
MOV TMOD,#12H;/定時(shí)器 0 和 1 設(shè)置,此處定時(shí)器 0 設(shè)置為工作方式 2,定時(shí)器 1 為方式 1
MOV TH0,#06H;12M //晶振,方式 2,定時(shí) 250us
MOV TL0,#06H
MOV TH1,#0F0H;/方式 1,定時(shí) 4ms,值由軟件計(jì)算,也可以根據(jù)公式原理自己計(jì)算。
MOV TL1,#60H
MOV SCR,#2;/開機(jī)設(shè)置導(dǎo)通角
MOV AERF,#0;
MOV SHIFT,#0;/清零鍵盤移位單元
SETB P3.3;/外部中斷 0 端口置 1
MOV FLAG1,#0;/清零標(biāo)志單元
SETB FLAG1.6;/置 1,開機(jī)顯示數(shù)據(jù)
SETB IT0;/下降沿中斷
SETB EX0;/開外部中斷 0
SETB ET1;/開定時(shí)器 1 中斷
SETB TR1;/開定時(shí)器 1
SETB EA;/開總中斷,此位不開,則所有中斷無(wú)效
RET
END
復(fù)制代碼
晶閘管觸發(fā)電路.7z
(60.28 KB, 下載次數(shù): 10)
2021-5-3 01:06 上傳
點(diǎn)擊文件名下載附件
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1