音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

拋轉(zhuǎn)引玉 SM5964 開發(fā)心得!

作者:鵲橋老仙 欄目:單片機(jī)
拋轉(zhuǎn)引玉 SM5964 開發(fā)心得!
在網(wǎng)上,經(jīng)常有網(wǎng)友問我關(guān)于使用新茂單片機(jī)時(shí)的一些問題,為方便大家學(xué)習(xí),特此把<SM5964的三種程序示例>獻(xiàn)給大家!

1.使用看門狗的程序 示例
2.可反復(fù)進(jìn)入ISP的程序 示例
3.利用剩余的Falsh空間存儲(chǔ)數(shù)據(jù) 示例
關(guān)鍵提示:CODE的絕對(duì)定位,方法在code_at.c中


-------------------------------------------------------------
// 使用看門狗的程序 示例
-------------------------------------------------------------
void WDTC_DOG(void)//在8958A/5964上,看門狗都能正常工作。
{
WDTKEY = 0x1e;
WDTKEY = 0xe1;//set
WDTC = 0xa7;//dog_data; //喂狗  
//    SCONF = 0x01; //關(guān)ALEI
WDTKEY = 0xe1;
WDTKEY = 0x1e;//ONLY read
}

void CLOSE_DOG(void)//關(guān)狗
{
WDTKEY = 0x1e;
WDTKEY = 0xe1;//set
WDTC = 0x00;//dog_data; //喂狗  
WDTKEY = 0xe1;
WDTKEY = 0x1e;//ONLY read
}

-------------------------------------------------------------
// 可反復(fù)進(jìn)入ISP的程序 示例
-------------------------------------------------------------
//條件判斷,是否進(jìn)入ISP
if(!P1_6 && !P1_7)//條件由自己任意發(fā)揮...
{
ISP_ok = 1;//進(jìn)入ISP 條件成立
}

if(ISP_ok != 0)//TEST.html">TEST ISP                       
{
ISP_ok = 0;
CLOSE_DOG();//關(guān)狗
BEEP = 0;//TEST
DelayMs(100);
BEEP = 1;//TEST
GoToIsp();
}

-------------------------------------------------------------
//利用剩余的Falsh空間存儲(chǔ)數(shù)據(jù) 示例
-------------------------------------------------------------
//FLASH頁擦除
ISPFAH = (uCHAR)(((uint)Nkey_a)>>8);
ISPFAL = (uCHAR)Nkey_a;
ISPFD  = 0x55;
ISPFD  = 0xaa;
ISPFD  = 0x55;
ISPC   = 0x82;//start to Page erase (512 byte)

//寫FLASH
ISPFAH = (uCHAR)(((uint)Nkey_a)>>8);
ISPFAL = (uCHAR)Nkey_a;
for(i=0;i<6;i++)//連續(xù)寫6字節(jié)
{
ISPFD  = data_buf[i];
ISPC   = 0x80;//start to program
ISPFAL ++;
}
DelayMs(200);//此延時(shí)是必須的!

-------------------------------------------------------------
//CODE的絕對(duì)定位 方法
-------------------------------------------------------------
//不能這樣定義:unsigned CHAR code Nkey_a[6] _at_ 0x0E000;
//而是在BL51 Locate 下的 Code Range 欄填入: ?CO?CODE_AT(0E000h)
//菜單路徑: Project / Options fo Target 'Target1' /

網(wǎng)站上有 整個(gè)Keil工程文件rar, 歡迎前來下載:(www.shmcu.com)


上海單片機(jī)網(wǎng)

2樓: >>參與討論
cxd731
SM5964制作工藝太差,建議不要在惡劣環(huán)境下使用
 
3樓: >>參與討論
阿土伯
向樓主 致敬!
 
4樓: >>參與討論
dizhu
關(guān)于“利用剩余的Falsh空間存儲(chǔ)數(shù)據(jù)”的不同看法
前段時(shí)間我在利用SM5964做一個(gè)項(xiàng)目的時(shí)候,找到老仙曾經(jīng)發(fā)的一個(gè)“在SM5964單片機(jī)內(nèi)存儲(chǔ)數(shù)據(jù)”的帖子和老仙在這里發(fā)的“利用剩余的Falsh空間存儲(chǔ)數(shù)據(jù)”一樣,不過小弟照做時(shí)改寫FLASH.html">FLASH沒有成功;后來仔細(xì)研究了下數(shù)據(jù)手冊(cè),在寫FLASH那部分的前面修改了一下,如下:
//寫FLASH
ISPFAH = (uchar)(((uint)Nkey_a)>>8);
ISPFAL = (uchar)Nkey_a;
//自己加的部分
ISPFD  = 0x55;
ISPFD  = 0xaa;
ISPFD  = 0x55;

for(i=0;i<6;i++)//連續(xù)寫6字節(jié)
{
ISPFD  = data_buf[i];
ISPC   = 0x80;//start to program
ISPFAL ++;
}
DelayMs(200);//此延時(shí)是必須的!

經(jīng)修改后的程序運(yùn)行成功,可以任意修改存在code中(即該程序里面,數(shù)組Nkey_a)的數(shù)據(jù)。

不知老仙是否同意我的看法。

5樓: >>參與討論
swaryer
現(xiàn)在有新版的SM5964出來,版本為SM5964A
改進(jìn)了制造工藝,同時(shí)增強(qiáng)其功能
新版的Syncmos 的MCU版本為SM5964A

6樓: >>參與討論
鵲橋老仙
加了此代碼更好,是應(yīng)該加.這樣可以實(shí)現(xiàn)擦-寫-寫
我當(dāng)時(shí)只需要完成擦-寫,擦-寫,實(shí)現(xiàn)了就沒仔細(xì)研究之.還是因該加上這三句代碼為好.

7樓: >>參與討論
dizhu
雖然過了這么久了,還是感謝老仙的幫助。
要不我的項(xiàng)目也不會(huì)這么快完成!在此感謝你。以后大家多討論討論,共同進(jìn)步!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
關(guān)于雙單片機(jī)系統(tǒng)的問題
請(qǐng)教有關(guān)IO口擴(kuò)展
請(qǐng)問各位老兄這句話咋翻譯?
請(qǐng)教前輩關(guān)于430的ADC的問題,有測(cè)量數(shù)據(jù).
幫忙看看微型打印機(jī)程序,為什么打印命令實(shí)現(xiàn)不了控制。
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)