欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開始

搜索

51單片機(jī)“出租車計(jì)費(fèi)器”proteus仿真 附原理圖和匯編語(yǔ)言代碼

查看數(shù): 11895 | 評(píng)論數(shù): 19 | 收藏 7
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2020-5-25 08:36

正文摘要:

這是我大二輔修計(jì)算機(jī)學(xué)院?jiǎn)纹瑱C(jī)的最終任務(wù) 上大學(xué)以來(lái)第一次獨(dú)立完成這樣的任務(wù)(大二下學(xué)期完成了這個(gè)任務(wù))特別感謝我的伙伴Mr.關(guān) @黑河豚 備注:代碼共300多行,難以忘記那時(shí)候和黑河豚天天打代碼,不過最終漂 ...

回復(fù)

ID:832704 發(fā)表于 2020-10-27 10:20
請(qǐng)問一下,你的代碼是在哪個(gè)軟件運(yùn)行的呢
ID:697394 發(fā)表于 2020-7-17 10:24
唐吉坷德 發(fā)表于 2020-7-16 17:42
為什么有那個(gè)DispTable:        
      DB   3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH ,0BFH, 8 ...

這是用于顯示數(shù)字和帶小數(shù)點(diǎn)的數(shù)字的表格,每一個(gè)數(shù)都代表著一個(gè)可以用于數(shù)碼管顯示的字符,如:“1,2,3,4等等”
可以了解一下數(shù)碼管顯示的原理
ID:785223 發(fā)表于 2020-7-16 17:42
為什么有那個(gè)DispTable:        
      DB   3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH ,0BFH, 86H, 0DBH, 0CFH, 0E6H, 0EDH, 0FDH, 87H, 0FFH, 0EFH
ID:697394 發(fā)表于 2020-7-2 10:00
唐吉坷德 發(fā)表于 2020-7-1 12:08
$NOMOD51
$INCLUDE (8051.MCU)
具體指什么

這是創(chuàng)建proteus AT89C51工程自帶的代碼
8051.MCU定義了一些寄存器的名稱,更方便使用
;   8051 processor definition file
;   ==============================

P0        DATA        080H
SP        DATA        081H
DPL        DATA        082H
DPH        DATA        083H
PCON        DATA        087H
TCON        DATA        088H
TMOD        DATA        089H
TL0        DATA        08AH
TL1        DATA        08BH
TH0        DATA        08CH
TH1        DATA        08DH
P1        DATA        090H
SCON        DATA        098H
SBUF        DATA        099H
P2        DATA        0A0H
IE        DATA        0A8H
P3        DATA        0B0H
IP        DATA        0B8H
PSW        DATA        0D0H
ACC        DATA        0E0H
B        DATA        0F0H

IT0        BIT        088H
IE0        BIT        089H
IT1        BIT        08AH
IE1        BIT        08BH
TR0        BIT        08CH
TF0        BIT        08DH
TR1        BIT        08EH
TF1        BIT        08FH
RI        BIT        098H
TI        BIT        099H
RB8        BIT        09AH
TB8        BIT        09BH
REN        BIT        09CH
SM2        BIT        09DH
SM1        BIT        09EH
SM0        BIT        09FH
EX0        BIT        0A8H
ET0        BIT        0A9H
EX1        BIT        0AAH
ET1        BIT        0ABH
ES        BIT        0ACH
EA        BIT        0AFH
RXD        BIT        0B0H
TXD        BIT        0B1H
INT0        BIT        0B2H
INT1        BIT        0B3H
T0        BIT        0B4H
T1        BIT        0B5H
WR        BIT        0B6H
RD        BIT        0B7H
PX0        BIT        0B8H
PT0        BIT        0B9H
PX1        BIT        0BAH
PT1        BIT        0BBH
PS        BIT        0BCH
P        BIT        0D0H
OV        BIT        0D2H
RS0        BIT        0D3H
RS1        BIT        0D4H
F0        BIT        0D5H
AC        BIT        0D6H
CY        BIT        0D7H

RESET        CODE        000H
EXTI0        CODE        003H
TIMER0        CODE        00BH
EXTI1        CODE        013H
TIMER1        CODE        01BH
SINT        CODE        023H
ID:795235 發(fā)表于 2020-7-1 23:20
你好,在一開始定義常數(shù)的時(shí)候輪胎周長(zhǎng)1.83是0B7H,計(jì)費(fèi)的起步價(jià)8是0320H,超出的費(fèi)用2.6是1AH,它們變換的程度不同,在十六進(jìn)制——BCD碼——十進(jìn)制的過程,小數(shù)點(diǎn)的位置是怎么控制到正確顯示結(jié)果的呢?小白實(shí)在不懂,不知道有沒有把問題問清楚,期待大神解答
ID:785223 發(fā)表于 2020-7-1 12:08
$NOMOD51
$INCLUDE (8051.MCU)
具體指什么
初學(xué)小白 望大神指導(dǎo)一下
ID:697394 發(fā)表于 2020-6-29 08:14
Jeff_BlindCat 發(fā)表于 2020-6-27 12:13
匯編菜鳥的菜鳥悄悄的來(lái)膜拜下,還是繼續(xù)先把俺滴C鼓搗明白吧。

加油!
ID:697394 發(fā)表于 2020-6-28 14:46
1142892859 發(fā)表于 2020-6-26 15:01
里程超過10的時(shí)候費(fèi)用溢出了吧

