วารสารปี-40-ฉบับที่-4-resize

มงคล เดชนครินทร์ 141 วารสารราชบัณฑิตยสภา ปีที่ ๔๐ ฉบับที่ ๔ ต.ค.-ธ.ค. ๒๕๕๘ ;Initialization part of the prog. **** ( ดูใน LED1.ASM ตามรูปที่ ๓ ) **** ;The box below contains the ;principal part of the program ;-------------------------------- strt: ; call run71 ; jmp strt ; ;-------------------------------- main endp ;******************************* run71 proc ;display on 7-seg via port1b ;store of 7-seg code mov si,offset numcode ;1st 7-seg module mov dl,1 begin7: ;select 7-seg module mov al,dl ;turn on power to 7-seg call outport1 ;start with digit 0 mov bx,0 ;to display 16 digits mov cx,16 lop7: ;get code for digit mov al,byte ptr [si+bx] ;display digit on selected 7-seg call outport2 ;next higher digit inc bx ;repeat loop lop7 ;next 7-seg shl dl,1 outport2 proc ;display digit on 7-seg out ppi_port1_b,al ;slow down display 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 ;******************************* data: ;digits 0, 1, 2, 3 numcode db 0BFh,86h,0DBh,0CFh ;digits 4, 5, 6, 7 db 0E6h,0EDh,0FDh,87h ;digits 8, 9, A, b db 0FFh,0EFh,0F7h,0FCh ;digits c, d, E, F db 0D8h,0DEh,0F9h,0F1h ;address of 1st instruction on boot org 0fff0h ;far jump to ROM at 0000:8000h db 0eah, 0,80h, 0,0 end main รูปที่ ๙ ซอฟต์แวร์ที่ใช้ควบคุมวงจรตัวแสดงผลแอลอีดีแบบ ๗ ส่วนในรูปที่ ๘ วงจรแสดงผลข้อมูลฐานสิบโดยใช้ตัวแสดงผลแอลอีดีแบบ ๗ ส่วน ในกรณีที่เราต้องการแสดงผลเฉพาะข้อมูลฐานสิบ (ตัวเลข 0-9) เท่านั้น แทนที่จะใช้วงจรรวม 74240 มาใช้ควบคุมตัวแสดงผลแอลอีดีแบบ ๗ ส่วนอย่างในวงจรตามรูปที่ ๗ และวงจรตามรูปที่ ๘ เราอาจน� ำวงจรรวม เฉพาะกิจ อย่างเช่นวงจรรวม 7447 หรือ 4511 มาใช้ได้ ซึ่งก็จะช่วยลดจ� ำนวนสายสัญญาณออกของวงจรรวม 8255 จาก ๘ สาย เหลือเพียง ๔ สายเท่านั้น ทั้งนี้ก็เพราะวงจรรวม 7447 และ 4511 รับข้อมูลเลขฐานสิบ

RkJQdWJsaXNoZXIy NTk0NjM=