0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個ds18b20采集和64位光刻ROM讀出的小東西

GReq_mcu168 ? 來源:未知 ? 作者:李倩 ? 2018-08-29 10:32 ? 次閱讀

寫這個帖子其實還是自己對后面的職業(yè)規(guī)劃不清晰,所以想來各位前輩交流和請教(各位前輩之前都是怎樣渡過的?)另一方面是整理下自己做的東西,將自己做的東西放到二姨家(第一次),雖然都是些小玩意,之前算是自己學(xué)的51吧,我們學(xué)校居然還上的匯編(不是說匯編不好),雖然也跟著學(xué)了些,但從來老師布置的任務(wù)都是用C,現(xiàn)在就是匯編指令都快忘光了,能看點,但不會寫。

實習(xí)做了一段時間電路板維修,然后就開始做MCU開發(fā)相關(guān)的工作,公司目前使用的是PIC系列的MCU。

寫這個帖子的初衷是想和各位前輩交流下,想聽聽前輩們的經(jīng)驗或者歷程(前輩們愿意說的話),對于學(xué)習(xí)51之后應(yīng)該學(xué)什么做什么,在網(wǎng)上也看過點篇相關(guān)文章,就是AVR、PIC和STM32等(MCU)或者ARM(上操作系統(tǒng)),對此確實感到了些不知怎么做...

回憶下,這是原來第一次自己焊洞洞板時的拍的,是一個ds18b20采集和64位光刻ROM讀出的小東西:

這是到現(xiàn)在做的最失敗的作品,沒有之一,用學(xué)校雕刻機雕的,也是雕刻水平和經(jīng)驗值還不夠啊,本來想做個ADC轉(zhuǎn)換和485通信的,結(jié)果就這樣了:

后來決定還是從小做起,先不要搞得復(fù)雜了,先把溫度采集做個PCB,要的是可行性和穩(wěn)定性,于是也開始學(xué)習(xí)PCB畫板布線,這時我還沒有使用AD的,用的是DXP2004,之前學(xué)過點后面基本記不得了,基本也是現(xiàn)學(xué)現(xiàn)賣,好在沒犯什么很嚴重的錯誤導(dǎo)致整塊板子廢掉那種,錯誤也有就是把USB電源網(wǎng)絡(luò)標簽放反了,導(dǎo)致割線,廢話不多,上圖:

51計算器PCB:

這是前段時間做的12864顯示詩詞可用按鍵控制和上位機發(fā)送命令控制,也是開始使用AD畫圖之后第一次用AD畫板,可以先先介紹一下,液晶屏是用的帶字庫的,顯示字符方便倒是方便,就是畫圖和反白有問題,為此我還在論壇上發(fā)帖問過呢,以后堅決不用,還是自己寫字庫好,就是我用的STC89C52撐不住啊,現(xiàn)在才4首詩只往里寫了3首,程序存儲空間和ROM已經(jīng)放不下了;按鍵是抬起執(zhí)行(顯示滾動和開背光和蜂鳴器),所有任務(wù)都交給定時器來分配,不死循,但是有一個問題:開啟串口接收中斷后顯示刷新時間被拉長了。上圖吧,完整的代碼就不放這兒了,太占地方,放個片段

/*********************************************

FunctionName: pomeDisplay

FunctionInfo: 詩詞顯示函數(shù)

Input: no

Output: no

注:如果想要整屏向下移動->改變行數(shù)(行++)DisplayWhere(gFlag.gKeyRow +1,gVerse1.firstVerse);

但這種做法不好;于是想了第二種方法->不改變行數(shù) 改變顯示內(nèi)容

就可以向上翻,把下面的也顯示出來

**********************************************/

void pomeDisplay(void)

{

switch(gFlag.gKeyPage)

{

case 0: //第一頁->詩名

{

DisplayWhere(1,gTitile.firstPoetry+16*gFlag.gKeyRow); //&a+16和a+16一樣的效果

if(gFlag.gKeyRow <(TITLE_NUM-1)) //若是改變詩的首數(shù)需改變這個宏

{

DisplayWhere(2,gTitile.secondPoetry+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-2))

{

DisplayWhere(3,gTitile.thirdPoetry+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-3)) //向上翻顯示時不加邊界檢查 不需要顯示那行會顯示垃圾內(nèi)容

{ //也就是現(xiàn)在4首詩按下第二次下鍵后第四行便要為空移到上行

DisplayWhere(4,gTitile.fourthPoetry+16*gFlag.gKeyRow);

}

break;

}

case 1: //第二頁->詩句

{

if(ZERO == gFlag.gTitleCnt) //第一首

{

DisplayWhere(1,gVerse1.firstVerse+16*gFlag.gKeyRow);

if(gFlag.gKeyRow <(TITLE_NUM-1))

{

DisplayWhere(2,gVerse1.secondVerse+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-2))

{

DisplayWhere(3,gVerse1.thirdVerse+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-3))

{

DisplayWhere(4,gVerse1.fourthVerse+16*gFlag.gKeyRow);

}

break;

}

if(ONE == gFlag.gTitleCnt) //第二首

{

DisplayWhere(1,gVerse2.firstVerse+16*gFlag.gKeyRow);

if(gFlag.gKeyRow <(TITLE_NUM-1))

{

DisplayWhere(2,gVerse2.secondVerse+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-2))

{

DisplayWhere(3,gVerse2.thirdVerse+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-3))

{

DisplayWhere(4,gVerse2.fourthVerse+16*gFlag.gKeyRow);

}

break;

}

if(TWO == gFlag.gTitleCnt) //第三首

{

DisplayWhere(1,gVerse3.firstVerse+16*gFlag.gKeyRow);

if(gFlag.gKeyRow <(TITLE_NUM-1))

{

DisplayWhere(2,gVerse3.secondVerse+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-2))

{

DisplayWhere(3,gVerse3.thirdVerse+16*gFlag.gKeyRow);

}

if(gFlag.gKeyRow <(TITLE_NUM-3))

{

DisplayWhere(4,gVerse3.fourthVerse+16*gFlag.gKeyRow);

}

break;

}

}

default:break;

}

}

