眾籌時間:17日截至;
批量時間:18日之后;
發(fā)貨時間:8月1日;
程序采用C語言編寫,編程環(huán)境為KEIL V4.7版本。之前買來的學習板程序都是已經調好的,一堆全丟給初學者,初學者缺少監(jiān)督、缺少指導,很容易三天打魚兩天曬網,碰到疑問又找不到細致的技術支持單片機定時器里寫程序,最終導致學習板壓到了箱底。為了能和大家一起提高,每1-2天發(fā)布一個功能程序,程序通過微信、QQ群共享、嵌入式學習網振興網等媒介發(fā)布,程序含詳細的注釋,同時提供技術指導、在QQ群答疑,并附有詳細的使用說明手冊,同時相互監(jiān)督。
在學習單片機的時候,我們發(fā)現很多功能都是通過中斷來實現的。之前也舉過燒水的例子來闡述中斷,今天就講解一下定時器賦初值的方法。8位的定時器最大可計數2的8次方為256,16位的定時器最大可計數2的16次方為65536。由于單片機的定時器是遞加式的,所以最大值減去所要定時的值就是初值,舉例如下:
最大值為100,我們只需要38,怎么辦呢,由于是遞加的,我們只需要在62時開始計時就可以了。
以仿真為例簡單講解定時器賦初值
用搭建的電路圖如下單片機定時器里寫程序,晶振為12M,P2.0每10ms翻轉一次,即P2.0輸出的頻率為100HZ。
這里使用16位的定時器,那單片機定時器0的最大計數就是65536.晶振為12M,那單片機的一個機器周期就是1us,定時器 0工作在方式1時最大定時65.536ms。
假設定時時間T=10ms=,
那定時器初值X=65536-10000=,也就是定時器0從55536開始遞加到65536就是10ms,所以55536就是定時器的初值,55536轉化為十六進制為,所以定時器的初值為:
TH0 = 0XD8;
THL = 0XF0;
用虛擬示波器抓到的波形如下:
STM32單片機開發(fā)板正在眾籌中,伙伴們帶著夢想加入吧,你可以直接打賞129元,也可以加我的個人微信發(fā)129的紅包,還可以加支付寶轉賬。眾籌安排時間表:
截至日期:7月17日;
批量日期:7月18日-7月31日;
發(fā)貨日期:8月1日起;