O
otuzsubat
Guest
أنا استخدم لوحة المفاتيح 4x3 في مشروعي.أنا استخدم C0 ، C1 و C2 ودبابيس C5 والإخراج ، وE0 ، E1 ، E2 كمدخلات.هذه الوظيفة يمكن أن تكون أكثر بساطة؟
one_char شار (الفراغ) (
غير الموقعة الصف كثافة العمليات ؛
ل(صف = 0 ؛ الصف <4 ؛ الصف ){//" الصف "
إذا كان (الصف == 0) (
output_low (pin_c0) ؛
output_high (pin_c1) ؛
output_high (pin_c2) ؛
output_high (pin_c5) ؛
)
إذا كان (الصف == 1) (
output_high (pin_c0) ؛
output_low (pin_c1) ؛
output_high (pin_c2) ؛
output_high (pin_c5) ؛
)
إذا كان (الصف == 2) (
output_high (pin_c0) ؛
output_high (pin_c1) ؛
output_low (pin_c2) ؛
output_high (pin_c5) ؛
)
إذا كان (الصف == 3) (
output_high (pin_c0) ؛
output_high (pin_c1) ؛
output_high (pin_c2) ؛
output_low (pin_c5) ؛
)
إذا (! المدخلات (PIN_E0) & & المدخلات (PIN_E1) & & المدخلات (PIN_E2))
عودة ((صف * 3) 1 0 x30 ؛
والا اذا (المدخلات (PIN_E0) & &! المدخلات (PIN_E1) & & المدخلات (PIN_E2))
عودة ((صف * 3) 2 0 x30) ؛
والا اذا (المدخلات (PIN_E0) & & المدخلات (PIN_E1) & &! المدخلات (PIN_E2))
عودة ((صف * 3) 3 0 x30) ؛
أيضا
عودة (0) ؛
)
one_char شار (الفراغ) (
غير الموقعة الصف كثافة العمليات ؛
ل(صف = 0 ؛ الصف <4 ؛ الصف ){//" الصف "
إذا كان (الصف == 0) (
output_low (pin_c0) ؛
output_high (pin_c1) ؛
output_high (pin_c2) ؛
output_high (pin_c5) ؛
)
إذا كان (الصف == 1) (
output_high (pin_c0) ؛
output_low (pin_c1) ؛
output_high (pin_c2) ؛
output_high (pin_c5) ؛
)
إذا كان (الصف == 2) (
output_high (pin_c0) ؛
output_high (pin_c1) ؛
output_low (pin_c2) ؛
output_high (pin_c5) ؛
)
إذا كان (الصف == 3) (
output_high (pin_c0) ؛
output_high (pin_c1) ؛
output_high (pin_c2) ؛
output_low (pin_c5) ؛
)
إذا (! المدخلات (PIN_E0) & & المدخلات (PIN_E1) & & المدخلات (PIN_E2))
عودة ((صف * 3) 1 0 x30 ؛
والا اذا (المدخلات (PIN_E0) & &! المدخلات (PIN_E1) & & المدخلات (PIN_E2))
عودة ((صف * 3) 2 0 x30) ؛
والا اذا (المدخلات (PIN_E0) & & المدخلات (PIN_E1) & &! المدخلات (PIN_E2))
عودة ((صف * 3) 3 0 x30) ؛
أيضا
عودة (0) ؛
)