入门项目·电动车报警器
生活随笔
收集整理的這篇文章主要介紹了
入门项目·电动车报警器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
目錄
前言
1.3.1 硬件清單列表
1.3.2 振動傳感器控制燈
1.3.3 繼電器工作邏輯?
1.3.4 遙控發送接收433M
1.3.5?項目開發
二. 定時器
1.4?簡介
1.5?定時器怎么定時
1.6?定時器編程
1.7?定時器中斷方式控制
1.8?遇見瀟瀟遇見你,不負代碼不負卿
前言
1.3.1 硬件清單列表
????????振動傳感器模塊,繼電器模塊,433M無線模塊,反應出來的代碼都是高低電平,跟以上學習按鍵點亮LED 并沒有區別 ,但是做出來有樂趣,好玩刺激! 器件連接圖:1.3.2 振動傳感器控制燈
????????通過我們已經掌握的LED來了解下振動傳感器是怎么回事- ????????如何知道是否發生振動
- ????????振動后的信號表現又是什么
- ????????振動傳感器控制燈
1.3.3 繼電器工作邏輯?
????????其實就是電子開關,怎么開怎么關弄清楚就可以了- ????????怎么控制“閉合”開關呢
- ????????怎么控制"斷開"開關呢
?1.3.4 遙控發送接收433M
https://wenku.baidu.com/view/8fe8f444bed5b9f3f80f1c33.html- 遙控按下后信號怎么被接收
- 接收后的信號表現又是什么
- 遙控控制LED
1.3.5?項目開發
- 接線
- 開發流程代碼?
二. 定時器
1.4?簡介
- C51中的定時器和計數器是同一個硬件電路支持的,通過寄存器配置不同,就可以將他當做定時器 或者計數器使用。
- 確切的說,定時器和計數器區別是致使他們背后的計數存儲器加1的信號不同。當配置為定時器使 用時,每經過1個機器周期,計數存儲器的值就加1。而當配置為計數器時,每來一個負跳變信號 (信號從P3.4 或者P3.5引腳輸入),就加1,以此達到計數的目的。
- 標準C51有2個定時器/計數器:T0和T1。他們的使用方法一致。C52相比C51多了一個T2
- 定時器和計數器,電路一樣
- 定時或者計數的本質就是讓單片機某個部件數數
- 當定時器用的時候,靠內部震蕩電路數數
- 當計數器用的時候,數外面的信號,讀取針腳的數據
1.5?定時器怎么定時
定時器的本質原理: 每經過一個機器周期,就加1 :寄存器 思考:- 什么是晶振
- 什么是時鐘周期
- 什么是機器周期
- 加1經過了多少時間
1.6?定時器編程
????????相關寄存器:- 在哪里加1,最大計數時間,也就是爆表了能計算多長
- 如何算出10ms定時器的初值
- 關于TCON
- 怎么知道爆表
- 怎么開始計時
- 定時器使用是有很多種模式的
- 四個二進制數表示一位的16進制數
- 8421法進制的轉換(方便人類來看,對計算機底層來說,不關心進制010101010)
- 配寄存器推薦用按位操作,清零的時候,對應的需要清零的位與上0,不需要清零的位與上1
- 置1的時候,需要置1的位置或1,不需要置一的位置或0
1.7?定時器中斷方式控制
????????中斷寄存器?CPU能響應定時器0中斷的條件:需要配置IE寄存器的bit1: ET0 bit7:EA
????????1. ET0中斷允許要置一 ET0 = 1 ????????2. EA總中斷要置一 EA = 1 硬件內部設計邏輯如下圖: #include "reg52.h"sbit led = P3^6; sbit led1 = P3^7;int cnt = 0; void Time0Init() {//1. 配置定時器0工作模式位16位計時TMOD = 0x01;//2. 給初值,定一個10ms出來TL0=0x00;TH0=0xDC;//3. 開始計時,定時器"數數"TR0 = 1;TF0 = 0;//4. 打開定時器0中斷ET0 = 1;//5. 打開總中斷EAEA = 1; } void Delay300ms() //@11.0592MHz 軟件延時,CPU“數數” {unsigned char i, j, k;i = 3;j = 26;k = 223;do{do{while (--k);} while (--j);} while (--i); } void main() {led = 1;Time0Init();while(1){led1 = 0;Delay300ms();led1 = 1;Delay300ms();} } void Time0Handler() interrupt 1 {cnt++; //統計爆表的次數//重新給初值TL0=0x00;TH0=0xDC;if(cnt == 100){//爆表100次,經過了1scnt = 0; //當100次表示1s,重新讓cnt從0開始,計算下一次的1sled = !led;//每經過1s,翻轉led的狀態} }1.8?遇見瀟瀟遇見你,不負代碼不負卿
總結
以上是生活随笔為你收集整理的入门项目·电动车报警器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十一周项目7-太乐了
- 下一篇: 软考初级资格考试哪个好考?