12864顯示詩詞并通信控制

這就是我的DIY歷程,

這是原來還在學(xué)校時就一直想做的計算器,現(xiàn)在也干脆不在實驗板上弄了,為了熟悉PCB布線也把它做成PCB吧,于是就有了下圖:

以上就是我的51DIY歷程,雖然現(xiàn)在在上班了,可是還在糾結(jié)是偏軟件還是硬件....

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16665

    瀏覽量

    347753
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    774

    瀏覽量

    80481

原文標題:一位新手嵌入式er分享51單片機DIY例程 ,糾結(jié)軟件還是硬件...?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于STM32的DS18B20溫度傳感器設(shè)計

    DS18B20內(nèi)置了64產(chǎn)品序列號,方便識別身份,在根線上可以掛接多個DS18B20傳感器,通過64
    的頭像 發(fā)表于 03-07 11:44 ?1.3w次閱讀
    基于STM32的<b class='flag-5'>DS18B20</b>溫度傳感器設(shè)計

    DS18B20 數(shù)字溫度計特點

    框圖如下: DS18B20內(nèi)部框圖 DS18B20的電源可以由數(shù)據(jù)線本身提供(如框圖所示),可不需要再接外部電源,因此從CPU到DS18B20僅需條數(shù)據(jù)線和地線。 內(nèi)部的
    的頭像 發(fā)表于 09-11 11:19 ?2338次閱讀
    <b class='flag-5'>DS18B20</b> 數(shù)字溫度計特點

    stm32 ds18b20驅(qū)動 轉(zhuǎn)

    序列號。如果總線上存在多于的節(jié)點,則此指令不能使用。 2 )ROM匹配(指令碼0X55H):此命令后跟64
    發(fā)表于 01-16 11:29

    如何實現(xiàn)在同一個IO口上接多個DS18B20,進行多點溫度測量教程

    DS18B20光刻ROM是實現(xiàn)多點溫度采集的前提,首先初始化
    發(fā)表于 05-12 20:24

    【眾拳】基于STM8的DS18B20溫度傳感器實驗

    56的循環(huán)冗余校驗碼。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)根總
    發(fā)表于 12-15 09:49

    多個DS18B20測溫仿真

    請問大家DS18B20在Proteus中怎么設(shè)置ram seial number呢,仿真運行不起來 1602顯示直錯誤猜測是兩問題 是序列號設(shè)置不對(如圖
    發(fā)表于 05-07 14:45

    如何實現(xiàn)在同一個IO口上接多個DS18B20,進行多點溫度測量教程

    光刻ROM可以通過串口,打印到上位機上然后在上位機中可以看到這樣的數(shù)據(jù)(看不清可以放大WORD來看)要知道64光刻
    發(fā)表于 09-23 20:05

    DS18B20簡介

    1、DS18B20簡介DS18B20本身就是溫度傳感器,只需要將DS18B20的數(shù)據(jù)引腳和單片機的
    發(fā)表于 11-22 07:21

    DS18B20的相關(guān)資料分享

    與主機通信,只需要根線就可以完成溫度數(shù)據(jù)讀??;DS18B20內(nèi)置了64產(chǎn)品序列號,方便識別身份,在根線上可以掛接多個
    發(fā)表于 11-30 06:22

    使用DS18B20實現(xiàn)溫度采集并在串口或液晶屏上顯示

    /1的時序圖:ROM命令總線上可以掛多個器件,通過不同的器件地址來訪問不同的器件。同樣, 1-Wire 總線也可以掛多個器件,但是它只有條線,如何區(qū)分不同的器件呢?在每個 DS18B20 內(nèi)部都有
    發(fā)表于 01-05 08:06

    DS18B20串行通信誤碼的解決辦法

    DS18B20DS1820 的更新?lián)Q代產(chǎn)品,在測溫系統(tǒng)中得到了廣泛的應(yīng)用。DS18B20與微機的接口僅需使用I/O端口, 它的
    發(fā)表于 04-16 09:18 ?32次下載

    DS18B20實例

    DS18B20的實例(仿真和程序),可以很好地了解關(guān)于DS18B20的運行過程
    發(fā)表于 06-02 16:16 ?142次下載

    STM32獲取DS18B2064光刻ROM讀取程序下載

    STM32獲取DS18B2064光刻ROM讀取程序下載
    發(fā)表于 04-23 14:27 ?17次下載

    DS18B20的組成以及工作過程

    DS18B20般都是由64ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器組成。RO
    的頭像 發(fā)表于 07-08 09:18 ?8979次閱讀

    STM32F407入門開發(fā): DS18B20溫度傳感器應(yīng)用

    DS18B20是數(shù)字溫度傳感器,單總線接口,讀取溫度只需要IO口,還有不同的封裝形式,支持不同的環(huán)境。每個DS18B20還有64
    的頭像 發(fā)表于 05-28 13:41 ?5872次閱讀
    STM32F407入門開發(fā): <b class='flag-5'>DS18B20</b>溫度傳感器應(yīng)用