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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2903|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

很急需要幫忙 關(guān)于電子鐘彙編語(yǔ)言

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:139514 發(fā)表于 2017-1-2 17:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
100黑幣
寫(xiě)電子鐘彙編語(yǔ)言,發(fā)射端發(fā)射4個(gè)數(shù)字到接收端的數(shù)碼管顯示四位數(shù)字,分別是分和秒各兩位數(shù),
發(fā)射端:TIMER0是寫(xiě)發(fā)射數(shù)字的判別式,TIMER1是配合串列埠模式1,SERIES是串列埠中斷接收端:LOOP是接端數(shù)字的判別式,接收一個(gè)BYTE,高位元是位數(shù),低位元是數(shù)字,
TIMER0是顯示四位數(shù)字,SERIERS是串列埠中斷
程式寫(xiě)不出來(lái)需要幫忙,發(fā)射端的TIMER0暫時(shí)寫(xiě)秒的個(gè)位和十位,接收端的判別
數(shù)字接收過(guò)來(lái)的判別式已經(jīng)寫(xiě)好了,但是數(shù)字送過(guò)去依然失敗,接收端的TIMER0
程式?jīng)]有任何錯(cuò)誤,可以在數(shù)碼管顯示數(shù)字,請(qǐng)神人幫忙完成越快越好
我用兩塊一樣的開(kāi)發(fā)粄~

發(fā)射端程式:
                q1 EQU 31H  ;個(gè)位
                q2 EQU 32H  ;十位                                


        
                ORG 0000H
                AJMP START
                ORG 000BH
                AJMP TIMER0                                
                ORG 001BH
                AJMP TIMER1
                ORG 0023H
                AJMP SERIES               
                                

START:        MOV IP,#00011010B ;中斷優(yōu)先權(quán)有:串列埠.計(jì)數(shù)器1.計(jì)數(shù)器0
                MOV IE,#10010010B ;中斷開(kāi)啟有:總開(kāi)關(guān).串列埠.計(jì)數(shù)器0
                MOV SCON,#01000000B ;串列埠模式1,不可接收資料
                MOV        TMOD,#00100010B ;計(jì)數(shù)器1模式2,計(jì)數(shù)器0模式2
                MOV TCON,#11110000B ;計(jì)數(shù)器1開(kāi)啟,計(jì)時(shí)器0溢位旗標(biāo),計(jì)時(shí)器0開(kāi)啟
                SETB TR0 ;開(kāi)啟計(jì)數(shù)器0
                MOV  TH1,#253        ;設(shè)定計(jì)時(shí)器1的值,鮑率=9600
                SETB TR1        ;開(kāi)啟計(jì)數(shù)器1                                
                MOV DPTR,#TABLE ;DPTR指向數(shù)碼管資料區(qū)                        
                        MOV q1,#00H ;個(gè)位,判別位數(shù)=0,數(shù)字=0                                
                        MOV q2,#10H ;十位,判別位數(shù)=1,數(shù)字=0        

LOOP: sjmp loop         
;---------------------------------------------------
TIMER0:  
                PUSH ACC
                CLR TR0     ;關(guān)閉計(jì)數(shù)器0
                MOV TH0,#6
                MOV TL0,#6
               
               
                djnz r4,k0       ; 延遲時(shí)間
                mov r4,#100   ;
                djnz r5,k0       ;
                mov r5,#2      ;

                                          ;q1=00,00~09    q2=10,10~15
                mov a,q1    ;q1=要發(fā)射的個(gè)位   
                inc a
                mov q1,a
                cjne a,#0ah,k1  ; 發(fā)射個(gè)位的式子,發(fā)射0~9是跑到k1
                mov a,#00h     ;當(dāng)發(fā)射個(gè)位超過(guò)0a時(shí)會(huì)歸零
                mov q1,a        
                mov sbuf,a   ;發(fā)射個(gè)位等於0時(shí)
                acall delay
                                
                mov a,q2    ;q2=要發(fā)射的十位
                inc a
                mov q2,a
                cjne a,#16h,k1        ; 發(fā)射十位的式子,發(fā)射0~5是跑到k1                                                        
                mov a,#10h       ;把十位數(shù)歸零,但判別位數(shù)還是1
                mov q2,a
                mov sbuf,a
                acall delay

k0:                setb tr0
                pop acc
                reti          ;返回主程式
