




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、項(xiàng)目二:ATmege16中斷與定時(shí)/計(jì)數(shù)器一、項(xiàng)目內(nèi)容:(1)、使用外部中斷,實(shí)現(xiàn)按鍵控制LED亮燈(2)、利用定時(shí)/計(jì)數(shù)器1實(shí)現(xiàn)電子時(shí)鐘的設(shè)計(jì)與制作(3)、利用定時(shí)/計(jì)數(shù)器1實(shí)現(xiàn)頻率與占空比可調(diào)的PWM波形輸出二、項(xiàng)目目標(biāo):(1)、掌握中斷概念(2)、掌握中斷向量(3)、掌握外部中斷的使用(4)、掌握定時(shí)/計(jì)數(shù)器1的使用(5)、進(jìn)一步熟悉C語言的編程技巧三、項(xiàng)目任務(wù):1、按鍵控制的LED閃爍(1)、任務(wù)內(nèi)容:根據(jù)外部中斷的特點(diǎn)設(shè)計(jì)按鍵控制LED閃爍的電原理圖根據(jù)原理圖使用萬能板制作電路編程實(shí)現(xiàn)按鍵控制LED閃爍(2)、任務(wù)目標(biāo):掌握外部中斷寄存器的設(shè)置進(jìn)一步掌握I/O 口的使用(3)程序設(shè)計(jì)
2、#include iom16v.h /ICC AVR環(huán)境下的ATmega16庫函數(shù) 定義了所有的寄存器及其 位的標(biāo)號(hào)#include macros.h”/*個(gè)* 個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)函數(shù)功能:延時(shí)1ms(4M晶振,0.25微秒的指令執(zhí)行周期)入口參數(shù):無函數(shù)說明:(3Xcnt_j+2)Xcnt_i=(3X33+2)X40*0.25=1010(微秒),可以近似認(rèn)為是 1 毫 秒 * / 個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)/void Delay_1_ms(void)unsigned char cnt_i,cnt_j;for(cnt_i=0;cnt_i40;cnt_i+)for(cnt_j=0;cnt_j33;cnt_j
3、+)*函數(shù)功能:延時(shí)若干毫秒入口參數(shù):n_ms 個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)/*void Delay_n_ms(unsigned int n_ms)unsigned int cnt_i;for(cnt_i=0;cnt_in_ms;cnt_i+)Delay_1_ms();#pragma interrupt_handler INT0_isr:0 x02INT0_isr() /中斷后從右向左顯示unsigned char cnt_i;SEI();/全局中斷使能while(
4、1)for(cnt_i=0;cnt_i8;cnt_i+)PORTA=(10;cnt_i)PORTA=(1(cnt_i-1);Delay_n_ms(200);main() CLI();/關(guān)中斷DDRA=0 xff;/方向輸出PORTA=0 xFF;/電平設(shè)置DDRD=0 x00;/方向輸入PORTD=0 xFF;GICR| = (1INT0);/使能外部中斷請(qǐng)求0MCUCR| = (1ISC01);/外部中斷請(qǐng)下降沿觸發(fā)SEI();/全局中斷使能zy();(4)、仿真圖-YELLOW-YELLOW12 T3-YELLOWDED-yellow9T38!37.365m343T-YELLOW3 4a-
5、YELLOW,8RESETPC0/SCLPC1/SDAXTAL1PC2/TCKXTAL2PC3/TMSPC4/TDOPA0/ADC0PC5/TDIPA1/ADC1PC6/TOSC1PA2/ADC2PC7/TOSC2PA3/ADC3PA4/ADC4PD0/RXDPA5/ADC5PD1/TXDPA6/ADC6PD2/INT0PA7/ADC7PD3/INT1PD4/OC1BPB0/T0/XCKPD5/OC1APB1/T1PD6/ICP1PB2/AIN0/INT2PD7/OC2PB3郁1/OC0PB4/SSPB5/MOSIPB6/MISOPB7/SCKAREFAVCCATMEGA16-29V14T16
6、7T18T192TF-30-YELLOWPROGRAM=1.HEXLED-YELLOW(5)、原理圖(6)、電路板圖2、電子時(shí)鐘的設(shè)計(jì)與制作、任務(wù)內(nèi)容:利用定時(shí)/計(jì)數(shù)器1溢出中斷設(shè)計(jì)并制作一個(gè)電子時(shí)鐘電子時(shí)鐘顯示的時(shí)間可以用按鍵進(jìn)行設(shè)置、任務(wù)目標(biāo):掌握定時(shí)/計(jì)數(shù)相關(guān)寄存器的設(shè)置掌握定時(shí)/計(jì)數(shù)1中相關(guān)寄存器使用進(jìn)一步掌握1602字符點(diǎn)陣液晶顯示模塊的使用進(jìn)一步掌握獨(dú)立式鍵盤的使用、程序設(shè)計(jì)#includeiom16v.h#includemacros.h#define LCM_RS_1 PORTB|=(10)#define LCM_RS_0 PORTB&=(10)#define LCM_RW_1
7、PORTB|=(11)#define LCM_RW_0 PORTB&=(11)#define LCM_E_1 PORTB|=(12)#define LCM_E_0 PORTB&=(12)unsigned char Sys_Time_Hou=23,Sys_Time_Min=59,Sys_Time_Sec=55;unsigned char LCM_Num_Table = 0,1,2,3,4,5,6,7,8,9;void Delay_1_us(void)NOP();NOP();NOP();NOP();void Delay_n_us(unsigned int n_us)unsigned int cnt
8、_i;for(cnt_i=0;cnt_in_us;cnt_i+)Delay_1_us();void Delay_1_ms(void)unsigned char cnt_i,cnt_j;for (cnt_i=0;cnt_i40;cnt_i+)for(cnt_j=0;cnt_j33;cnt_j+)void Delay_n_ms(unsigned int n_ms)unsigned int cnt_i;for(cnt_i=0;cnt_i=0 x80);DDRA=0 xFF;LCM_RS_0;LCM_RW_0;LCM_E_1;PORTA=cmd_dat;Delay_n_us(1);LCM_E_0;vo
9、id LCM_Wr_DAT(unsigned char dis_dat)while (LCM_Re_BAC()=0 x80);DDRA=0 xFF;LCM_RS_1;LCM_RW_0;LCM_E_1;PORTA=dis_dat;Delay_n_us(1);LCM_E_0;Delay_n_us(40);void LCM_1602_Init(void)LCM_Wr_CMD(0 x38); Delay_n_ms(5);LCM_Wr_CMD(0 x38);Delay_n_ms(5);LCM_Wr_CMD(0 x38);Delay_n_ms(5);LCM_Wr_CMD(0 x0c);Delay_n_ms
10、(5);LCM_Wr_CMD(0 x06);Delay_n_ms(5);LCM_Wr_CMD(0 x01);Delay_n_ms(5);void LCM_Show_Time(unsigned char time_hou, unsigned char time_min, unsigned chartime_sec)unsigned char hou_shi,hou_ge,min_shi,min_ge,sec_shi,sec_ge;hou_shi=time_hou/10;hou_ge=time_hou%10;min_shi=time_min/10;min_ge=time_min%10;sec_sh
11、i=time_sec/10;sec_ge=time_sec%10;LCM_Wr_CMD(0 x80);LCM_Wr_DAT(B);LCM_Wr_DAT(e);LCM_Wr_DAT(i);LCM_Wr_DAT();LCM_Wr_DAT(j);LCM_Wr_DAT(i);LCM_Wr_DAT(n);LCM_Wr_DAT(g);LCM_Wr_DAT();LCM_Wr_DAT(t);LCM_Wr_DAT(i);LCM_Wr_DAT(m);LCM_Wr_DAT(e);LCM_Wr_DAT(:);LCM_Wr_CMD(0 xc0);LCM_Wr_DAT(LCM_Num_Tablehou_shi);LCM_
12、Wr_DAT(LCM_Num_Tablehou_ge);LCM_Wr_DAT(:);LCM_Wr_DAT(LCM_Num_Tablemin_shi);LCM_Wr_DAT(LCM_Num_Tablemin_ge);LCM_Wr_DAT(:);LCM_Wr_DAT(LCM_Num_Tablesec_shi);LCM_Wr_DAT(LCM_Num_Tablesec_ge);unsigned char Get_Key_Val()unsigned char key_val;key_val=PIND;doDelay_n_ms(4);while (key_val=PIND);switch(key_val)
13、case 0 xfe:key_val=1;break;case 0 xfd:key_val=2;break;case 0 xfb:key_val=3;break;case 0 xf7:key_val=4;break;case 0 x7f:key_val=8;break;case 0 xbf:key_val=7;break;case 0 xdf:key_val=6;break;case 0 xef:key_val=5;break;default:key_val=0;break;return key_val;void Time1_1sOVR_Init(void)TCCR1B=0 x00;TCNT1
14、H=0 xF0;TCNT1L=0 xBE;TIMSK=0 x04;TCCR1A=0 x00;TCCR1B=0 x05;#pragma interrupt_handler Timer1_1sOVF_Isr:9void Timer1_1sOVF_Isr(void)TCNT1H=0 xF0;TCNT1L=0 xBE;Sys_Time_Sec+;if(Sys_Time_Sec=60)Sys_Time_Sec=0;Sys_Time_Min+;if(Sys_Time_Min=60)Sys_Time_Min=0;Sys_Time_Hou+;if(Sys_Time_Hou=24)Sys_Time_Hou=0;
15、LCM_Show_Time(Sys_Time_Hou,Sys_Time_Min,Sys_Time_Sec);void main(void)unsigned char key_ value;CLI();DDRA=0 xFF;PORTA=0 xFF;DDRB=0 xFF;PORTB=0 xFF;DDRD=0 x00;PORTD=0 xFF;LCM_1602_Init();Time1_1sOVR_Init();SEI(); LCM_Show_Time(Sys_Time_Hou,Sys_Time_Min,Sys_Time_Sec);while(1)key_value=Get_Key_Val();swi
16、tch(key_value)case 1:Sys_Time_Hou+;if(Sys_Time_Hou=24)Sys_Time_Hou=0;break;case 2:Sys_Time_Min+;if(Sys_Time_Min=60)Sys_Time_Min=0;break;(4)、仿真圖LCD1LM016LI Be i J i nS V i he = 05141 2 34 5 678901114RESET12 13XTAL1XTAL240 39 3837 .36 35u 34m33PA0/ADC0PA1/ADC1PA2/ADC2PA3/ADC3PA4/ADC4PA5/ADC5PA6/ADC6PA
17、7/ADC7TT.8PB0/T0/XCK PB1/T1 PB2/AIN0/INT2 PB3/AIN17OC0 PB4/SS PB5/MOSI PB6/MISOPB7/SCKPD0/RXDPD1/TXDPD2/INT0PD3/INT1PD4/OC1BPD5/OC1APD6/ICP1PD7/OC2PC0/SCLPC1/SDAPC2/TCKPC3/TMSPC4/TDOPC5/TDIPC6/TOSC1PC7/TOSC23230ATMEGA16AREFAVCC(5)、原理圖1602-)O 口aTCim 寸 gg t,臼由三口曰曰口口曰曰口1on寸6O8CH寸2X23242S26如353031323334
18、3,35373?40PAPAMPAFAPAPA盤 g M 嵩脂噸必01 rM rra 4 6 T &JCSDPEPEPEFEPEPBPE邕阻酬-IFDXTAT.4L25CT.4L1PDOPD1PD2PD3PD4PD5PDS(6)、電路板圖3、頻率與占空比可調(diào)的PWM波、任務(wù)內(nèi)容:編程產(chǎn)生一列頻率與占空比可調(diào)的PWM波,并在顯示器上顯示出來、任務(wù)目標(biāo):掌握定時(shí)/計(jì)數(shù)器1比較匹配輸出模式寄存器設(shè)置掌握快速PWM工作模式、程序設(shè)計(jì)#include iom16v.h /ICC AVR環(huán)境下的ATmega16庫函數(shù) 定義了所有的寄存器及其 位的標(biāo)號(hào)#include macros.h”#define System_MCU_F 4000000/*個(gè)* *TC1初始化*快速 PWM 頻率:Fpwm=Fsystem/(NX (1+TOP) 個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè) /void Timer1_PWM_Init(unsigned int f_pwm,unsigned char oc1a_duty,unsigned char oc1b_duty) DDRD|=0 x30;/停止TC1工作TCCR1B=0 x00;頻率設(shè)置ICR1=(unsigne
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小小農(nóng)場(chǎng)體驗(yàn)活動(dòng)的組織計(jì)劃
- 領(lǐng)導(dǎo)崗位任職資格設(shè)置計(jì)劃
- 數(shù)據(jù)科學(xué)在商業(yè)中的應(yīng)用試題及答案
- 學(xué)校秋季特色課程設(shè)計(jì)計(jì)劃
- 業(yè)務(wù)計(jì)劃編制與風(fēng)險(xiǎn)考核試題及答案
- 計(jì)算機(jī)網(wǎng)絡(luò)安全管理題及答案
- 高中階段學(xué)業(yè)規(guī)劃輔導(dǎo)計(jì)劃
- 秋季全員培訓(xùn)與學(xué)習(xí)計(jì)劃
- 備考2025年VB考試試題資源
- 2025屆四川省眉山市名校數(shù)學(xué)八下期末檢測(cè)模擬試題含解析
- 巴以沖突的歷史和現(xiàn)狀分析
- 患者轉(zhuǎn)運(yùn)流程圖
- 除四害消殺服務(wù)承包合同協(xié)議書范本標(biāo)準(zhǔn)版
- 醫(yī)療廢物管理PPT演示課件
- 項(xiàng)目管理課件-1
- 高等代數(shù)課件(北大版)第九章 歐式空間§9.1.1
- ACEI-糖尿病患者的心臟保護(hù)
- 三維地震勘探施工設(shè)計(jì)
- 宮腔粘連臨床路徑
- mh fg2000ab普通說明書使用服務(wù)及配件手冊(cè)
- 2023學(xué)年完整公開課版破十法
評(píng)論
0/150
提交評(píng)論