//沒有用IAPIDLE功能,有沒有高手指點一下利弊
#include #include typedef unsigned char BYTE; typedef unsigned int WORD; //#define uint unsigned int //#define MAIN_Fosc 22118400L //定義主時鐘 //#define MAIN_Fosc 12000000L //定義主時鐘 #define MAIN_Fosc 11059200L //定義主時鐘 //#define MAIN_Fosc 5529600L //定義主時鐘 //#define MAIN_Fosc 24000000L //定義主時鐘 //#define MAIN_Fosc 40000000L //定義主時鐘 //#define ENABLE_IAP 0x80 //if SYSCLK<30MHz //#define ENABLE_IAP 0x81 //if SYSCLK<24MHz //#define ENABLE_IAP 0x82 //if SYSCLK<20MHz #define ENABLE_IAP 0x83 //if SYSCLK<12MHz //#define ENABLE_IAP 0x84 //if SYSCLK<6MHz //#define ENABLE_IAP 0x85 //if SYSCLK<3MHz //#define ENABLE_IAP 0x86 //if SYSCLK<2MHz //#define ENABLE_IAP 0x87 //if SYSCLK<1MHz #define CMD_IDLE 0 //空閑模式 #define CMD_READ 1 //IAP字節(jié)讀命令 #define CMD_PROGRAM 2 //IAP字節(jié)編程命令 #define CMD_ERASE 3 //IAP扇區(qū)擦除命令 //測試地址 #define IAP_ADDRESS1 0X0000 //內(nèi)部EEPROM地址 #define IAP_ADDRESS2 0X0200 /*初始定義*/ bit write = 0; sbit VD=P3^3; //紅色LED 0.50v=10v ;1.00=27v ;3.85=73v; sbit CD=P3^4; //綠色LED sbit ZS=P3^5; //指示LED轉(zhuǎn)換 0 - 紅色LED調(diào)整;1 - 綠色LED調(diào)整 sbit BA=P3^0; //編碼器的a腳接P3.0 sbit BB=P3^1; //編碼器的b腳接P3.1 sbit QH=P3^2; //編碼器的按鍵接P3.2 電壓調(diào)整或電流調(diào)整299=5.00V BYTE v_temp,c_temp,XZ = 0,flag,a0,b0,c0;// 128 109 48 29 //48=0.96V;29=0.58V; void InitTimer0() interrupt 1 // 0.5毫秒@11.0592MHz 頻率 1000HZ { IE2 = 0x00; //關(guān)閉定時器2中斷 AUXR = 0XE4; //關(guān)閉定時器2計數(shù) TL0 = 0xCD; //設(shè)置定時初值 0.5毫秒@11.0592MHz TH0 = 0xD4; //設(shè)置定時初值 0.5毫秒@11.0592MHz VD = 1; CD = 1; flag = 1; AUXR = 0xF4; //開啟定時器2計數(shù) IE2 = 0x04; //開啟定時器2中斷允許 } void InitTimer2() interrupt 12 //2微秒@11.0592MHz 控制燈亮時間 { flag++; T2L = 0xD4; //設(shè)置定時初值 2微秒@11.0592MHz T2H = 0xFF; //設(shè)置定時初值 2微秒@11.0592MHz if(v_temp == flag) VD=0; if(c_temp == flag) CD=0; } /*//關(guān)閉IAP void IapIdle() { IAP_CONTR = 0; //關(guān)閉IAP功能 IAP_CMD = 0; //清除命令寄存器 IAP_TRIG = 0; //清除觸發(fā)寄存器 IAP_ADDRH = 0x80; //將地址設(shè)置到非IAP區(qū)域 IAP_ADDRL = 0; } */ //從ISP/IAP/EEPROM區(qū)域讀取一字節(jié) BYTE IapReadByte(WORD addr) { BYTE dat; //數(shù)據(jù)緩沖區(qū) IAP_CONTR = ENABLE_IAP; //使能IAP IAP_CMD = CMD_READ; //設(shè)置IAP命令 IAP_ADDRL = addr; //設(shè)置IAP低地址 IAP_ADDRH = addr >> 8; //設(shè)置IAP高地址 IAP_TRIG = 0x5a; //寫觸發(fā)命令(0x5a) IAP_TRIG = 0xa5; //寫觸發(fā)命令(0xa5) _nop_(); //等待ISP/IAP/EEPROM操作完成 dat = IAP_DATA; //讀ISP/IAP/EEPROM數(shù)據(jù) //IapIdle(); //關(guān)閉IAP功能 return dat; //返回 } //寫一字節(jié)數(shù)據(jù)到ISP/IAP/EEPROM區(qū)域 void IapProgramByte(WORD addr, BYTE dat) { IAP_CONTR = ENABLE_IAP; //使能IAP IAP_CMD = CMD_PROGRAM; //設(shè)置IAP命令 IAP_ADDRL = addr; //設(shè)置IAP低地址 IAP_ADDRH = addr >> 8; //設(shè)置IAP高地址 IAP_DATA = dat; //寫ISP/IAP/EEPROM數(shù)據(jù) IAP_TRIG = 0x5a; //寫觸發(fā)命令(0x5a) IAP_TRIG = 0xa5; //寫觸發(fā)命令(0xa5) _nop_(); //等待ISP/IAP/EEPROM操作完成 //IapIdle(); } //扇區(qū)擦除 void IapEraseSector(WORD addr) { IAP_CONTR = ENABLE_IAP; //使能IAP IAP_CMD = CMD_ERASE; //設(shè)置IAP命令 IAP_ADDRL = addr; //設(shè)置IAP低地址 IAP_ADDRH = addr >> 8; //設(shè)置IAP高地址 IAP_TRIG = 0x5a; //寫觸發(fā)命令(0x5a) IAP_TRIG = 0xa5; //寫觸發(fā)命令(0xa5) _nop_(); //等待ISP/IAP/EEPROM操作完成 //IapIdle(); } /*void Timer0Init(void) //100微秒@24.000MHz 10KHZPWM { AUXR |= 0x80; //定時器時鐘1T模式 TMOD &= 0xF0; //設(shè)置定時器模式 TL0 = 0xA0; //設(shè)置定時初值--100微秒@24.000MHz TH0 = 0xF6; //設(shè)置定時初值--100微秒@24.000MHz TF0 = 0; //清除TF0標志 TR0 = 1; //定時器0開始計時 } void Timer2Init(void)//0.4微秒@24.000MHz { AUXR |= 0x04; //定時器時鐘1T模式 T2L = 0xF6; //設(shè)置定時初值--0.4微秒@24.000MHz T2H = 0xFF; //設(shè)置定時初值--0.4微秒@24.000MHz AUXR |= 0x10; //定時器2開始計時 } */ void bianmaqi(void)//捕捉EC11按下和旋轉(zhuǎn)信息 { unsigned char a, b, c; a = BA; b = BB; c = QH; if (a != a0) // BA changed { a0 = a; if (b != b0) // BB changed { b0 = b;write = 1; if ((a == b) && (XZ == 0) && (v_temp < 153)) {v_temp++;}//225 153 if ((a == b) && (XZ == 1) && (c_temp < 73)) {c_temp++;}//208 65 if ((a != b) && (XZ == 0) && (v_temp > 23)) {v_temp--;}//85 23 if ((a != b) && (XZ == 1) && (c_temp > 5)) {c_temp--;}//29 5 } } if (!c && c0) { if (XZ == 0 ) { XZ = 1; ZS = 1; } else if(XZ == 1)//切換 { XZ = 0; ZS = 0; } } c0 = c; } void init() { AUXR = 0XE4; //設(shè)置定時器0和2為1T模式 TMOD = 0x00; TL0 = 0xCD; //設(shè)置定時初值 0.5毫秒@11.0592MHz 0xA0;--100微秒@24.000MHz TH0 = 0xD4; //設(shè)置定時初值 0.5毫秒@11.0592MHz 0xFF;--0.4微秒@24.000MHz T2L = 0xD4; //設(shè)置定時初值 2微秒@11.0592MHz 0xF6;--0.4微秒@24.000MHz T2H = 0xFF; //設(shè)置定時初值 2微秒@11.0592MHz 0xFF;--0.4微秒@24.000MHz EA = 1; ET0 = 1; TR0 = 1; //定時器0開始計時 P3M1 &= 0xF7; P3M0 |= 0x08; //P3.3(推挽) P3M1 &= 0xEF; P3M0 |= 0x10; //P3.4(推挽) P3M1 &= 0xDF; P3M0 |= 0x20; //P3.5(推挽) VD = 0; CD = 0; ZS = 0; // 0 - 電壓調(diào)整狀態(tài);1 - 電流調(diào)整狀態(tài) a0 = BA; b0 = BB; c0 = QH; v_temp = IapReadByte(1); if (v_temp == 0 ){v_temp = 65;} //128 65 if (v_temp > 153){v_temp = 65;} //245 128 c_temp = IapReadByte(10); if (c_temp == 0 ){c_temp = 29;} //109
上一篇:DS18B20單片機數(shù)字溫度計
下一篇:基于DS18B20的體溫監(jiān)測聲光報警裝置
推薦閱讀
史海拾趣
隨著科技的不斷發(fā)展,DIOFIT公司始終將技術(shù)創(chuàng)新作為發(fā)展的核心驅(qū)動力。他們不斷投入研發(fā)資金,引進先進技術(shù)和人才,致力于研發(fā)具有自主知識產(chǎn)權(quán)的電子產(chǎn)品。在物聯(lián)網(wǎng)、人工智能等前沿領(lǐng)域,DIOFIT公司取得了一系列突破性的成果,推出了一系列具有競爭力的產(chǎn)品,成為行業(yè)內(nèi)的技術(shù)創(chuàng)新引領(lǐng)者。
在電子行業(yè)中,市場拓展是企業(yè)發(fā)展的關(guān)鍵因素之一。DMS積極開拓國內(nèi)外市場,與眾多知名企業(yè)建立了長期穩(wěn)定的合作關(guān)系。公司通過提供優(yōu)質(zhì)的產(chǎn)品和服務(wù),贏得了客戶的信賴和支持。同時,DMS還積極參與行業(yè)展會和交流活動,與同行進行技術(shù)交流和合作,共同推動電子行業(yè)的發(fā)展。
在電子行業(yè)的激烈競爭中,宜源科技公司始終將技術(shù)創(chuàng)新作為公司發(fā)展的核心驅(qū)動力。公司投入大量研發(fā)資源,成功開發(fā)出一系列具有自主知識產(chǎn)權(quán)的電子產(chǎn)品和解決方案。其中,其獨特的智能芯片技術(shù),不僅大幅提升了產(chǎn)品的性能,還降低了生產(chǎn)成本,使得宜源科技在市場中迅速脫穎而出。
隨著業(yè)務(wù)的不斷發(fā)展和市場的不斷擴大,DIALIGHT公司逐漸實現(xiàn)了全球化布局。他們在美國、英國、丹麥、德國、馬來西亞、新加坡、澳大利亞、墨西哥和巴西等地設(shè)立了分支機構(gòu)或辦事處,為全球客戶提供及時、高效的服務(wù)。此外,DIALIGHT還積極尋求與其他企業(yè)的合作與共贏,通過戰(zhàn)略合作協(xié)議的簽署,為雙方帶來新的業(yè)務(wù)機遇和合作空間。這些舉措不僅增強了DIALIGHT的市場競爭力,也為其未來的發(fā)展奠定了堅實的基礎(chǔ)。
請注意,由于篇幅限制,以上三個故事僅為DIALIGHT公司發(fā)展歷程的簡要概述。如需更詳細的信息和更多故事,建議查閱相關(guān)資料或訪問公司官網(wǎng)。
DIALIGHT公司一直專注于工業(yè)LED照明領(lǐng)域的發(fā)展。他們深入了解工業(yè)空間照明的需求和挑戰(zhàn),設(shè)計了一系列專為工業(yè)應(yīng)用而定制的LED照明產(chǎn)品。這些產(chǎn)品不僅易于安裝和維護,而且能在惡劣的環(huán)境下持續(xù)使用。此外,DIALIGHT還提供集成系統(tǒng)解決方案,幫助客戶降低能源成本、維護成本和碳足跡,同時提高設(shè)施的安全性和生產(chǎn)力。通過不斷創(chuàng)新和優(yōu)質(zhì)服務(wù),DIALIGHT在工業(yè)LED照明領(lǐng)域贏得了廣泛的認可和信賴。
本帖最后由 jameswangsynnex 于 2015-3-3 20:00 編輯 我現(xiàn)在大一。院里馬上要分專業(yè)了。包括電氣工程,電子信息工程,自動化3個專業(yè)。其中我們學校的電氣工程相對比較好,但我個人愛好在電子信息工程。之所以考慮電氣工程,不僅是我們學校這個專業(yè) ...… 查看全部問答∨ |
各位好,哪位仁兄能提供一篇關(guān)于電路的外文文獻給小弟啊? 本人急用,字數(shù)3000左右,拜托了!!! 不勝感激,感激涕零!!! 有的話發(fā)我郵箱吧!我的郵箱是:shutao0925@163.com 謝謝了!… 查看全部問答∨ |
各位大哥,是否有歐姆龍PLC與vb.net 編程的例子,發(fā)給我看看,謝謝! mail:wang_lz@live.cn還有,請問一下,驅(qū)動器的速度怎么通過vb.net 控制… 查看全部問答∨ |
請教各路高手: 小弟在搞WINCE 的時候,發(fā)現(xiàn) 時間\\日期屬性里面, 當 屬性里面的時間已經(jīng)跳到了下一分鐘,但是右下 角任務(wù)欄的時間還是上一分鐘的。 比如, 屬性里面的是   ...… 查看全部問答∨ |
招聘Windows CE 應(yīng)用開發(fā)工程師 深圳 本公司招聘熟悉Windows CE 應(yīng)用開發(fā),或者精通Win32應(yīng)用開發(fā)的工程師,應(yīng)屆畢業(yè)不限pz_forever@126.com 提供良好的發(fā)展空間。工作地點:深圳… 查看全部問答∨ |
我做了一個220v穩(wěn)壓5v的東東,是用12v變壓器然后接78M05穩(wěn)到5v的,但是用時間長了變壓器會發(fā)燙,然后功率就不夠了 不會僅僅是散熱不夠吧,估計還有其他問題,請大牛們指教! 注:78M05輸入端接的220u/16v鉭電容和0.33u電容,輸出端接的47u/6v鉭電 ...… 查看全部問答∨ |
我用的是2812,ccs2.2 我定義了指針 volatile Uint16 *px1,*px2,*px3 之后又賦值*px1=10,*px2=0,*px3=100, 不過怎么執(zhí)行都不好用.三個指針都賦值不了 請各位指教一下,謝謝… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 迅為IMX8MM開發(fā)板Linux系統(tǒng)修改默認屏幕
- Eddicy推出適用于下一代電動汽車的高性能C803接觸器
- 耐世特推出線控制動系統(tǒng)
- 西木科技推出新一代人形機器人 尺寸及靈活性都與真人相當
- 智能體AI卷爆行業(yè),聯(lián)發(fā)科打響第一槍,AI普及猛踩油門
- 兆易創(chuàng)新高性能GD32A7x車規(guī)級MCU已獲TASKING編譯器支持
- 人形機器人周報|4月16日:多家人形機器人公司拓展應(yīng)用場景
- 嵐圖發(fā)布L3級智能架構(gòu):安全放在第一位
- 單季融資超80億!人形機器人大爆單
- 小鵬汽車自研AI芯片最快二季度量產(chǎn)上車,替換英偉達芯片!
- 問界、享界再放王炸:星閃車鑰匙開始爆發(fā)!
- 免費獲贈LPC800迷你板 搶先體驗MO+優(yōu)異性能!
- 我給Xilinx資源中心做貢獻
- Microchip有獎問答 | 新品 MCU 獨立于內(nèi)核的外設(shè)(CIP)技術(shù)解密
- 搶樓有獎:免費獲得元器件樣品本~~
- Quartus Prime設(shè)計軟件15.1版 帶你體驗革命性的設(shè)計生涯
- TI 有獎直播|業(yè)界超精確3D霍爾效應(yīng)位置傳感器
- ADI有獎下載活動之2——太陽能光伏發(fā)電解決方案
- 4月25日上午10:00-11:30 ADI與您相約 TOF (Time Of Flight) 技術(shù)介紹及產(chǎn)品應(yīng)用 有獎直播
- EEW網(wǎng)友專題之“我愛龍芯”
- 【TI 嵌入式研討會集錦】小站添加了很多新內(nèi)容,歡迎提貨!