娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月03日(星期一)

2020年02月03日 | 基于采用ATMEGA16單片機的定時計數器,實現LED亮度自動調節

發布者:跳躍龍珠 來源: elecfans關鍵字:ATMEGA16  單片機  定時計數器  LED亮度  自動調節 手機看文章 掃描二維碼
隨時隨地手機看文章

ATMEGA16的定時/計數器


T/C1定時器A/B比較匹配中斷和溢出中斷實現LED亮度自動調節。


這里沒有什么要注意的,只要理解并會控制T/C1的兩個比較匹配中斷A/B和溢出中斷。


然后就是仿真圖片~

基于采用ATMEGA16單片機的定時計數器,實現LED亮度自動調節

基于采用ATMEGA16單片機的定時計數器,實現LED亮度自動調節

基于采用ATMEGA16單片機的定時計數器,實現LED亮度自動調節

//------------------------------------------------------------------------------

//通過比較匹配中斷和定時器溢出中斷(T1)來控制LED亮度的自動變化

//定時器T1的定時長度設置為32.768ms,定時器T1的比較匹配寄存器設置為10位快速PWM模式

//在定時器T1發生溢出中斷之前,首先比較中斷觸發,點亮LED燈;定時器T1繼續運行直到溢出,

//將LED關閉。主程序不斷改變著比較匹配值(從接近最小值0到接近最大值1023),因此輸出的脈寬

//(既LED的亮度)會自動變化。

//由于定時器T1具有2個比較匹配寄存器(OCR1A、OCR1B),既可實現2個LED燈的自動變化

#include“ioavr.h”

#include“intrinsics.h”

#include“Delay.h”

typedef unsigned char uchar;

typedef unsigned intuint;

#define CPL_BIT(x,y)(x^=(1《#define CLR_BIT(x,y)(x&=~(1《#define SET_BIT(x,y)(x|=(1《#define GET_BIT(x,y)(x&(1《ucharflag_a=1,flag_b=0;

//------------------------------------------------------------------------------

//端口定時函數

voidport_init()

{

DDRB=0XFF;

PORTB=0XFF;

}

//------------------------------------------------------------------------------

//T1的初始化函數

voidtimer1_init()

{

OCR1B=0X00;//stop

TCNT1H=0X00;//定時器初值為0

TCNT1L=0X00;

OCR1AH=0X03;//由于工作在10位快速PWM模式計數上線值TOP為0X3FF(這個我不知道到底需不需要設置,是不是體統自己就設置好了~~~)還有就是它如果溢出呢?大于0X03FF?會怎么樣?

OCR1AL=0XFF;

OCR1BH=0X03;

OCR1BL=0XFF;

TCCR1A=0X03;//設置A/B端口為普通端口操作,10位快速PWM模式,T/C1的時鐘源為來自預分頻器的256分頻

TCCR1B=0X0C;

}

//------------------------------------------------------------------------------

//芯片初始化函數

voiddevice_init()

{

__disable_interrupt();//disable all interrupts

port_init();

timer1_init();

TIMSK=0X1C;//T/C1輸出比較A/B匹配中斷使能以及溢出中斷使能

__enable_interrupt();

}

//------------------------------------------------------------------------------

//main

voidmain()

{

device_init();

while(1)

{

delay_s(1);//延時,有益處~~~!最大延時我還不知道~~~

//--------------------------------------------------------------------------

//flag_a=1的時候OCR1A+=20,如果OCR1A》1000,清零flag_a

if(GET_BIT(flag_a,0)==1)

OCR1A+=20;

if(OCR1A》1000)

CLR_BIT(flag_a,0);

//--------------------------------------------------------------------------

//flag_a=0的情況

if(GET_BIT(flag_a,0)==0)

OCR1A-=20;

if(OCR1A《20)

SET_BIT(flag_a,0);

//--------------------------------------------------------------------------

//flag_b=1的情況

if(GET_BIT(flag_b,0)==1)

OCR1B+=10;

if(OCR1A》1000)

CLR_BIT(flag_b,0);

//--------------------------------------------------------------------------

//flag_b=1的情況

if(GET_BIT(flag_b,0)==0)

OCR1B-=10;

if(OCR1B《10)

SET_BIT(flag_b,0);

}

}

//------------------------------------------------------------------------------

//TIMER1_COMPA

#pragma vector=TIMER1_COMPA_vect

__interrupt voidTImer1_compa()

{

CLR_BIT(PORTB,0);

}

//------------------------------------------------------------------------------

//TIMER1_COMPB

#pragma vector=TIMER1_COMPB_vect

__interrupt voidtimer1_compb()

{

CLR_BIT(PORTB,7);

}

//------------------------------------------------------------------------------

//TIMER1_OVF

#pragma vector=TIMER1_OVF_vect

__interrupt voidtimer1_ovf()

{

SET_BIT(PORTB,0);

SET_BIT(PORTB,7);

}

關鍵字:ATMEGA16  單片機  定時計數器  LED亮度  自動調節 引用地址:基于采用ATMEGA16單片機的定時計數器,實現LED亮度自動調節

上一篇:以AVR為控制電路核心的全自動太陽能工程熱水器控制器設計
下一篇:淺談ATmega 16單片機的T/C0控制寄存器和T/C1控制寄存器

推薦閱讀