啊!跑了一下發(fā)現(xiàn)確實(shí)有這個(gè)bug,交項(xiàng)目的時(shí)候沒發(fā)現(xiàn),謝謝你提醒我這個(gè)bug!
ID:495287 發(fā)表于 2020-6-27 12:13
匯編菜鳥的菜鳥悄悄的來(lái)膜拜下,還是繼續(xù)先把俺滴C鼓搗明白吧。
ID:631912 發(fā)表于 2020-6-26 15:01
里程超過10的時(shí)候費(fèi)用溢出了吧
ID:697394 發(fā)表于 2020-6-20 16:07
Hibari 發(fā)表于 2020-6-15 19:32
那個(gè)波形器怎么找啊

運(yùn)行過程中:
調(diào)試-VSM signal generator
即可
ID:697394 發(fā)表于 2020-6-20 15:58
Stranger-- 發(fā)表于 2020-6-12 12:36
你好,請(qǐng)問一下為什么Bin那里的R7設(shè)置為24嗎

不好意思,這一段十六進(jìn)制變?yōu)锽CD碼的代碼是我?guī)煾到y(tǒng)一提供的,說(shuō)來(lái)慚愧,具體原理我還不清楚
這是師傅的原始代碼
;如果有需要,認(rèn)真仿真此程序

cDisplayBuffer        EQU                30H                ;在顯示的內(nèi)容在30H-37H
cDisplayBit                EQU                38H                ;當(dāng)前顯示的位
cCount                        EQU                40H
               ORG           0000H
                LJMP        Main
               

Main:
                MOV                42H,#5BH        ;把此兩內(nèi)存改為其它值,分析44H,45H,46H的內(nèi)容
                MOV                43H,#4AH

                MOV                R0,#42H                ;42H為高位字節(jié),43H為低位字節(jié)
                MOV                R1,#44H               
                LCALL        BinDec                ;結(jié)果為6位BCD碼,仔細(xì)分析 44H,45H,46H的內(nèi)容
               
               
               
                SJMP                $
                


;---------------BinDec---------------------------
; 把雙字節(jié)的十六進(jìn)制數(shù)轉(zhuǎn)換為BCD碼
; 輸入:  R0 - 十六進(jìn)制數(shù)的高字節(jié)地址
;        R1 - 轉(zhuǎn)換后BCD碼的高位地址
BinDec:
                CLR             A
        MOV             @R1,A
                INC             R1
                MOV             @R1,A
                INC             R1
                MOV             @R1,A
                PUSH            7
                MOV             R7,#16
BD1:
                CLR             C
                INC             R0
                MOV             A,@R0
                RLC             A
                MOV             @R0,A
                DEC             R0
                MOV             A,@R0
                RLC             A
                MOV             @R0,A

                PUSH            1
                MOV             A,@R1
                ADDC            A,@R1
                DA              A
                MOV             @R1,A
                DEC             R1
                MOV             A,@R1
                ADDC            A,@R1
                DA              A
                MOV             @R1,A
                DEC             R1
                MOV             A,@R1
                ADDC            A,@R1
                DA              A
                MOV             @R1,A
                POP             1

                DJNZ            R7,BD1
                POP             7

                RET
;---------------BinDec---------------------------






                END
ID:779601 發(fā)表于 2020-6-15 19:32
那個(gè)波形器怎么找啊
ID:775953 發(fā)表于 2020-6-12 12:36
你好,請(qǐng)問一下為什么Bin那里的R7設(shè)置為24嗎
ID:697394 發(fā)表于 2020-5-30 17:34
rofgmd 發(fā)表于 2020-5-29 15:31
你好,可以請(qǐng)想問一下存到內(nèi)存那段程序的思路嘛,例如以下這段程序
nextMilage:
      MOV A,47H

里程思路:利用INT0號(hào)中斷在中斷進(jìn)程中使得寄存器R3每中斷一次加一,加滿后向R4進(jìn)位,然后乘以表示輪胎周長(zhǎng)的常量Circumference,經(jīng)過換算后就可以得到十進(jìn)制的里程數(shù),再將其轉(zhuǎn)移到相應(yīng)的顯示內(nèi)存中。
這段程序是將換算為10進(jìn)制BCD碼的里程(45H,46H,47H)通過除以#10來(lái)取十位,個(gè)位,并且存入相應(yīng)的顯示單元(34H,35H,36H,37H)
ID:763766 發(fā)表于 2020-5-29 15:31
你好,可以請(qǐng)想問一下存到內(nèi)存那段程序的思路嘛,例如以下這段程序
nextMilage:
      MOV A,47H
      MOV B,#10H
      DIV AB
      MOV 37H,A
      MOV A,46H
      MOV B,#10H
      DIV AB
      MOV 36H,B
      ADD A,#10
      MOV 35H,A
      MOV A,45H
      MOV B,#10H
      DIV AB
      MOV 34H,B
      RET
ID:102963 發(fā)表于 2020-5-25 19:23
yunshuayun 發(fā)表于 2020-5-25 18:19
哈哈,這只是用波形測(cè)試這個(gè)系統(tǒng)正不正常,顯示的速度只是來(lái)源于頻率,不是實(shí)際出租車的速度

嗯 知道的 哈哈
ID:697394 發(fā)表于 2020-5-25 18:19
songxia8013 發(fā)表于 2020-5-25 15:32
這速度太快了,能跑到六七百公里每小時(shí),這出租車是飛起來(lái)了嗎?

哈哈,這只是用波形測(cè)試這個(gè)系統(tǒng)正不正常,顯示的速度只是來(lái)源于頻率,不是實(shí)際出租車的速度
ID:102963 發(fā)表于 2020-5-25 15:32
這速度太快了,能跑到六七百公里每小時(shí),這出租車是飛起來(lái)了嗎?

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

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

快速回復(fù) 返回頂部 返回列表