thanks again for your gold idea 74LS164 which expanding our ports and not to need another PIC .
oky here is the pins and ports are used
- I use portc as data port for printer
- I use RB0 and RB1 for barcode one for clock and other for data
- I use RB3 for busy signal of printer
- I use RB2 for strobe signal of printer
- I use RB4,RB5,RB6 as buttons for registration and financial and cancel for student select

here is what used for the first stage
second stage I will control of 18 seven segments and need also 6 buttons for employes and one pin for indication sound

But I have a strange problem when I add in some way an addition code in our programm , I notice that the intrrupt is not working well

here is the code I added in the begining of our programm
;;;;;;;;;; check the availability of printer
lcdout ins,clr,ins,line1,"Check Printer...."
if busy=1 then
while busy=1
LCDout ins,line2,"Printer Problem"
wend
endif

LCDout ins,line2,"Printer Online"
pause 2000

lcdout Ins,clr,INS,Line1,"Please Ins. ID card"
;;;;;;;;;;;;;;;;;;;;;;;;;
I don't know what is the problem ???????????