利用撥碼開關(guān)為可編程器件輸入讀寫命令和相應(yīng)的地址、數(shù)據(jù),8051讀入可編程器件設(shè)定的命令字并根據(jù)可編程器件的設(shè)置進(jìn)行讀寫操作,讀出來的數(shù)據(jù)通過P0輸出給可編程器件,并由可編程器件控制七段數(shù)碼管顯示。(Verilog+單片機(jī))
標(biāo)簽: 撥碼開關(guān) 可編程器件 命令 地址
上傳時間: 2014-01-10
上傳用戶:talenthn
設(shè)計一電子鐘,采用CPU為51系列單片機(jī),用C51或ASM51編寫軟件,給出SCH原理圖和軟件清單(要求有功能注釋),系統(tǒng)要求如下: 1. 4個按鍵,分別為設(shè)置、+、-、->可以循環(huán)時間設(shè)置。 2. 采用I2C 8583時鐘芯片(可以查相關(guān)資料)。 3. 8個8段LED顯示。顯示內(nèi)容:時-分-秒。 4. 8個按鍵分別可以模擬外部8個故障點。 5. EEPROM保存最近100個外部故障數(shù)據(jù)。 6. RS232上位機(jī)接口。 該系統(tǒng)軟件完成以下功能: 1. 上電時電子種方式顯示當(dāng)前時間。 2. 設(shè)置按鍵進(jìn)入設(shè)置狀態(tài),可以重新設(shè)置新時間值,結(jié)果寫入8583。設(shè)置完成后電子種方式顯示當(dāng)前時間。 3. 實時監(jiān)測外部8個故障點,一旦故障記錄其發(fā)生時間和恢復(fù)時間。 4. 上位機(jī)傳來命令字0xaa向上位機(jī)發(fā)送實時檢測結(jié)果。(自定義通訊協(xié)議)。
標(biāo)簽: 電子鐘
上傳時間: 2016-12-22
上傳用戶:Late_Li
題目:基于51單片機(jī)的RS485從機(jī)系統(tǒng)設(shè)計 單片機(jī)接口資源配置: 1. 上電復(fù)位電路; 2. 晶振電路采用11.0592Mhz晶振; 3. 485接口電路(P3.7用于485芯片的收發(fā)控制,收發(fā)管腳接單片機(jī)的rxd和txd); 4. P2口通過外部跳線接相應(yīng)的高低電平,配置從機(jī)地址為組號; 5. P3.6外接一發(fā)光二極管(注意串聯(lián)電阻進(jìn)行限流); 6. P3.2外接一按鍵,斷開高電平,按下低電平; 7. 按鍵檢測采用外部中斷方式,下跳沿觸發(fā); 8. 單片機(jī)定時器0以模式1(16位模式)工作,產(chǎn)生50ms的定時中斷,并在此基礎(chǔ)上設(shè)計一單片機(jī)內(nèi)部時鐘(24小時制,能計數(shù)時、分、秒、50ms值); 9. 單片機(jī)串行通信采用模式1非多機(jī)通信方式,采用9600波特率以串行中斷方式進(jìn)行數(shù)據(jù)的收發(fā)通信,主機(jī)地址為0xF0,廣播地址為0xFF。 系統(tǒng)功能需求: 1. 系統(tǒng)配置和自檢功能: l 從機(jī)上電后進(jìn)行初始化,通過讀取P2口進(jìn)行從機(jī)地址配置; l 發(fā)光二極管以每秒一次的頻率閃爍(亮0.5秒,滅0.5秒); l 檢測到一次按鍵按下操作后,熄滅發(fā)光二極管。 2. 數(shù)據(jù)接收和按鍵計時功能: l 從機(jī)接收主機(jī)程序(PC機(jī)上的串口調(diào)試程序)的按鍵允許命令幀并進(jìn)行校驗; l 校驗正確并且目的地址是廣播地址或者本從機(jī)的地址,通過發(fā)光二極管長亮指示,并允許按鍵操作; l 按鍵按下后,盡可能準(zhǔn)確記錄按鍵的動作時點(定時器的低8位、定時器的高8位、50ms值、秒、分、小時); l 按鍵操作只能響應(yīng)一次,重復(fù)按鍵操作不響應(yīng); l 按鍵的動作時點記錄后,發(fā)光二極管以每秒一次的頻率閃爍(亮0.5秒,滅0.5秒)。 3. 數(shù)據(jù)發(fā)送功能: l 從機(jī)接收主機(jī)程序發(fā)來的時鐘數(shù)據(jù)搜索命令幀并進(jìn)行校驗; l 如果校驗正確并且數(shù)據(jù)幀的目的地址是本從機(jī)的地址,從機(jī)將前面記錄的按鍵動作時點數(shù)據(jù)(定時器的低8位、定時器的高8位、50ms值、秒、分、小時)按附錄中的時鐘數(shù)據(jù)返回幀的幀格式回傳給主機(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 //主機(jī)地址
上傳時間: 2020-06-18
上傳用戶:umuo
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1