k1:        
                mov sbuf,a     ;發(fā)射數(shù)字
                acall delay
                        
                setb tr0
                pop acc
                reti     ;返回主程式
;---------------------------------------------------
TIMER1:                                                
                PUSH ACC                        
                CLR TR1                                
                                                               
                MOV TH1,#253        
                SETB TR1        
                POP ACC               
                RETI               
;---------------------------------------------------
SERIES:        
                JNB TI,RECEIVE ;判斷是否傳送完畢,如果否,就是接收完畢中斷
                CLR TI
                RETI
RECEIVE:               
               
                CLR RI        ;清除接收中斷旗標(biāo)               
                MOV A,SBUF
                RETI
;---------------------------------------------------
TABLE:  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ; 數(shù)字0~9                                       
        
DELAY:        MOV R6,#250    ;延遲的副程式
DL1:        MOV R7,#200
DL2:        DJNZ R7,DL2
                DJNZ R6,DL1
                RET
               
                END



以下是接收端的程式:


        ScanLine                 EQU  22H   ;掃描信號(hào)
        packet                equ  23h    ;接收數(shù)字的寄存器

                                                
                        
                        ORG  0000H
                        AJMP START
                        ORG  000BH
                        AJMP TIMER0
                        ORG 0023H
                        AJMP SERIES
               



START:         MOV IP,#00011010B ;中斷優(yōu)先權(quán):串列埠.計(jì)數(shù)器1.計(jì)數(shù)器0
                MOV IE,#10011010B ;中斷致能:總開(kāi)關(guān)開(kāi)啟.串列埠.計(jì)數(shù)器1.計(jì)數(shù)器0
                MOV        SCON,#01010000B ;串列埠模式1,REN=1可接收資料
                MOV        TMOD,#00100001B ;計(jì)數(shù)器1模式2,計(jì)數(shù)器0模式1
                MOV TCON,#11110000B ;-計(jì)數(shù)器1溢位+啟動(dòng),計(jì)數(shù)器0溢位+啟動(dòng)
                MOV TH0,#0ECH
                MOV TL0,#78H
                SETB TR0 ;-計(jì)數(shù)器0開(kāi)啟
                SETB EA
                SETB ET0
                SETB ET1
                MOV         TH1,#253        ;計(jì)數(shù)器1模式自動(dòng)在載入253,鮑率=9600                        
                SETB TR1                ;開(kāi)啟記數(shù)器1
                SETB TR0 ;開(kāi)啟記數(shù)器0        
                        MOV SP,#60H ;SP堆疊暫存器指向位置60H
                        MOV ScanLine,#11110111B         ;掃描信號(hào)初值
                        MOV DPTR,#TABLE        ;DPTR指向數(shù)碼管資料區(qū)
                        MOV R0,#30H                ;四位數(shù)資料區(qū)
                        MOV 30H,#00                ;個(gè)位歸零
                        MOV 31H,#00                ;十位歸零
                        MOV 32H,#00                ;百位歸零
                        MOV 33H,#00            ;千位歸零
                        mov packet,#00         ;接收數(shù)字的寄存器

loop:
        
        mov packet,sbuf ; 把接收的數(shù)字放到packet的寄存器裡面                                                                                   
        mov a,packet     ;把數(shù)字放到累積器a裡面
        anl a,#0f0h  ;把數(shù)字過(guò)濾個(gè)位數(shù)字,會(huì)剩下位數(shù)        
        cjne a,#00h,k1 ;判別是否為個(gè)位數(shù)字,若不是則跳k1副程式
        anl packet,#0fh ;把接收到個(gè)位數(shù)字的位數(shù)歸零留下數(shù)字
        mov r1,#30h
        mov @r1,packet   ;把濾除後留下的數(shù)字放入r1裡面即可顯示數(shù)字
        ajmp loop
k1:               
        cjne a,#10h,k2 ;判別是否為十位數(shù)字,若不是則跳k2副程式
        anl packet,#0fh ;把接收到十位數(shù)字的位數(shù)歸零留下數(shù)字
        inc r1         ;r1=31h
        mov @r1,packet   ;把濾除後留下的數(shù)字放入r1裡面即可顯示數(shù)字
        ajmp loop
               
k2: ajmp loop

