⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 实用计时程序.asm

📁 基于51单片机的交通灯控制系统 IDE:Keil uVision2
💻 ASM
字号:
 	week   equ 30h
	hour   equ 31h
	min    equ 32h
	sec    equ 33h
	hourg  equ 34h
	hours  equ 35h
	ming   equ 36h
	mins   equ 37h
	sec1   equ 38h
	sec2   equ 39h
	sec3   equ 3eh  


	org 0000h
        ljmp start
        org 000bh
        ljmp ET_0
	org 001bh
	ljmp ET_1


         org 0000h
    ET_0:inc sec1             ;sec1每200us就加1
         mov a,sec1
         mov b,#5
         div ab
         mov sec1,b
         add a,sec2           ;sec2每200us×5=1ms就加1          
         mov b,#100
         div ab
         mov sec2,b
         add a,sec3           ;sec3每1ms×100=0.1s就加1
         mov b,#10
         div ab
	 mov sec2,b
	 add a,sec            ;sec每0.1s×10=1s就加1
	 mov b,#60
	 div ab
         mov sec,b
         add a,min            ;min每1s×60=1min就加1
         mov b,#60
         div ab
         mov min,b
         add a,hour           ;hour每1min×60=1h就加1
         mov b,#24
         div ab
         mov hour,b
         add a,week           ;week每1h×24=1天就加1
         mov b,#7
         div ab
         mov week,b       /*mov a,min
         mov b,#10
         div ab
         mov ming,b
         mov mins,a
         mov a,hour
         mov b,#10
         div ab
         mov hourg,b
         mov hours,a
         */
        RETI
   ET_1:mov th1,#0ffh                ;形成175μ秒中断(200偏低音,100、150偏高音)
        mov tl1,#51h
	cPL p3.7
	RETI

  start:mov hour,#0ch
        mov min,#00h
        mov sec,#00h
        mov week,#00h
        mov sec1,#00h
        mov sec2,#00h
	mov sec3,#00h
        mov week11,#00h
        mov hour11,#18h
        mov min11,#00h

        mov tl00,#38h
        mov tl01,#1eh
      
        mov week21,#00h
        mov hour21,#18h
        mov min21,#00h
        
        mov week22,#07h
        mov hour22,#17h
        mov min22,#00h

        mov week23,#00h
        mov hour23,#18h
        mov min23,#00h
  
        mov chang,#14h
        mov tiq,#05h

        mov jihao,#00h

        mov sp,#60h
	mov ie,#00h
	
	setb et1                             ;允许T1中断
	mov tmod,#12h                        ;T0&T1方式选择 T1方式1,16位计数器;T0方式2,8位自动重装计数器
	mov ip,#02h                          ;设置中断优先级控制T0>T1
        mov th0,#38h                         ;计数器赋初值
        mov tl0,45h
	mov th1,#0ffh
        mov tl1,#51h
	setb ea
	setb et0                             ;开放总中断和允许T0中断
        setb tr0                             ;启用t0

	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -