วารสารปี-40-ฉบับที่-4-resize
มงคล เดชนครินทร์ 133 วารสารราชบัณฑิตยสภา ปีที่ ๔๐ ฉบับที่ ๔ ต.ค.-ธ.ค. ๒๕๕๘ ;I/O port addresses ;parallel port1A, B, C (output) ppi_port1_a equ 24h ppi_port1_b equ 25h ppi_port1_c equ 26h ;control port1 ppi_ctrl_port1 equ 27h ;parallel port2A, B, C (output) ppi_port2_a equ 28h ppi_port2_b equ 29h ppi_port2_c equ 2Ah ;control port2 ppi_ctrl_port2 equ 2Bh ;start of prog. in ROM org 8000h main proc ;Initialization part of the prog. ;prevent other interrupts cli ;set all segments to 0000h mov ax,0 mov ds,ax mov es,ax mov ss,ax ;set stack top at 8000h mov ax,8000h mov sp,ax ;config. 8255(1) for mode 0 on ;groups A & B, ports A,B,C=output mov al,10000000b out ppi_ctrl_port1,al call delay1 ;do the same to 8255(2) out ppi_ctrl_port2,al call delay1 ;enable system interrupts sti ;The box below contains the principal ;part of the program ;--------------------------------- strt: ; call runled1 ; jmp strt ; ;--------------------------------- main endp ;********************************** runled1 proc ;running light on LEDs of port1a & ;port1c begin1: mov al,01h ;send data via Port1a call outport1 call outport2 ;do the same for each of next 7 bits mov cx,0007h ;move to next higher bit lop12: shl al,1 call outport2 loop lop12 ;turn off all LEDs on Port1c mov al,0 call outport2 ret runled1 endp ;********************************* outport1 proc ;display data on an LED of Port1a out ppi_port1_a,al ;slow down the running of light call delay2 call delay2 ret outport1 endp ;********************************* outport2 proc ;display data on an LED of Port1c out ppi_port1_c,al call delay2 call delay2 ret outport2 endp ;******************************** delay1 proc ;time delay of about 160 ms push cx mov cx,4000h delay5: loop delay5 pop cx ret delay1 endp ;******************************** delay2 proc ;time delay about 0.6 sec push cx mov cx,0F000h delay6: loop delay6 pop cx ret delay2 endp ;********************************* ;address of 1st instruction on boot org 0fff0h ;far jump to ROM at 0000:8000h db 0eah, 0,80h, 0,0 end main รูปที่ ๓ ซอฟต์แวร์ที่ใช้ควบคุมการแสดงผลข้อมูลออกขนาด ๑๖ บิตตามวิธีทางตรง
Made with FlippingBook
RkJQdWJsaXNoZXIy NTk0NjM=