用微控制器的組合語言編寫 十秒秒錶的程式設計

時間 2021-08-11 17:28:41

1樓:大別山的蝸牛

這是一個秒錶,有按鍵實現 啟動、暫停核清零功能。

#include

sbit p3_5 =p3^5;

unsigned char code dispcode=;

unsigned char second;

unsigned char keycnt;

unsigned int tcnt;

void main(void)

while(p3_5==0);}}

}}void t0(void) interrupt 1 using 0p1=dispcode[second/10];

p2=dispcode[second%10];}}

2樓:

;功能:0~9,數碼管顯示計時;共陽接法

;p1口接數碼管

org 0000h

ljmp main

org 001bh ;定時器t1,中斷入口ljmp t1_isr

org 0030h

;主程式

main: mov tmod,#10h ;定時器初始化mov th1,#3ch ;設定時時間50msmov tl1,#0b0h

setb ea ;開中斷setb et1

setb tr1 ;啟動t1mov r0,#20 ;中斷計數器(迴圈次數)mov a,#00 ;顯示計時初值lcall disp ;調顯示程式sjmp $

;定時中斷子程式

t1_isr: djnz r0,isr_out ;一秒不到退出mov r0,#20 ;到了,重賦計數器初值inc a ;計時值加1lcall disp ;調轉換顯示程式cjne a,#9,isr_out ;判斷計時值是否大於9,不是退出mov a,#00 ;大於9,重新賦0isr_out:mov th1,#3ch ;重新給計數器賦初值mov tl1,#0b0h

reti

;顯示子程式

disp: mov dptr,#tab ;查表movc a,@a+dptr

mov p1,a

ret;字元表,共陽接法0~9

tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h

end曾經回答過一個類似題目,這個是在那個基礎上修改的,你用proteus**一下有問題hi我

用高分!!c51微控制器組合語言編寫能校時的數字鐘。高手幫忙

什麼是能校時?自動校時?strt equ p2.6 stp equ p2.7 clrr equ p3.0 sec equ p3.5 min equ p3.6 hour equ p3.7 org 00h sjmp main org 0bh ajmp t0int0 org 30h main mov sp...

微控制器組合語言的幾個疑問

靈若伊雪 1 r1 20h 不是一條指令,而只是一種說明,表明r1暫存器中的內容是20h。這個20h是地址還是資料,與這個說明無關。2 在指令 mov r1,40h 中,r1 是間接定址方式,表明r1中的內容是地址,指令的功能表明是將立即數40h傳送到r1指定的地址中。3 在指令中容易混淆的是立即數...

51微控制器求用組合語言編寫延時1小時的子程式要

延時一小時,這麼長,應該要用定時器,不能用迴圈的方式。org 00h ajmp main org 0bh ajmp t0int0 org 30h main mov sp,60h mov r4,20 mov tmod,01h mov th0,3ch 12m晶振時定時初值取 3cb0h,還可細調如 tl...