◀ Previous Next ▶ Up ▲


witpoko.com


โค๊ดภาษาซี pic shiftregister 7segment

จะทำตัวแสดงผล โดย PIC ต่อกับ Shift Register และ ต่อกับ 7segment 6 หลัก
โดยใช้ IC CD4017 เป็นตัวแสกนตำแหน่ง ส่วนนี้เป็นแค่ส่วนแสดงผลครับ

ขอเรียนถาม โค๊ดด้านล่าง ทำไมส่งแค่ data ออกมาแค่ช่วง 8 CLK แรก แล้วไม่ส่ง DATA
มาอีกเลยครับ และ if(segment[value]&128) มันทำงานยังไงครับ ไม่เข้าใจครับ
(ก๊อปโค๊ดมาจาก Shift Register 4 ตัว ดัดแปลงใช้ 4017 ลองดู เลยไม่เข้าใจครับ)

ขอบคุณครับ
----------------------------------------------------------------------------------------

char segment[]={192,249,164,176,153,146,130,248,128,144};
// 0 1 2 3 4 5 6 7 8 9

#define data portB.f0 // portB F0 = data
#define clk portB.f1 // portB F1 = CLK
#define stb portB.f2 // portB F2 = STB

main()
{
char value;
int m;
trisB=0;
while(1){
value=5; //-----------ทดลองใส่เลขที่นี่
segment[value];
for(m=0;m<8;m++)
{
if(segment[value]&128){
data=1;
}
else{
data=0;
}
clk=1;
segment[value]<<=1;
clk=0;
}
tb=1; // STB pin
stb=0;
}
} // end main


-----------------------------------------------------
<a href="http://www.uppicweb.com/show.php?id=3a81e114cd9b3515af7c7f961e072647" target="_blank"><img border="0" src="http://www.uppicweb.com/i/ie/94untitled.jpg" alt="images by uppicweb.com" /></a><br><font size=1>Thanks: <a href="http://www.insurebroker.net" target="_blank">ตัวแทนประกันภัย</a> <a href="http://www.dictionary.in.th" target="_blank">ดิกชันนารี</a></font>


จากคุณ : มือใหม่ -[ 11 ก.ย. 52 - 12:00:13 A:192.168.0.17 X:118.173.77.248 ]



Share/Save/Bookmark





กระทู้ยอดนิยม