TIMER0:         
                PUSH ACC
                CLR  TR0     ;關(guān)閉計(jì)數(shù)器0
                MOV TH0,#0F4H   ;重新設(shè)定計(jì)數(shù)器0的數(shù)值
                MOV TL0,#078H        
                MOV A,@R0          ;載入時(shí)間資料
                MOVC A,@A+DPTR        ;將BCD碼轉(zhuǎn)成顯示碼
                MOV P0,A              ;將顯示碼送到P0
                INC R0                        ;下一位數(shù)        
                MOV A,ScanLine      
                MOV P2,A           ;輸出掃描信號(hào)
                RR A              ;掃描下一行
                MOV ScanLine,A   ;更新掃描信號(hào)
                CJNE A,#10111111B,ti00   ;已經(jīng)掃描完四位數(shù)?
                MOV R0,#30H                ;重新設(shè)定緩衝區(qū)位址30H               
                MOV ScanLine,#11110111B  ;重新設(shè)定掃描信號(hào)

ti00:        SETB TR0
                POP  ACC                        
                RETI    ;返回主程式
        
;---------------------------------------------------
SERIES:                                          
                        JNB TI,RECEIVE
                        CLR TI
                        RETI
RECEIVE:                                                                                                                  
                        CLR RI         
                        MOV        A,SBUF                                                
                        mov packet,a
                        RETI
;--------------------------------------------------------
TABLE:        DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;0~9               

DELAY:        MOV R6,#250    ;延遲副程式
DL1:        MOV R7,#200
DL2:        DJNZ R7,DL2
        DJNZ R6,DL1
        RET
               
        END


51 AVR最小系統(tǒng).pdf

656.92 KB, 下載次數(shù): 10

開(kāi)發(fā)粄電路

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:7485 發(fā)表于 2017-1-2 22:03 | 只看該作者
你的程序我沒(méi)看完。不知道你的計(jì)數(shù)源是什么?分、秒是怎么產(chǎn)生的。你的學(xué)習(xí)板上的晶振是多少的?波特率對(duì)不對(duì)??jī)蓧K板子是怎么連接的,連接線多長(zhǎng)?
但是,
C/T1做波特率發(fā)生器不應(yīng)該開(kāi)中斷,更沒(méi)有中斷優(yōu)先權(quán)。中斷程序“TIMER1”也不需要。包括接收端和發(fā)送端
//發(fā)送端可以不開(kāi)串口中斷。
回復(fù)

使用道具 舉報(bào)

板凳
ID:139514 發(fā)表于 2017-1-3 09:34 | 只看該作者
分和秒的產(chǎn)生是用發(fā)送端的TIMER0,晶振11.0592,發(fā)射端的TXD接腳用杜邦線接到
接收端的RXD街角,波特率我算過(guò)了正確無(wú)誤,板子是YL-39開(kāi)發(fā)版,兩個(gè)開(kāi)發(fā)版,只是
將發(fā)射端發(fā)射數(shù)字到接收端那裏顯示數(shù)字,請(qǐng)問(wèn)C/T1是指發(fā)射端還是接收端??
謝謝你下面給我的意見(jiàn),有些東西不需要我卻打上去,抱歉我是新手,感謝你給我的意見(jiàn)
回復(fù)

使用道具 舉報(bào)

地板
ID:613800 發(fā)表于 2019-9-25 10:12 | 只看該作者
很詳細(xì)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美电影免费观看 | 久久九九免费 | 二区不卡 | 国产一区二区三区视频 | 亚洲一区日韩 | 涩涩鲁亚洲精品一区二区 | 亚洲免费视频网站 | 国产精品视频中文字幕 | 黄色免费av | 日韩成人在线一区 | 欧美日韩精品一区二区三区四区 | 久久三区| 国产精品观看 | 免费视频久久 | 日韩欧美精品在线 | 91视频日本 | 在线观看视频中文字幕 | 久久久av一区 | 欧美精品一区二区在线观看 | 欧美一级毛片在线播放 | 久久蜜桃资源一区二区老牛 | 蜜桃一区二区三区 | 人人干天天干 | 久久久精品视频免费 | 福利片在线观看 | 久久精品免费一区二区 | 国产一区中文 | 久久精品久久久久久 | 天堂视频中文在线 | 国产激情精品一区二区三区 | 午夜影院在线观看视频 | 日韩一区二区三区在线观看 | 欧美一区2区三区3区公司 | 国产在线不卡视频 | 欧美综合一区二区三区 | 久久久精品一区 | 精品综合网 | 欧美精品乱码久久久久久按摩 | 免费三级网站 | 国产不卡一区 | 欧美一区二 |