久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機匯編語言的直流電機三極管放大調速數碼管不亮
[打印本頁]
作者:
256202
時間:
2019-1-10 09:23
標題:
單片機匯編語言的直流電機三極管放大調速數碼管不亮
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(21.72 KB, 下載次數: 11)
下載附件
2019-1-10 17:46 上傳
單片機源程序如下:
;AD轉換的數據在20H-25H,讀出的數據在24H
ACK BIT 20H.0 ;應答標志位ACK=0表示無應答
SCL BIT P2.0 ;時鐘線
SDA BIT P2.1 ;數據線
WADD EQU 21H ;器件地址(從地址)
SUBD EQU 22H ;器件內部地址(子地址)
NUMBR EQU 23H ;需讀取的字節數
RDATA EQU 25H ;讀出數據的存放首地址
QJCSH: MOV 20H,#00H
MOV 21H,#00H
MOV 22H,#00H
MOV 23H,#00H
MOV 24H,#00H
MOV 25H,#00H
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV 33H,#00H
MOV TMOD,#51H
MOV TL0,#00H
MOV TH0,#4CH
MOV TL1,#00H
MOV TH1,#00H
SETB EA
SETB ET0
SETB ET1
RET
LJMP START
ORG 000BH
LJMP IT0P
ORG 001BH
LJMP IT1P
ORG 0100H
START: MOV SP,#60H
MOV SCON,#00H
LCALL QJCSH;???
;ad轉換子程序
DQAD: MOV WADD,#90H ;寫入PCF8591的地址
MOV SUBD,#40H ;寫入PCF8591的控制字
MOV NUMBR,#1 ;寫入需讀取的字節數
MOV RDATA,#24H ;送入首地址
LCALL READI2C ;讀PCF8591子程序
MOV A,24H
;從I2C總線讀取N個字節數據子程序
READI2C:LCALL STARTI2C ;啟動I2C總線
MOV A,WADD ;送入器件地址
LCALL WI2C ;向I2C總線發送一個字節數據子程序
LCALL RACK ;讀取從機應答子程序
JNB ACK,ROUT ;判斷從機有無應答ACK=0則無應答
MOV A,SUBD ;?送入器件內部地址
LCALL WI2C
LCALL RACK
LCALL STARTI2C
MOV A,WADD
INC A
LCALL WI2C
LCALL RACK
JNB ACK,READI2C
MOV R0,RDATA
RI2C2: LCALL RI2C
MOV @R0,A
DJNZ NUMBR,RI2C1
LCALL NMACK
ROUT: LCALL STOPI2C
MOV RDATA,#24H
RET
RI2C1: LCALL MACK
INC R0
SJMP RI2C2
;I2C?總線啟動子程序
STARTI2C:SETB SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SDA
NOP
NOP
NOP
NOP
NOP
CLR SCL
RET
;I2C總線停止子程序
STOPI2C:CLR SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
SETB SDA
RET
;主機應答子程序
MACK: CLR SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
RET
;主機非應答子程序
NMACK: SETB SDA
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
RET
;向I2C總線發送一個字節數據子程序
WI2C: MOV R7,#8
WLP: RLC A
MOV SDA,C
NOP
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
DJNZ R7,WLP
RET
;從I2C總線讀取一個字節數據子程序
RI2C: MOV R7,#8
CLR A
SETB SDA
NOP
RLP: SETB SCL
NOP
NOP
MOV C,SDA
NOP
CLR SCL
RLC A
NOP
NOP
NOP
NOP
DJNZ R7,RLP
NOP
RET
;讀取從機應答子程序
RACK: SETB SDA
NOP
NOP
SETB SCL
CLR ACK
NOP
NOP
MOV C,SDA
JC ACKEND
SETB ACK
ACKEND: NOP
CLR SCL
NOP
RET
;DA轉換程序
ORG 1000H ;000000000000000000000
DAZH: CLR P2.4
SETB P2.5
CLR P2.6
MOV R0,#0FEH
MOVX @R0,A
RET
;測速程序
ORG 0000H
RESET: LJMP CESU
CESU: MOV SP,#60H
MOV B,#14H
MOV R0,#00H
MOV R1,#70H
MOV TMOD,#51H
MOV TL0,#00H
MOV TH0,#4CH
MOV TL1,#00H
MOV TH1,#00H
SETB ET0
SETB ET1
SETB EA
SETB TR0
SETB TR1
HERE: SJMP HERE
IT0P: MOV TL0,#00H
MOV TH0,#4CH
DJNZ B,RTURN
CLR TR0
SETB F0
IT1P: MOV R1,TH1
MOV R0,TL1
MOV B,3CH ;60的16進制
MOV A,R0
MUL AB ;1s轉速轉換成1min轉速
MOV R1,B
MOV R0,A
MOV A,R0
ANL A,#0FH
MOV 30H,A
MOV A,R0
SWAP A
ANL A,#0FH
MOV 31H,A
MOV A,R1
ANL A,#0FH
MOV 32H,A
MOV A,R1
SWAP A
ANL A,#0FH
MOV 33H,A
CLR TR1
SETB F0
RTURN: RETI
;顯示程序
XS: CLR TI
MOV R0,#30
MOV R1,#4
SEND: MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
DJNZ R1,SEND
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
END
復制代碼
全部資料51hei下載地址:
1.rar
(141.45 KB, 下載次數: 13)
2019-1-10 09:22 上傳
點擊文件名下載附件
作者:
256202
時間:
2019-1-10 09:24
請大家幫幫忙,壓縮包里是圖和程序,麻煩大家了
作者:
ahshmj
時間:
2019-1-10 14:34
本帖最后由 ahshmj 于 2019-1-10 17:24 編輯
你的程序寫的問題較多。最嚴重的是,"QJCSH"怎么放到了最前面?又沒有指定程序在程序存儲器的位置,自然就從0000H開始寫入。
以下的程序就沒地方寫了:
LJMP START
ORG 000BH
LJMP IT0P
ORG 001BH
LJMP IT1P
ORG 0100H
另外: LJMP START 這一句的前面應該有: ORG 0000H (意思是第一個字節就是跳轉到 START)單片機上電或啟動以后是從這里開始執行程序。
你好像還需要繼續打牢基本功。
作者:
Y_G_G
時間:
2019-1-10 18:53
看樣子應該是從C過來學匯編的
匯編代碼的位置和硬件是有很大關系的
首先:
ORG 00H
JMP START
ORG 003H ;聲明INT0中斷向量,也就是中斷地址
JMP XXXX ;去中斷處理程序
ORG 00BH ;聲明INT1中斷向量
JMP XXXX _1 ;去中斷處理程序
ORG 100H
START: STARTD在這里相當于一個地址,在JMP START到ORG 100H之間不能有其它代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
色av一区
|
日韩精品一区二区三区中文字幕
|
欧美精品一区二区免费
|
激情国产在线
|
一区二区三区在线看
|
国产精品久久久久久久久久久免费看
|
久久国产免费看
|
激情婷婷
|
亚洲精品久久久蜜桃网站
|
久久性色
|
另类 综合 日韩 欧美 亚洲
|
网站黄色在线
|
午夜精品久久久久久久久久久久
|
tube国产
|
天天综合91
|
亚洲精品日韩在线观看
|
亚洲视频中文字幕
|
国产午夜精品久久久久
|
九九激情视频
|
91精品久久久
|
亚洲日本视频
|
欧美精品福利
|
天天爽夜夜骑
|
在线视频成人
|
成年人视频在线免费观看
|
欧洲免费视频
|
国产黄色在线观看
|
久久综合久
|
国产精品夜色一区二区三区
|
亚洲三区在线观看
|
日韩午夜网站
|
在线观看精品视频网站
|
亚洲综合成人网
|
污污的网站在线观看
|
亚洲精品1
|
国产福利在线
|
国产a一区二区
|
www.青青草
|
久久国产精99精产国高潮
|
91久久久久久久久久久
|
国产亚洲欧美另类一区二区三区
|