全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2764
推到 Plurk!
推到 Facebook!

8051

答題得分者是:if8051
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-11-08 14:50:22 IP:163.17.xxx.xxx 訂閱
 請問有人會寫89s51的write page功能嗎?
以下是我寫的程式
//---------------------------這裡是cmd=0x02執行write page
case 0x02:
Send_MCUByte(0x50);
{
}
Send_UARTByte(0x02);
{
{
//--------- if(RX_buf[0]==StartCode)
if( RxIndex ==0x0c)
RxIndex=0;
//data in
RxIndex ;
}
else
RxIndex=0;
}
//-----------
} //if(RI)
}
小弟目前還是學生,因為專題只剩下這個功能寫不出來想請教各位大大
------
你好
編輯記錄
xqet00321 重新編輯於 2012-11-08 05:52:40, 註解 無‧
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-11-08 22:27:40 IP:114.40.xxx.xxx 訂閱
您的程式想必是使用 Keil C 寫的,現在面臨怎樣的困難?神龍見首不見尾,如此很難了解!
不知如何幫忙。
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-11-08 22:28:49 IP:114.46.xxx.xxx 訂閱
 你好這是我的msn:xqet00321@hotmail.com

請問你現在方便用msn嗎?我直接用msn跟你說明順便把程式碼給你看
------
你好
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-11-08 22:32:32 IP:114.40.xxx.xxx 訂閱
我 mail : if8051@gmail.com

住台南市東區
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-11-08 22:53:41 IP:114.40.xxx.xxx 訂閱
89S51 WDT 是 14 bit   3FFF,如果石英晶體是 12 MHz ,需要在 16383 uS 內要執行 
watchdog timer reset 一次,如此一來會影響 RS - 232 通信,建議不要執行 WDT 試試。
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-11-08 22:57:45 IP:114.46.xxx.xxx 訂閱
 請問那我該如何讓MCU執行RST?

------
你好
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2012-11-08 23:04:09 IP:114.40.xxx.xxx 訂閱
8051 是 power on reset,不解?為何需要 reset 呢?reset 之後 PC = 0
程式又從頭 run 了,如此看來您的程式邏輯是有問題!

WDT 是使用在遇上當機時,為的是讓 MCU 自動開機用的。
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2012-11-08 23:13:49 IP:114.46.xxx.xxx 訂閱
抱歉因為我是照著datasheep上面的指令做的,如果我拿掉RST之後其他功能都是正常的?
------
你好
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2012-11-08 23:20:17 IP:114.40.xxx.xxx 訂閱
寫程式是從錯誤中成長的,bug 在所難免!重點是整個邏輯思維是正確的,
稍加修正就可大功告成,祝您好運!
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#10 引用回覆 回覆 發表時間:2012-11-08 23:25:34 IP:114.46.xxx.xxx 訂閱
那請問我的中斷接收那邊沒問題嗎?
因為我現在用read page的時候讀到的資料只有13個 , 是不是我要把陣列的值清除?
------
你好
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#11 引用回覆 回覆 發表時間:2012-11-08 23:39:12 IP:114.40.xxx.xxx 訂閱
剛剛稍微看了一下您的程式,還不錯嘛!也有幾個 .H   .C ,硬體是如何搭配,動作功能如何?
若能全盤了解,便於提供參考解決對策!
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#12 引用回覆 回覆 發表時間:2012-11-08 23:45:13 IP:114.46.xxx.xxx 訂閱
 硬體設備:雙系統at89s51燒錄器 , 透過rs232轉usb收發資料

軟體:PC端接收用VB進行接收,韌體程式就是給您的那個c code

動作流程:PC端VB程式 下指令給M(透過RS232) 之後再到S(是透過2.0 2.1 2.2 2.3)執行動作
------
你好
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#13 引用回覆 回覆 發表時間:2012-11-09 01:49:01 IP:114.46.xxx.xxx 訂閱
 你好,read page都正確了可是現在最多只能讀取256個,請問有辦法將讀取的資料量增加?
write的部份我一直沒辦法成功燒錄,請問該如何解決?
------
你好
編輯記錄
xqet00321 重新編輯於 2012-11-08 11:37:03, 註解 無‧
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#14 引用回覆 回覆 發表時間:2012-11-09 21:05:34 IP:114.39.xxx.xxx 訂閱
ATMEL AT89S51 ROM 4KB , RAM 128 byte ; AT89S52 ROM 8KB , RAM 256 byte
能否換 AT89S52 試試!
idata 可存放 80H ~ FFH 間接定址。
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
xqet00321
一般會員


發表:4
回覆:10
積分:2
註冊:2012-11-08

發送簡訊給我
#15 引用回覆 回覆 發表時間:2012-11-10 12:10:27 IP:125.230.xxx.xxx 訂閱
 我有試過用52我寫進去的資料還是錯誤的

想請問我的write page寫法有錯誤嗎?

我記得沒錯的話要write之前要先programming把RST變成"H"才能write

還想請問一個問題,read page要如何修改才能讀取更多資料呢?

我目前只能讀取256如果在外面多一個迴圈他讀取的資料量增加不明顯
------
你好
系統時間:2024-12-04 1:20:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!