我總結(jié)3點需要注意的地方1.關(guān)閉非IIC通信器件,比如我的開發(fā)板SDA和SCL也連接了DS1302,造成干擾會沒有結(jié)果。2.IIC通信的應(yīng)答,發(fā)送端在SCL為0時將SDA置1,等待接收端拉低SDA;接收端在拉低SDA持續(xù)一個周期后,應(yīng)將S
utilities.h#ifndefUTILITIES_H_INCLUDED#defineUTILITIES_H_INCLUDEDtypedefunsignedcharuchar,BYTE,uint8;typedefunsignedintuint,WORD,uint16;typedefunsignedlongulong,DWORD,uint32;typedefcharint8;typedefint
此程序模擬普通的電子表的功能,實現(xiàn)了時,分,秒的顯示,并有調(diào)表功能.程序簡單,好多地方并沒有注意細節(jié),只是實現(xiàn)了部分功能./************************************************************************//*程序:單片
電路原理圖 EEPROM為ATMEL公司的AT24C01A。單片機為ATMEL公司的AT89C51。軟件說明C語言為Franklin C V3.2。將源程序另存為testi2c.c,用命令C51 testi2c.cL51 TESTI2C.OBJOHS51 TESTI2C編譯,連接,得到TESTI2C.HEX
采用移位減法的算法。源碼如下:1 ;//////////////////////////////////////////////////////////////////////////////2 ;函數(shù): div_u24_u83 ;描述: 無符號雙字節(jié)除以單字節(jié)4 ;入口: (R5,R6,R7)/(R0)5 ;出口: (R
百度ds1302 寫道DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信
LED數(shù)碼管是單片機外圍接口設(shè)備中常用的顯示設(shè)備,有七段管和米字管兩種,實驗室中常用的是七段管。其工作方式有兩種:共陰極和共陽極。所謂共陰極是把LED的com端都接地,而共陽極就是把com端都接高電平。其驅(qū)動顯示
位清0指令CLR C ;使CY=0CLR bit ;使指令的位地址等于0。例:CLR P1.0 ;即使P1.0變?yōu)?位置1指令SETB C ;使CY=1SETB bit ;使指定的位地址等于1。例:SETB P1.0 ;使P.0變?yōu)?位取反指令CPL C ;使CY等于原來的相反的值,由
1.定義的變量不要太多。低128位為用戶定義變量的存放區(qū)域(默認(rèn)時),也可以把變量放在高128位,但容易出錯,盡量少放,最好不放。通過M51可以查看內(nèi)存變量的存放,最好不要超過110個字節(jié),否則程序無法運行或出錯
8個發(fā)光管由上至下間隔1s流動,其中每個管亮500ms,滅500ms,亮?xí)r蜂鳴器響,滅時關(guān)閉蜂鳴器,一直重復(fù)下去。C++ Code12345678910111213141516171819202122232425262728293031323334#include#include#defineucharunsign
1 //晶振的頻率2 #define OSC_FREQ (11059200UL)34 //每個指令的振蕩周期數(shù)(4,6,12),注意,這里一定要仔細查看芯片手冊5 //*12 - 早期的8051、8052及當(dāng)前的絕大部分51單片機6 //*6 - Philips 的芯片7 //*4 - Dall
TX-1C板操作并行模式的1602液晶液晶第1,2腳是gnd和vcc第3腳是對比度調(diào)節(jié)第4腳是數(shù)據(jù)/指令選擇端RS第5腳是讀寫選擇端R/W,我們這次只寫不讀,故直接接地第6腳是讀寫使能EN第7到14腳是數(shù)據(jù)口,我們接STC89C52RC的P0口第15
這個小項目自己做了5天,小有成就感。。。感謝前輩們多多提意見。。12864液晶、DS12C887時鐘芯片、DS18B20溫度傳感器。。。#define uchar unsigned char#define uint unsigned intuint temp;float f_temp;sbit Ds=P2
這個指令的作用是把累加器A的8位無符號整數(shù)除以寄存器B中的8位無符號整數(shù),所得到的商存在累加器A,而余數(shù)存在寄存器B中。除法運算總是使OV和進位標(biāo)志位CY等于0。如果OV=1,表明寄存器B中的內(nèi)容為00H,那么執(zhí)行結(jié)果為
看到很多在做電子工程設(shè)計的朋友在討論:51單片機轉(zhuǎn)到ARM該怎樣學(xué)習(xí)?《單片機與嵌入式系統(tǒng)應(yīng)用》小編為大家找到了這樣一位工程師,談?wù)勊膶嶋H經(jīng)驗~ 我以前一直用的是51,不過一直是C51,對C語言已經(jīng)有10多年的
有個出租車計價器的題目,給出了匯編的程序,要求改為 C 語言的程序。這匯編的程序,編寫的很復(fù)雜,實現(xiàn)的功能卻還是很簡陋。在硬件方面,顯示金額的位數(shù)也不足。做而論道用 C 重新編寫了一個程序,如下:#i
近來,看到好幾個要求用 51 單片機和數(shù)碼管來設(shè)計計算器的題目51 單片機,本質(zhì)上是微控制器,以邏輯運算見長。用它來設(shè)計計算器 ?不知道誰想出來的這樣的題目,思路明顯就是跑偏了,呵呵特別是后一個的題目
51?系列單片機是高電平復(fù)位。如果在?AT89S52?的?9?號引腳(RST)加上寬度大于?2?個機器周期的高電平,該單片機芯片就將處于復(fù)位狀態(tài)。復(fù)位時:PC?=?0000H,SP?=?07H,P0~
利用?51?單片機構(gòu)成計數(shù)器,計數(shù)的上限,做的大一些,也不難,幾千幾萬都可以。下面的電路,小了一點,是個兩路兩位的計數(shù)器。用來記錄乒乓球比賽,還算可以,用于籃球比賽,分?jǐn)?shù)超過?99,這個電路就不夠用了
利用 2 個實驗系統(tǒng)通過 232 通信,實現(xiàn)雙機串行通信功能。用匯編或 C 語言編寫一個 51 單片機程序,用本側(cè)的 K0~K3 能控制對側(cè)的 L0~L3,用對側(cè)的 K0~K3 能控制本側(cè)的 L0~L