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

📄 jiayouji .txt

📁 该源代码为单片机的加油机课程设计源代码
💻 TXT
字号:
cseg segment 
  assume cs:cseg
start:
	 MOV AX,CS
  	 MOV DS,AX
  
;-----8255初始化-----
   	MOV  DX,203H
   	MOV  AL,80H
   	OUT  DX,AL
;-----8279初始化-----
   	MOV  DX,210H
   	MOV  AL,00H;8字符显示,左入口,编码扫描键盘,双键所定
  	 OUT  DX,AL
   	MOV  AL,38H ;24分频
   	OUT  DX,AL

	 
;——--8259初始化——
	mov al,13h;边缘触发,单级,需要设置ICW4
	mov dx,230h
	out dx,al;Icw1

	mov al,8h;设置中断类型码的高5位,为08H。
	mov dx,231h
	out dx,al;Icw2
	mov al,01h
	out dx,al;Icw4
	mov al,0feh
	out dx,al;Ocw1
 

wait1:         ; 判断ram
   	mov dx,212h
   	in al,dx
   	test al,80h
   	jnz wait1

    
 
;——显示输入键盘——选择输入加油的种类有3——a一元每升,b二元每升,c三元每升  
aa:	mov dx,212h
	in al,dx
	test al,0fh
	jz aa
 
	mov dx,210h
	in al,dx
	mov ah,al
	cmp ah,0ah
	jz  aone;跳转到加一元油的子程序
	cmp ah,0bh
	jz  btwo;跳转到加二元油的子程序
	cmp ah,0ch
	jnz  aa
cthree:
	mov al,02h
	mov bx,offset table2
	
	xlat 
	mov ah,al
	mov dx,212h
	mov al,85h
	out dx,al
	mov al,ah
	mov dx,210h
	out dx,al
	call int1
	jmp aa
	
	
aone:	mov al,00h
	mov bx,offset table2
	
	xlat 
	mov ah,al
	mov dx,212h
	mov al,87h
	out dx,al
	mov al,ah
	mov dx,210h
	out dx,al
	 
	call int1
	jmp aa
btwo:	
	mov al,01h
	mov bx,offset table2
	xlat 
	mov ah,al
	mov dx,212h
	mov al,86h
	out dx,al
	mov al,ah
	mov dx,210h
	out dx,al
	 
	call int1
	jmp aa	
	 
;开始加油

     
	
	


			
;——显示输入键盘——选择输入定量加油d,定钱加油e,还是随机加油f
int1  proc  far
	mov dx,212h
   	in al,dx
   	test al,80h
   	jnz int0
cc:	
	mov dx,212h
	in al,dx
	test al,0fh
	jz cc
	
 
	mov dx,210h
	in al,dx
	cmp al,0dh
	jz dingliang
	cmp al,0eh
	jz dingqian
	cmp al,0fh
	jnz cc
 ;suiji:
 	
	
 	
 	 
 tt:	
	ret
dingliang:
	call dingliang1
	jmp tt   
dingliang1 proc 
;按开始键加油,显示方式D
	mov dx,212h
	mov al,84h
	out dx,al
	
	mov al,00h
	mov bx,offset table3
	xlat
	mov dx,210h
	out dx,al
	
	 
bb:	
	mov dx,212h
	in al,dx
	test al,0fh
	jz bb
 
	mov dx,210h
	in al,dx
	cmp al,13h
	jnz bb
	
;输入定量数
dd:
		
	mov dx,212h
	in al,dx
	test al,0fh
	jz dd
 
	mov dx,210h
	in al,dx
	mov cl,al
	mov bx,offset table1
	xlat
	mov ah,al	
	mov dx,212h
	mov al,81h
	out dx,al
	mov dx,210h
	mov al,ah
	out dx,al
	
	mov dx,210h
	in al,dx
	mov ch,al
	mov bx,offset table1
	xlat
	mov ah,al
	mov dx,212h
	mov al,80h
	out dx,al
	mov dx,210h
	mov al,ah
	out dx,al 
	
	mul cl,10
	add cl,ch
	
;------8253初始化----
	MOV AL,34H
	MOV DX,223H
	OUT DX,AL;计数器0,模式2
	MOV AX,9600
	MOV DX,220H
	MOV AL,AH
	OUT DX,AL
	mov  dx,223h
        mov  al,74h
        out  dx,al
        mov  dx,221h
        mov  ax,10
        out  dx,al
        mov  al,ah
        out  dx,al
        xor  ax,ax
        mov  ds,ax
	
	cli
         mov  ax, offset  qq
         mov  bx,20h
         mov  [bx],ax
         mov  ax,8100h
         mov  2[bx],ax
         sti
         mov  bl,0eeh
         mov  al,bl
         mov  dx,200h
         out  dx,al
         jmp  $
   qq:   rol  bl,1
	 dec  cl
	mov  [di],cl
	 mov  ax,word ptr cl
	 
	 mov cl,10
	 div  cl
	 mov ch,ah
	 mov bx,offset table1
	 xlat
	mov  ah,al
	 mov dx,212h
	 mov al,81h
	 out dx,al
	mov dx,210h
	mov al,ah
	out dx,al  
	 mov al,ch
	mov bx,offset table1
	 xlat
	mov  ah,al
	 mov dx,212h
	 mov al,80h
	 out dx,al
	mov dx,210h
	mov al,ah
	out dx,al
	mov cl,[di] 
	
	 
         mov  al,bl
         mov  dx,200h
         out  dx,al
	 loop  qq
         ret
	
	
;dingqian:
	;jmp tt
suiji:
	;jmp tt

led    db 00,01,02,03,04,05,06,07,08,09
table1 db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh; 对应键盘0——9
table2 db 77h,7ch,39h;对应键盘a——c
table3 db 5eh,79h,71h;对应键盘d——f  
cseg ends
 	end start

⌨️ 快捷键说明

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