彭博社援引知情人士的消息稱,2019年蘋果公司(以下簡稱“蘋果”)將為iPhone手機配備前后兩個3D傳感器,以便讓iPhone變成領先的AR(增強現實)設備。當前,iPhone X已經配備了前置3D傳感系統TrueDepth。該傳感器系統采用“結構光”(structured-light)技術,投射器會將大約30000個經過編碼的“結構光”紅外線點投影向人臉,紅外線鏡頭接收到這些被扭曲的圖形...
車聯網與智能駕駛車聯網和自動駕駛密切相關,很大程度上可以理解為是對自動駕駛高階版本的增強和補充,通過車與車、車與人、車與交通基礎設施、車與網絡的互聯互通,讓對環境已經具備感知能力的自動駕駛汽車,再增加“預知未來”的能力,如果說L4級的無人駕駛是達到了人類駕駛員水準,可以代替人類完成對汽車的控制,那擁有車聯網技能的自動駕駛便已經超越...
(SABIC)發展戰略的重要內容之一。近日,SABIC選定大昌華嘉集團為核心經銷合作伙伴,為大中華區、韓國與東南亞地區的特種工程熱塑性塑料客戶提供配套服務。 這一合作協議涵蓋SABIC的整個特種材料產品組合,其中包括NORYL?樹脂(聚苯醚基材料)、ULTEM?樹脂(聚醚酰亞胺材料)、LNP?改性料以及全系列的高性能聚碳酸酯共聚物樹脂。 “我們很高興大昌華嘉...
新浪數碼訊 2月3日上午消息 蘋果公司今天發布了macOS Big Sur 11.3開發者測試版,除了修復bug,還為Safari瀏覽器帶來更多自定義選項,以及改善了Mac上運行iOS/iPadOS版App體驗。  雖然是開發者測試版,但它已經提前告訴用戶一些正式版的功能方向,例如Safari,是一次明顯且重要的更新,瀏覽器起始頁面的自定程度更高,用戶可以使用自定義控...

史海拾趣

問答坊 | AI 解惑

IAR5.3(評估版)編譯老是提示如下的錯誤,是怎么一回事啊

Error[Lp021]: the destination for compressed initializer batch "P2 mid-1" is placed at an address that is dependent on the size of the batch, which is not allowed when using packbits compression. Consider using "initialize b ...…

查看全部問答∨

請教:LCD怎樣‘橫屏’轉‘豎屏’

我用的是2450,問一下LCD橫屏轉豎屏,驅動程序里除了在頭文件處修改分辨率外,還要修改什么地方呢? 我只修改了頭文件處定義的分辨率的情況下,屏幕變窄了(部分屏幕黑色沒圖象),豎直方向靠下的部分沒被顯示出來。 不知道在哪(幾)個文件里的函 ...…

查看全部問答∨

下了個WINCE6.0用的GPS軟件,為什么EXE文件運行的時候要讓我顯示打開方式呢?

rt 我用的是OMAP3530開發板,內置GPS模塊,WINCE6.0環境已經建立,網上下了個GPS軟件,EXE格式的用U盤考進去板子里打不開,出現類似于WINDOWS下的讓你選擇打開方式的窗口,不是EXE是可執行文件嗎?而且下的是WINCE6.0可用的版本,謝謝各位了!…

查看全部問答∨

對uCOS移植STM32官方例程的一點疑惑

                                 這兩天,下了個ucos在STM32F103ZE-SK開發板上移植的官方例程(uCOSII-ST-STM32F103ZE-SK),這其中有兩個文件夾,u ...…

查看全部問答∨

電壓比較器LM393

本帖最后由 paulhyde 于 2014-9-15 09:04 編輯 電壓比較器LM393  用正負12V 供電, 其輸出的高電平、和低電平分別為多少呀?   我測試的高為12V, 低為-0.8V, 不知對否?    希望大家能給出自己的測試結果。 &nb ...…

查看全部問答∨

吉時利2110型5½位雙顯示數字萬用表(二)

    操作簡單 2100操作簡單直觀,開箱即可使用。前面板易于理解和操作。其KI-Tool和KI-Link軟件允許用戶通過GPIB(如果安裝了)或USB快速控制儀器,記錄測量,以及顯示數據的時間序列圖。其LabView®和IVI驅動則給高級客戶開放 ...…

查看全部問答∨

請教一個51單片機定時時間差問題

我用STC12LE5A32S2做了個東西。 用定時器0產生定時時間。 定時器是這樣的: void Time0(void) interrupt 1 {    ET0 = 0; //定時器0中斷關 TH0=0xE5;//(65536-n*FOSC/12/1000)/256;//n=10ms 這里采用8M晶振計算的 TL0=0xF5;// ...…

查看全部問答∨

【曬樣片】CC1200已收到

    成功申請到TI的CC1200樣片,下面讓我來分享下申請過程:    首先點了活動鏈接來到活動介紹界面,申請必須為指定樣片才行,大概瀏覽了活動指定的8個芯片后,選取了CC1200。理由:公司做的是工控產品,以前一直用的有線控制 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 潜江市| 松阳县| 金山区| 会昌县| 彭州市| 洮南市| 新宁县| 河源市| 沙坪坝区| 长乐市| 西平县| 益阳市| 蓝山县| 武邑县| 闽侯县| 汉中市| 乐至县| 浮梁县| 黑山县| 山丹县| 聂拉木县| 武鸣县| 敦化市| 张北县| 绥江县| 文登市| 山东| 营山县| 孙吴县| 灵台县| 永康市| 广南县| 衡水市| 云梦县| 涞水县| 汕尾市| 白银市| 南城县| 富民县| 和龙市| 松滋市|