51單片機 SPI 從機代碼
上傳時間: 2019-07-23
上傳用戶:cxcccxxx
題目:基于51單片機的RS485從機系統(tǒng)設(shè)計 單片機接口資源配置: 1. 上電復(fù)位電路; 2. 晶振電路采用11.0592Mhz晶振; 3. 485接口電路(P3.7用于485芯片的收發(fā)控制,收發(fā)管腳接單片機的rxd和txd); 4. P2口通過外部跳線接相應(yīng)的高低電平,配置從機地址為組號; 5. P3.6外接一發(fā)光二極管(注意串聯(lián)電阻進行限流); 6. P3.2外接一按鍵,斷開高電平,按下低電平; 7. 按鍵檢測采用外部中斷方式,下跳沿觸發(fā); 8. 單片機定時器0以模式1(16位模式)工作,產(chǎn)生50ms的定時中斷,并在此基礎(chǔ)上設(shè)計一單片機內(nèi)部時鐘(24小時制,能計數(shù)時、分、秒、50ms值); 9. 單片機串行通信采用模式1非多機通信方式,采用9600波特率以串行中斷方式進行數(shù)據(jù)的收發(fā)通信,主機地址為0xF0,廣播地址為0xFF。 系統(tǒng)功能需求: 1. 系統(tǒng)配置和自檢功能: l 從機上電后進行初始化,通過讀取P2口進行從機地址配置; l 發(fā)光二極管以每秒一次的頻率閃爍(亮0.5秒,滅0.5秒); l 檢測到一次按鍵按下操作后,熄滅發(fā)光二極管。 2. 數(shù)據(jù)接收和按鍵計時功能: l 從機接收主機程序(PC機上的串口調(diào)試程序)的按鍵允許命令幀并進行校驗; l 校驗正確并且目的地址是廣播地址或者本從機的地址,通過發(fā)光二極管長亮指示,并允許按鍵操作; l 按鍵按下后,盡可能準確記錄按鍵的動作時點(定時器的低8位、定時器的高8位、50ms值、秒、分、小時); l 按鍵操作只能響應(yīng)一次,重復(fù)按鍵操作不響應(yīng); l 按鍵的動作時點記錄后,發(fā)光二極管以每秒一次的頻率閃爍(亮0.5秒,滅0.5秒)。 3. 數(shù)據(jù)發(fā)送功能: l 從機接收主機程序發(fā)來的時鐘數(shù)據(jù)搜索命令幀并進行校驗; l 如果校驗正確并且數(shù)據(jù)幀的目的地址是本從機的地址,從機將前面記錄的按鍵動作時點數(shù)據(jù)(定時器的低8位、定時器的高8位、50ms值、秒、分、小時)按附錄中的時鐘數(shù)據(jù)返回幀的幀格式回傳給主機; l 時鐘數(shù)據(jù)返回幀回傳結(jié)束后,熄滅發(fā)光二極管。 4. 校驗和生成和檢測功能: l 發(fā)送數(shù)據(jù)幀時能自動生成數(shù)據(jù)幀校驗和; l 每幀數(shù)據(jù)在發(fā)送幀尾前,發(fā)送一字節(jié)的當(dāng)前幀數(shù)據(jù)的校驗和; l 接收數(shù)據(jù)幀時能檢測校驗和并判斷接收數(shù)據(jù)是否正確。 附錄:幀定義 校驗和的計算:除去幀頭和幀尾后將幀中的其他數(shù)據(jù)求和并取低8位; 幀長:不計幀頭、幀尾和校驗和字節(jié)。 按鍵允許命令幀: 幀頭 幀長 目的地址 源地址 命令字 校驗和 幀尾 AA 04 FF F0 01 F4 66 時鐘數(shù)據(jù)搜索命令幀: 幀頭 幀長 目的地址 源地址 命令字 保留字 校驗和 幀尾 AA 05 01 F0 03 00 F9 66 時鐘數(shù)據(jù)返回幀: 幀頭 幀長 目的地址 源地址 命令字 TL0 TH0 50ms 秒 分 時 校驗和 幀尾 AA 0A F0 01 07 01 B6 09 03 00 00 C5 66 幀結(jié)構(gòu)頭文件frame.h(內(nèi)容如下) //幀格式定義 #define FRAME_HEAD 0xAA //幀頭 #define FRAME_FOOT 0x66 //幀尾 #define FRAME_LEN 0x00 //幀長 #define FRAME_DST_ADR 0x01 //目的地址 #define FRAME_SRC_ADR 0x02 //源地址 #define FRAME_CMD 0x03 //命令字 #define FRAME_DATA 0x04 //幀數(shù)據(jù)起始 //幀命令定義 #define READY 0x01 //按鍵允許命令 #define TIME_SERCH 0x03 //時鐘數(shù)據(jù)輪詢命令 #define TIME_BACK 0x07 //時鐘數(shù)據(jù)返回命令 //地址定義 #define BROAD_ADR 0xFF //廣播地址 #define MASTER_ADR 0xF0 //主機地址
上傳時間: 2020-06-18
上傳用戶:umuo
100-24c02記憶開機次數(shù)101-24c02存儲上次使用中狀態(tài)102-DS1302 時鐘原理103-DS1302可調(diào)時鐘104-DS1302時鐘串口自動更新時間105-1602液晶顯示DS1302時鐘106-字庫ST7920 12864液晶基礎(chǔ)顯示107-按鍵 12864顯示108-PCF8591 1路AD數(shù)碼管顯示109-PCF8591 4路AD數(shù)碼管顯示11-LED循環(huán)右移110-PCF8591 DA輸出模擬111-PCF8591 輸出鋸齒波112-PCF8591 1602液晶顯示113-串口通訊114-串口通訊中斷應(yīng)用115-RS485基本通訊原理116-紅外接收原理117-紅外解碼數(shù)碼管顯示118-紅外解碼1602液晶顯示119-紅外發(fā)射原理12-查表顯示LED燈120-紅外收發(fā)測試121-雙紅外發(fā)射避障原理測試122-1個18B20 溫度傳感器 數(shù)碼管顯示123-1個18b20溫度傳感器1602液晶顯示124-多個18b20溫度傳感器1602液晶顯示125-超溫報警測試126-溫度可調(diào)上下限1602126-溫度可調(diào)上下限1602顯示127-PS2鍵盤輸入1602液晶顯示128-雙色點陣1種顏色顯示測試129-雙色點陣2種顏色顯示測試13-雙燈左移右移閃爍130-雙色點陣顯示特定圖形131-雙色點陣交替圖形顯示132-雙色點陣雙色交替動態(tài)顯示133-熱敏電阻測試數(shù)碼管顯示134-光敏電阻測試數(shù)碼管顯示135-自動調(diào)光測試136-串轉(zhuǎn)并數(shù)字芯片測試137-非門數(shù)字芯片測試138-電子琴139-實用99分鐘倒計時器14-花樣燈140-外部頻率測試141-定時做普通時鐘可調(diào)142-1602液晶顯示的密碼鎖143-實用密碼鎖144-1602液晶顯示的計算器145-秒表146-串口測溫電腦顯示147-交通燈測試148-點陣模擬電梯上行下行149-點陣流動廣告模擬15-PWM調(diào)光150-綜合測試程序151-12位AD_DS1621與12864液晶152-閃爍燈一153-閃爍燈二154-流水燈A155-51單片機12864大液晶屏proteus仿真156-流水燈B157-數(shù)碼管顯示158-12864LCD顯示計算器鍵盤按鍵實驗159-數(shù)碼管顯示(鎖存器)16-共陽數(shù)碼管靜態(tài)顯示160-數(shù)碼管動態(tài)顯示161-數(shù)碼管滾動顯示162-數(shù)碼管字符顯示163-獨立按鍵164-矩陣鍵盤165-矩陣鍵盤(LCD)166-用DS1302與12864LCD設(shè)計的可調(diào)式中文電子日歷167-定時器的使用(方式1)168-12864LCD圖形滾動演示169-用PG12864LCD設(shè)計的指針式電子鐘17-1個共陽數(shù)碼管顯示變化數(shù)字170-定時器的使用(方式2)171-外部中斷的使用172-定時器和外部中斷173-開關(guān)控制12864LCD串行模式顯示174-點陣顯示175-液晶1602顯示176-12864帶字庫測試程序177-串行12864顯示178-遙控鍵值解碼-12864LCD顯示179-液晶12864并行18-單個數(shù)碼管模擬水流180-液晶12864并行2181-串口發(fā)送試驗182-串口接收試驗183-串口接收(1602)184-蜂鳴器發(fā)聲185-直流電機調(diào)速186-蜂鳴器間斷發(fā)聲187-lcd-12864應(yīng)用188-繼電器控制189-直流電機調(diào)速19-按鍵控制單個數(shù)碼管顯示190-步進電機191-存儲AT24C02192-PCF8591T AD實驗193-PCF8591T芯片DA實驗194-溫度采集DS18B20195-EEPROM_24C02196-12864LCD顯示24C08保存的開機畫面197-紅外解碼198-12864LCD顯示EPROM2764保存的開機畫面199-時鐘DS1302(LCD)2-IO輸出-點亮1個LED燈方法220-單個數(shù)碼管指示邏輯電平200-宏晶看門狗201-SD卡202-秒表203-普通定時器時鐘204-彩屏控制205-彩屏圖片顯示206-12864+DS1302時鐘+18B20溫度計207-12864測試程序208-12864串行驅(qū)動演示209-12864生產(chǎn)廠程序21-8位數(shù)碼管顯示其中之一210-12864中文顯示測試211-LCD12864212-12864M液晶顯示(有字庫)程序(匯編)213-超聲波測距LCD12864顯示214-紅外遙控鍵值解碼12864液晶顯示(匯編語言)215-用DS1302與12864LCD設(shè)計的可調(diào)式中文電子日歷216-中文12864217-中文12864LCD顯示紅外遙控解碼實驗218-IO端口輸出219-IO端口輸入22-8位數(shù)碼管靜態(tài)顯示其中之二220-流水燈221-數(shù)碼管顯示222-數(shù)碼管動態(tài)掃描演示223-獨立按鍵224-獨立按鍵去抖動225-定時器0226-定時器1227-定時器2228-外部中斷0電平觸發(fā)229-外部中斷0邊沿觸發(fā)23-8位數(shù)碼管動態(tài)掃描顯示230-外部中斷1231-矩陣鍵盤232-液晶LCM1602233-LCD1602動態(tài)顯示234-EEPROM24c02235-開機次數(shù)記憶236-紅外解碼LCD1602液晶顯示237-紅外解碼數(shù)碼管顯示238-喇叭239-液晶背光控制24-8位數(shù)碼管動態(tài)掃描原理演示240-與電腦串口通信241-步進電機242-字庫LCD12864液晶測試243-液晶數(shù)碼綜合顯示244-99秒計時245-99倒計時246-搶答器247-PWM調(diào)光248-LED點陣249-直流電機調(diào)速25-數(shù)碼管顯示動態(tài)數(shù)據(jù)250-按鍵計數(shù)器251-秒表252-數(shù)碼管移動253-花樣燈254-紅綠燈255-音樂播放256-紅外收發(fā)演示257-普通定時器時鐘258-繼電器控制259-ps2鍵盤LCD1602液晶顯示26-9累加260-RTC實時時鐘DS1302液晶顯示261-單線溫度傳感器18b20262-串口測溫263-帶停機 步進電機正反轉(zhuǎn)264-步進電機正反轉(zhuǎn)265-AD_DA_PCF8591266-液晶AD_DA_PCF8591267-秒手動記數(shù)268-功能感受269-流水登27-99累加270-點亮一個二極管271-用單片機控制一個燈閃爍272-將P1口狀態(tài)送入P0、P2、P3273-P3口流水燈274-通過對P3口地址的操作流水點亮8位LED275-用不同數(shù)據(jù)類型控制燈閃爍時間276-用P0口、P1 口分別顯示加法和減法運算結(jié)果277-用P0、P1口顯示乘法運算結(jié)果278-用P1、P0口顯示除法運算結(jié)果279-用自增運算控制P0口8位LED流水花樣28-999累加280-用P0口顯示邏輯與運算結(jié)果281-用P0口顯示條件運算結(jié)果282-用P0口顯示按位異或運算結(jié)果283-用P0顯示左移運算結(jié)果284-萬能邏輯電路實驗285-用右移運算流水點亮P1口8位LED286-用if語句控制P0口8位LED的流水方向287-用swtich語句的控制P0口8位LED的點亮狀態(tài)288-用for語句控制蜂鳴器鳴笛次數(shù)289-包含單片機寄存器的頭文件29-9999累加290-用do-while語句控制P0口8位LED流水點亮291-用字符型數(shù)組控制P0口8位LED流水點亮292-用P0口顯示字符串常量293-用P0 口顯示指針運算結(jié)果294-用指針數(shù)組控制P0口8位LED流水點亮295-用數(shù)組的指針控制P0 口8 位LED流水點亮296-用P0 、P1口顯示整型函數(shù)返回值297-用有參函數(shù)控制P0口8位LED流水速度298-用數(shù)組作函數(shù)參數(shù)控制流水花樣299-用數(shù)組作函數(shù)參數(shù)控制流水花樣3-IO輸出-點亮多個LED燈方法130-9累減300-用函數(shù)型指針控制P1口燈花樣31-99累減32-999累減33-9999累減34-顯示小數(shù)點35-數(shù)碼管消隱36-數(shù)碼管遞加遞減帶消隱37-數(shù)碼管左移38-數(shù)碼管右移38-數(shù)碼管右移139-數(shù)碼管右移24-IO輸出-點亮多個LED燈方法240-數(shù)碼管循環(huán)左移41-數(shù)碼管循環(huán)右移41-數(shù)碼管循環(huán)右移142-數(shù)碼管循環(huán)右移243-數(shù)碼管閃爍44-數(shù)碼管局部閃爍45-定時器046-定時器147-定時器248-產(chǎn)生1mS方波49-產(chǎn)生200mS方波5-閃爍1個LED50-產(chǎn)生多路不同頻率方波51-1個獨立按鍵控制LED52-1個獨立按鍵控制LED狀態(tài)轉(zhuǎn)換53-2按鍵加減操作53-2按鍵加減操作數(shù)碼管顯示54-多位數(shù)按鍵加減(閃爍)54-多位數(shù)按鍵加減(閃爍)數(shù)碼管顯示55-多位數(shù)按鍵加減(不閃爍)55-多位數(shù)按鍵加減(不閃爍)數(shù)碼管顯示56-定時器掃描數(shù)碼管(不閃爍)57-按鍵長按短按效果58-搶答器59-獨立按鍵依次輸入數(shù)據(jù)6-不同頻率閃爍1個LED燈60-按鍵從右至左輸入61-8位端口檢測8獨立按鍵62-矩陣鍵盤行列掃描63-矩陣鍵盤反轉(zhuǎn)掃描64-矩陣鍵盤中斷掃描65-矩陣鍵盤密碼鎖66-矩陣鍵盤簡易計算器67-外部中斷0電平觸發(fā)68-外部中斷1電平觸發(fā)69-外部中斷0下降沿觸發(fā)7-不同頻率閃爍多個LED燈70-外部中斷1下降沿觸發(fā)71-T0外部計數(shù)輸入72-T1外部計數(shù)輸入73-看門狗溢出測試74-按鍵喂狗75-喇叭發(fā)聲原理76-警車聲音77-救護車聲音78-喇叭滴答聲79-報警發(fā)聲8-8位LED左移80-消防車警報81-音樂播放82-步進電機轉(zhuǎn)動原理83-步進電機正反轉(zhuǎn)84-步進電機按鍵控制85-步進電機轉(zhuǎn)
上傳時間: 2021-11-08
上傳用戶:
基于51單片機的智能遙控晾衣架設(shè)計硬件主要構(gòu)成:單片機+最小系統(tǒng)+無線收發(fā)模塊+編碼解碼模塊+電機模塊+限位開關(guān)模塊+數(shù)碼管顯示模塊+濕度檢測模塊+光敏檢測模塊+繼電器驅(qū)動模塊+蜂鳴器模塊+LED指示燈模塊+按鍵模塊主要功能實現(xiàn):1.電機的轉(zhuǎn)動是通過繼電器控制的,可見負載的廣泛性。實際應(yīng)用中繼電器可以接其他負載;2.開機初始時為智能模式,通過光敏自動識別光線強弱(白天或夜晚),采用DHT11溫濕度傳感器檢測空氣的濕度,數(shù)碼管顯示濕度值,當(dāng)濕度小于80%時,電機會相應(yīng)的白天伸出或夜晚收回衣架,碰觸相應(yīng)的限位行程開關(guān),停止轉(zhuǎn)動。如果外面的濕度達到80%以上時,即使是白天衣架也會自動收回。實際應(yīng)用中行程開關(guān)安裝在晾衣架的上下限位處,當(dāng)晾衣架上升或下降到極限時,會碰觸行程開關(guān)(設(shè)計中只是模擬,需要用手碰觸),行程開關(guān)會給單片機信號,從而防止過卷,安全無誤;3.當(dāng)按下遙控板上的切換按鍵,實現(xiàn)智能模式與手動模式的切換。手動模式按一下伸出或收回鍵電機相應(yīng)的轉(zhuǎn)動,再按一下停止,晾衣架到限位即手動碰觸行程開關(guān)會停止轉(zhuǎn)動。
上傳時間: 2022-07-03
上傳用戶:trh505
本程序所用的原理圖下載: 點這里 ,單片機芯片使用的stc89c52;找到相應(yīng)部分即可.這是一整個單片機開發(fā)板的電路圖其他的忽略.hex文件及其工程文件以下是通過測試的源代碼:/**功能:使用矩陣按鍵使得按鍵按下時數(shù)碼管上顯示各自對應(yīng)的數(shù)字(0 ~ F);*日期:2018-05-03-17:51;*特別說明:本程序代碼已經(jīng)通過調(diào)試,僅供學(xué)習(xí)使用;**//***********AT89C52-RC 單片機51hei 實驗板***********//*****************51hei-開發(fā)板*********************/#include typedef unsigned int uint;typedef unsigned char uchar;
標簽: 51單片機
上傳時間: 2022-07-23
上傳用戶:
VIP專區(qū)-嵌入式/單片機編程源碼精選合集系列(160)資源包含以下內(nèi)容:1. i2c ipcore of altera fpga that uses ahdl lauguage..2. 嵌入式C編程與Atmel AVR 美 Richard Barnett等著 清華 周俊杰 等譯.3. 一個POWERPC的原理圖,包括ORCAD格式的原理圖等.4. 51s系列單片機入門的最佳編程器制作資料.5. 一個開源的嵌入式flash播放器的源代碼.6. 一個用LINUX GTK開發(fā)的嵌入式瀏覽器.7. 用C語言編的帶數(shù)碼管顯示的電子琴.8. 希望從事C/C++嵌入式開發(fā)的朋友.9. 步進電機的單片機控制.10. 小波變換及濾波 小波變換及濾波.11. 基于單片機實現(xiàn)遙控編碼器PT2262的軟件解碼.12. c_c++嵌入式系統(tǒng)編程.13. spi driver code one marve.14. 正弦波表生成工具.15. 多級抽取程序,適用于軟件無線電系統(tǒng).16. keil和Proteus聯(lián)調(diào)所必須的一個文件.17. 用比較器實現(xiàn)AD轉(zhuǎn)換.18. FLASH讀寫操作.19. 51單片機的串行通信仿真例子.20. armok01100828.21. 主要介紹了使用MTV230芯片的開發(fā).22. MinGW5 在線安裝程序.23. 這是本人調(diào)用small rtos51的函數(shù)來仿真寫的基本代碼.24. s3c2440開發(fā)板原理圖 s3c2440開發(fā)板原理圖.25. AT89c51單片機下,液晶顯示LCD1602的c語言驅(qū)動程序,原創(chuàng)代碼.26. 這是我的開發(fā)板的原理圖.27. 51單片機SPI讀取SCA100角度值,帶溫度補償,精度達到0.008度..28. motorala模式對CPLD的讀寫和譯碼.29. 關(guān)于nucleus系統(tǒng)的教程文檔.30. 單片機 嚴青新板調(diào)試程序 單片機最小系統(tǒng)及流水燈程序 更新時間:2006-12-29 執(zhí)行結(jié)果:在單片機的P1口上的8個發(fā)光二極管按流水燈順序而跑動.31. 實現(xiàn)利用8051單片機透過軟體I2C驅(qū)動TSEM0108L感測器之程式庫.32. 20060531am--Windows嵌入式開發(fā)系列課程(1):Windows CE系統(tǒng)定制開發(fā)入門.33. s3c2410 tesy program.34. s3c2440開發(fā)板元件庫,希望對初學(xué)者有用.35. s3c2440開發(fā)板元件庫,希望對初學(xué)者有用.36. 能夠較好地實現(xiàn)大多數(shù)車牌的識別.37. 計算機主板pcb文件,可以拿來學(xué)習(xí)一下..38. wince操作系統(tǒng)下USB設(shè)備的驅(qū)動程序源碼.39. 一本介紹嵌入式OS原理及編程的英文書籍.40. 【cacti】Weathermap使用手冊.
上傳時間: 2013-04-15
上傳用戶:eeworm
51單片機控制LED點陣式漢顯系統(tǒng)制作資料
上傳時間: 2013-07-01
上傳用戶:eeworm
51系列單片機設(shè)計實例(2009年度暢銷榜)
上傳時間: 2013-07-12
上傳用戶:eeworm
51多字節(jié)整數(shù)運算子程序
上傳時間: 2013-07-04
上傳用戶:eeworm
從51到ARM32位嵌入式系統(tǒng)入門 .PDF
標簽: ARM 32 嵌入式系統(tǒng)
上傳時間: 2013-04-15
上傳用戶:eeworm
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1