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