[問題] HCTL 2032

看板Electronics作者 (劉阿弟)時間15年前 (2011/01/20 00:07), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
小弟現在大三做專題的關係接觸到這顆ic 這一兩天在測這顆ic 環境 1.使用LEGO NXT MOTOR 2.使用一組AB, 4x, 讀X的MSB資料 3.使用8051去控(下面是程式碼) 4.直接插麵包板 測是否有計數&計數結果(電路在下面) 5.使用24MHz CLK 測試方式 1.程式先執行reset, 我用手轉動馬達, 再執行外部中斷讀MSB資料 2.手動測式是不執行reset 直接改變OEN 讀取MSB 可是我的結果是旋轉馬達時D0~D7會全亮跟全滅(使用麵包板) 照理說意給AB訊號後會自動計數, 可是我的CNTDECx 完全不會變化... 現在有幾個使用上的問題 1.CHIx CHIy 是否要接? 2.CLK是否一定要33MHz? 我用的是4隻腳的震盪ic(24M) 3.如何測是ic是否工作正常? 4.測試方式是否有誤? 非常感謝回答 麵包板電路 http://ppt.cc/jH2I 測試程式 #include "reg_mpc82g516.h" sbit EN1=P1^0; sbit EN2=P1^1; sbit SEL1=P1^2; sbit SEL2=P1^3; sbit OEN=P1^4; sbit RSX=P1^5; sbit RSY=P1^6; sbit XNY=P1^7; unsigned char sta; void Delay(unsigned int); main() { EA=1; EX0=1; IT0=1; //中斷啟用 EN1=1; EN2=1; XNY=0; SEL1=1; SEL2=1; OEN=0; RSX=0; RSY=0; //Reset Delay(10); while(1){ } } void A() interrupt 0 using 1 //中斷函式 { if(sta==2) { sta=0; } if(sta==0) { RSX=1; RSY=1; //Count OEN=0; sta=sta+1; } else { RSX=1; RSY=1; //Read MSB OEN=1; Delay(10); OEN=0; sta=sta+1; } } void Delay(unsigned int a) { int b; while(a--) { for(b=100;b>0;b--); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.141.234

01/20 18:15, , 1F
自己解決了XD Data Select選LSB就好
01/20 18:15, 1F
文章代碼(AID): #1DDmnJu4 (Electronics)