久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: [求助][討論]我是菜鳥剛?cè)腴T,請高手翻譯下以下程序匯編代碼。怎么樣用c語言編譯 [打印本頁]

作者: k1ng    時間: 2009-4-13 05:13
標題: [求助][討論]我是菜鳥剛?cè)腴T,請高手翻譯下以下程序匯編代碼。怎么樣用c語言編譯

老師發(fā)了個題目《基于單片機的遠程控制系統(tǒng)的設計》
我在網(wǎng)上找了篇
好像是畢業(yè)論文很完整(原文地址——http://blog.sina.com.cn/s/blog_4cc9241a0100ba00.html)

1.1 單片機初始化

單片機的存儲系統(tǒng)的分配利用在其工作過程中起非常大的作用,所以就必須對其進行必要的初始化。

程序代碼:

(1)片內(nèi)RAM初始化子程序

IBCLR: MOV  A,R0

MOV  R1,A

CLR  A

IBC1 :  MOV  @R1,A

INC  R1

DJNZ  R7,IBC1

RET

(2)片外RAM初始化子程序

EBCLR1: MOV  A,ADDPL

MOV  DPL,A

MOV  A,ADDPH

MOV  DPH,A

CLR  C

EBC11:   MOVX  @DPTR,A

INC  DPTR

DJNZ  R7,EBC11

RET

(3)片外RAM初始化子程序(雙字節(jié)單元)

EBCLR2: MOV  A,ADDPL

MOV  DPL,A

MOV  A,ADDPH

MOV  DPH,A

MOV  A,R7

JZ  EBC21

INC  R6

EBC21:   CLR  A

MOVX  @DPTR,A

INC  DPTR

DJNZ  R7,EBC21

DJNZ  R6,EBC21

RET

1.2 振鈴計數(shù)模塊

本單元是通過計數(shù)器T0的外部中斷方式來計數(shù)的。

程序代碼:

ORG  0090H

TT0: SETB 7DH

RETI

1.1 語音提示模塊

本功能模塊主要是產(chǎn)生信號提示音,方便不同的使用者。根據(jù)普通人耳的反應頻率為20Hz至20KHz的范圍,而CCITT規(guī)定的電話話音信號的頻率范圍是300Hz至3400Hz,所以在本功能單元的發(fā)聲頻率定為500Hz和1000Hz兩種。

主要分為五種提示音:

1、一聲低音,表示裝置已經(jīng)摘機,請輸入密碼,其參數(shù):頻率f=500Hz,延時t=0.5秒/聲;

2、兩聲低音,表示密碼已經(jīng)通過,請選擇電器,其參數(shù):頻率f=500Hz,延時t=0.5秒/聲;

3、三聲低音,表示電器已經(jīng)選定,請控制(開/關),其參數(shù):頻率f=500Hz,延時t=0.5秒/聲;

4、三聲高音,表示密碼輸入錯誤,其參數(shù):頻率f=1000Hz,延時t=0.3秒/聲;

5、一聲高音,表示控制已經(jīng)完成,其參數(shù):頻率f=1000Hz,延時t=0.3秒/聲;

提示音發(fā)生是使用有限循環(huán),反復使單片機的RXD口的電平反轉(zhuǎn),從而形成方波信號 。

子程序代碼:

ORG 1100H

RING10:MOV  R6,#20           ;請輸入密碼,

RING11:MOV  R7,#20           ;500Hz,

RING12:LCALL  DL10            ;發(fā)出提示音,1

CPL  P3.0                ;延時0.5s

DJNZ  R7,RING12

DJNZ  R6,RING11

CLR  P3.0

RET

ORG  1150H

RING20:MOV R3,#03

RING21:MOV  R6,#20           ;選擇電器,

RING22:MOV  R7,#20           ;500Hz,

RING23:LCALL  DL20            ;發(fā)出提示音2,

CPL  P3.0                ;延時0.3s

DJNZ  R7,RING23

DJNZ  R6,RING22

CLR  P3.0

MOV  R7,#200

RING24:LCALL  DL10

DJNZ  R7,RING24

DJNZ  R3,RING21

CLR  P3.0

RET

ORG  1200H

RING30:MOV  R3,#02

RING31:MOV  R6,#20           ;電器控制,

RING32:MOV  R7,#20           ;500Hz,

RING33:LCALL  DL10            ;發(fā)出提示音3,

CPL  P3.0                ;延時0.3s

DJNZ  R7,RING33

DJNZ  R6,RING32

CLR  P3.0

MOV  R7,#200

RING34:LCALL  DL10

DJNZ  R7,RING34

DJNZ  R3,RING31

CLR  P3.0

RET

ORG  1250H

RING40:MOV  R3,#03

RING41:MOV  R6,#20           ;輸入的密碼錯誤,

RING42:MOV  R7,#20           ;1000Hz,

RING43:LCALL  DL10            ;發(fā)出提示音4,

CPL  P3.0                ;延時0.3s

DJNZ  R7,RING43

DJNZ  R6,RING42

CLR  P3.0

MOV  R7,#100

RING44:LCALL  DL10

DJNZ  R7,RING44

DJNZ  R3,RING41

CLR  P3.0

RET

ORG  1300H

RING50:MOV  R6,#40            ;操作完成,

RING51:MOV  R7,#20            ;1000Hz,

RING52:LCALL  DL20             ;發(fā)出提示音5,

CPL  P3.0                 ;延時0.3s

DJNZ  R7,RING52

DJNZ  R6,RING51

CLR  P3.0

RET

ORG  1500H

DL10: MOV  R5,#25;delay=1.25ms,f=500HZ,fosc=12MHz

DL12: MOV  R4,#2

DL11: DJNZ  R4,DL11

DJNZ  R5,DL12

RET

ORG  1600H

DL20: MOV  R5,#12;delay=0.625ms,f=1000HZ,fosc=12MHz

DL22: MOV  R4,#25

DL21: DJNZ  R4,DL21

DJNZ  R5,DL22

RET

ORG  1650H

DL30:MOV  R5,#50               ;delay=20ms

DL32:MOV  R4,#200

DL31:DJNZ  R4,DL31

DJNZ  R5,DL32

RET

 

1.1 密碼檢測模塊

本系統(tǒng)密碼校驗的基本原理是:在系統(tǒng)初始化的時候把原始密碼寫入地址為30H開始的存儲空間內(nèi),密碼的位數(shù)“5”賦給R7。當系統(tǒng)摘機時,要求輸入密碼,單片機把解碼后的數(shù)據(jù)(使用者輸入的密碼)存儲在38H開始的存儲空間內(nèi)。然后單片機對兩個存儲地址的內(nèi)容逐位進行比較,直到完全相等才能轉(zhuǎn)到下一進程,有一位不同,程序就跳轉(zhuǎn)到出錯提示的子程序。

子程序代碼:

ORG  0150H

HOKE:CLR  7DH

SETB  P3.1                     ;自動摘機

CLR  TR0                      ;啟動中斷T0

MOV  R2,#03H                ;輸入密碼三次錯誤

LCALL  RING10                ;請輸入密碼

IN:    CLR  7EH                      ;7EH置零

DTMF:MOV  R7,#5H                 ;輸入密碼位數(shù)5到R7

MOV  R1,#38H                 ;信號音

SETB  P1.4

SETB  P1.5

SETB  P1.6

SETB  P1.7

WAIT:JBC  7EH,CC                   ;等待中斷INT0

LJMP  WAIT

CC:  MOV  R7,#5H                   ;輸入的5位密碼*****

MOV  R0,#30H                  ;調(diào)出原始密碼

MOV  R1,#38H                  ;信號音

CMP:MOV  A,@R1

MOV  R4,A

CLR  C

MOV  A,@R1

SUBB  A,@R0                   ;比較密碼

INC  R0

INC  R1

JZ  AAA                          ;OK,一位密碼通過

LJMP  QQ

AAA:DJNZ  R7,CMP                  ;R7-1!=0

LJMP  LL                        ;密碼通過

QQ: DJNZ  R2,IN1                   ;密碼錯誤&R2!=0

LCALL  RING20

LJMP  STOP

IN1: LCALL  RING20                  ;密碼錯誤,請重試!

LJMP  IN

 

1.1 密碼修改模塊

本系統(tǒng)是通過在線輸入密碼而改變特定存儲器中的密碼值的。

程序代碼:

ORG  1700H

KEYIN:SETB  RS1                    ;當前工作寄存器第二工作區(qū)

CLR  RS0

ANL  A,#00H                  ;清零A寄存器

MOV  B,#05H

LCALL  RING10                 ;發(fā)提示音:輸入密碼***

MOV  R7,#5H

MOV  R1,#38H

WPIN:  JBC  7EH,READ                ;等待INT0中斷

LJMP  WPIN

READ: MOV  R1,#38H

MOV  R0,#40H

MOV  R7,#05H

READ1:MOV  A,@R1

MOV  @R0,A

INC  R0

INC R1

DJNZ  R7,READ1              ;判斷輸入密碼是否為5位,否

;跳轉(zhuǎn)READ1

LCALL  RING10                 ;滿5位,發(fā)提示音:再輸入

;新密碼

MOV  R7,#5H

MOV  R1,#38H

WRE:  JBC  7EH,KEYCMP             ;等待中斷INT1

LJMP  WRE

KEYCMP:MOV  R6,#05H

MOV  R0,#40H

MOV  R1,#38H

KEYCP:MOV  A,@R0

CLR  C

SUBB  A,@R1                 ;A減((R1))

INC  R1

INC  R0

JZ  BBB                       ;A的內(nèi)容如果為0,則跳轉(zhuǎn)BBB

LJMP  LL

BBB:   DJNZ R6,KEYCP            ;R6減1不為0,則跳轉(zhuǎn)KEYCP,

;即循環(huán)比較密碼的五位

MOV  R1,#38H

MOV  R0,#30H

MOV  R6,#5H

KEYREIN:MOV  A,@R1

MOV  @R0,A

INC  R1

INC  R0

DJNZ:R6,KEYREIN                 ;R6減1不為0,則跳轉(zhuǎn),即循

;環(huán)比較密碼的五位

LCALL  RING50               ;發(fā)提示音:新密碼已經(jīng)設置

LJMP  STOP

RET





匯編還沒學過。就學了點C++麻煩高手們給看看
怎么用c語言來編譯。。
謝謝啦

作者: k1ng    時間: 2009-4-14 00:21
ziji dingge
作者: phoneixgu    時間: 2009-6-24 15:13
ziji gaoding
作者: hg1949    時間: 2009-6-30 21:18
工程夠大了,建議直接找c的例子
作者: xldlovemch    時間: 2009-8-26 17:12
哈哈偶原來一直用匯編,現(xiàn)在才開始用c,無能為力哦!
作者: DEMO    時間: 2009-8-26 19:12
學習




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久一区 | 成人精品一区二区三区中文字幕 | 国产乱码精品一区二区三区中文 | 亚洲精品久久久久国产 | 日本福利一区 | 亚洲精品久久久一区二区三区 | 日本xx视频免费观看 | 成人午夜视频在线观看 | 欧美一级在线观看 | 丝袜美腿av| 亚洲国产精久久久久久久 | 成人在线欧美 | 国产电影一区 | 成人欧美一区二区三区在线观看 | 欧美日韩一二三区 | 国产欧美久久一区二区三区 | 欧美精品免费观看二区 | 日韩欧美不卡 | 日日摸夜夜添夜夜添精品视频 | 久久最新精品视频 | 国产精品揄拍一区二区久久国内亚洲精 | 亚洲国产精品视频 | 国产中文视频 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 99久久精品免费看国产四区 | cao在线| 国产视频精品在线观看 | 亚洲综合大片69999 | 国产传媒毛片精品视频第一次 | 一级在线观看 | 日韩视频在线观看 | 久久久久亚洲精品 | 欧美中国少妇xxx性高请视频 | 亚洲一区视频 | 天天成人综合网 | 91啪影院 | 91视频a | 国产日韩久久 | 久久手机视频 | 久久综合一区二区三区 | 91久久国产综合久久91精品网站 |