多功能電子時鐘的功能的電路具有實現(xiàn)顯示時、分、秒,以(24小時)計時方式的功能;具有快速校準(zhǔn)時、分、秒的其本功能;秒表/時鐘功能的轉(zhuǎn)換;具有整點報時的功能;還可以實現(xiàn)對時間的調(diào)整。由單片機、復(fù)位、時鐘電路、晶振、LED數(shù)碼管、按鍵、蜂鳴器組成。
標(biāo)簽: 單片
上傳時間: 2015-07-06
上傳用戶:ghycxz
使用C51解碼,紅外編碼NEC格式。晶振11.0592
標(biāo)簽: 使用C51解碼
上傳時間: 2016-02-02
上傳用戶:pourout
/**************************************************************** 外部晶振8M PA0~3:四位數(shù)碼管的位選 PB0~7:數(shù)碼管的8位段選 外部中斷0用于計數(shù) 定時器0溢出中斷的定時為1ms 說明 :檢測到水流較小時,繼電器延時1秒關(guān)閉 ******************************************************************/ #include<iom16v.h> #include<macros.h> #define uchar unsigned char #define uint unsigned int char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //數(shù)碼管段選 char position[4]={0xfe,0xfd,0xfb,0xf7};//數(shù)碼管位選 uint sumnum=0; //用于記錄1000ms內(nèi)進入中斷的次數(shù) uint time=0; //記錄進入比較定時器0的次數(shù) uint num=0; //記錄1ms內(nèi)進入中斷的次數(shù) uint count=0; //進入外部中斷0的次數(shù) uchar flag; uint sumnum1; //記錄100ms內(nèi)的數(shù)目 /***************************函數(shù)聲明***************************/ void delay(); void display(uint m ); void init(); void init_0(); void init_2(); void _delay_us(uint l) { unsigned int i; for(i=0;i<l;i++) { asm("nop"); } } /**************************主函數(shù)***********************************/ void main() { init(); init_0(); init_2(); while(sumnum<5) { PORTD=0XBF; segdisplay(sumnum1); } while(1) { segdisplay(sumnum1); } } /*************************掃描數(shù)碼管時的延時函數(shù)*********************/ void delay() { uchar i,j; for(i=6;i>0;i--) for(j=225;j>0;j--); } /************************數(shù)碼管顯示函數(shù)*****************************/ void segdisplay( int temp) { int seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int temp1,temp2,temp3,temp4; temp1=temp/1000; temp2=(temp/100)%10; temp3=(temp/10)%10; temp4=temp%10; DDRB=0xff; DDRA|=0x0f; PORTA=~BIT(3); PORTB=seg[temp1]; _delay_us(100); PORTA=~BIT(2); PORTB=seg[temp2]; _delay_us(100); PORTA=~BIT(1); PORTB=seg[temp3]; _delay_us(100); PORTA=~BIT(0); PORTB=seg[temp4]; _delay_us(100); } /***********************管腳初始化函數(shù)*********************/ void init() { DDRD|=0X40; //PD4 設(shè)置為輸出 PORTD=0XBF; DDRA=0XFF; DDRB=0XFF; PORTA=0XFF; PORTB=0XFF; } /***********************外部中斷0初始化*********************/ void init_0() { MCUCR=0X02; //INT0為下降沿觸發(fā) GICR=0X40; //使能INT0中斷 SREG=0X80; //使能總中斷 } /**********************定時器2初始化***********************/ void init_2() { TCCR0=0x03; // 內(nèi)部時鐘,64 分頻(8M/64=125KHz) TCNT0=0x83; //裝初值 TIMSK=0x01; // 允許 T/C0溢出中斷中斷 } /***********************外部中斷0子函數(shù)********************/ #pragma interrupt_handler int0_isr:2 void int0_isr(void) { count++; } /*********************定時計數(shù)器0溢出中斷子函數(shù)*****************/ #pragma interrupt_handler int0_over:10 void int0_over(void) { TCNT0=0x83; //重裝初值 if((time%100) == 0) sumnum1 = num; if(time == 1000) { sumnum=num; if(sumnum<10) { if((flag==1)&&(sumnum<10)) { PORTD=0XFF; flag=0; } flag++; } else PORTD=0XBF; num=0; time=0; } num+=count; count=0; ++time; }
標(biāo)簽: C語言
上傳時間: 2016-03-09
上傳用戶:彥 yan
C程序中可使用不同類型的變量來進行延時設(shè)計。經(jīng)實驗測試,使用unsigned char類型具有比unsigned int更優(yōu)化的代碼,在使用時應(yīng)該使用unsigned char作為延時變量。 以某晶振為12MHz的單片機為例,晶振為12MHz即一個機器周期為1us。
上傳時間: 2016-04-28
上傳用戶:xcx7694
hcs301滾動碼接收程序,是STC單片機解碼接收的,晶振11.0592
上傳時間: 2016-07-15
上傳用戶:liangyan320
采用純硬件打造的數(shù)字頻率計,不包含任何單片機,晶振,計數(shù)器,譯碼器,數(shù)碼管
上傳時間: 2017-12-13
上傳用戶:fengshu
本文就使用石英晶體振蕩器的周圍電路設(shè)計中的噪音對策進行解說。
上傳時間: 2018-03-02
上傳用戶:ahldcb004040
單片機 :AT89S52 或 STC89C52RC 典型傳感器:AM2301 功能 :串口發(fā)送溫濕度數(shù)據(jù) 波特率 9600 晶振 :12M (用戶系統(tǒng)時鐘如不是12M 請更改相關(guān)宏定義及注釋的延時時間) 編譯環(huán)境: Keil 4
上傳時間: 2018-07-27
上傳用戶:gmc832002
基于stc89C52的方波發(fā)生器 /*2018.08月制作完成;STC89C51,貼片,共陽LED *T0-計時25 微秒溢出中斷一次;P1.0 P1.1為增加、減少鍵P0.7 輸出方波 變量的定義: pwm 設(shè)定的頻率數(shù) connter_1 根據(jù)設(shè)定頻率計算后的,定時器溢出的次數(shù)值 connter : 定時器0計數(shù)溢出數(shù) led_seg_code: 數(shù)碼管7 段碼 晶振:12M ,共陰數(shù)碼管或三極管驅(qū)動共陽數(shù)碼管 */ /*用單片機產(chǎn)生頻率可調(diào)的方波信號。輸出方波的頻率范圍為1Hz-200Hz,頻率誤差比小于0.5%。 要求用"增加"、"減小"2 個按鈕改變方波給定頻率,按鈕每按下一次,給定頻率改變的步進步長為1Hz, 當(dāng)按鈕持續(xù)按下的時間超過2 秒后,給定頻率以10 次/秒的速度連續(xù)增加(減少),輸出方波的頻率要求在數(shù)碼管上顯示。 P1.0,P1.1分別為增加和減小按鍵*/
標(biāo)簽: 89C52 PCB 方波發(fā)生器 源程序
上傳時間: 2020-02-09
上傳用戶:jmkl128
題目:基于51單片機的RS485從機系統(tǒng)設(shè)計 單片機接口資源配置: 1. 上電復(fù)位電路; 2. 晶振電路采用11.0592Mhz晶振; 3. 485接口電路(P3.7用于485芯片的收發(fā)控制,收發(fā)管腳接單片機的rxd和txd); 4. P2口通過外部跳線接相應(yīng)的高低電平,配置從機地址為組號; 5. P3.6外接一發(fā)光二極管(注意串聯(lián)電阻進行限流); 6. P3.2外接一按鍵,斷開高電平,按下低電平; 7. 按鍵檢測采用外部中斷方式,下跳沿觸發(fā); 8. 單片機定時器0以模式1(16位模式)工作,產(chǎn)生50ms的定時中斷,并在此基礎(chǔ)上設(shè)計一單片機內(nèi)部時鐘(24小時制,能計數(shù)時、分、秒、50ms值); 9. 單片機串行通信采用模式1非多機通信方式,采用9600波特率以串行中斷方式進行數(shù)據(jù)的收發(fā)通信,主機地址為0xF0,廣播地址為0xFF。 系統(tǒng)功能需求: 1. 系統(tǒng)配置和自檢功能: l 從機上電后進行初始化,通過讀取P2口進行從機地址配置; l 發(fā)光二極管以每秒一次的頻率閃爍(亮0.5秒,滅0.5秒); l 檢測到一次按鍵按下操作后,熄滅發(fā)光二極管。 2. 數(shù)據(jù)接收和按鍵計時功能: l 從機接收主機程序(PC機上的串口調(diào)試程序)的按鍵允許命令幀并進行校驗; l 校驗正確并且目的地址是廣播地址或者本從機的地址,通過發(fā)光二極管長亮指示,并允許按鍵操作; l 按鍵按下后,盡可能準(zhǔn)確記錄按鍵的動作時點(定時器的低8位、定時器的高8位、50ms值、秒、分、小時); l 按鍵操作只能響應(yīng)一次,重復(fù)按鍵操作不響應(yīng); l 按鍵的動作時點記錄后,發(fā)光二極管以每秒一次的頻率閃爍(亮0.5秒,滅0.5秒)。 3. 數(shù)據(jù)發(fā)送功能: l 從機接收主機程序發(fā)來的時鐘數(shù)據(jù)搜索命令幀并進行校驗; l 如果校驗正確并且數(shù)據(jù)幀的目的地址是本從機的地址,從機將前面記錄的按鍵動作時點數(shù)據(jù)(定時器的低8位、定時器的高8位、50ms值、秒、分、小時)按附錄中的時鐘數(shù)據(jù)返回幀的幀格式回傳給主機; l 時鐘數(shù)據(jù)返回幀回傳結(jié)束后,熄滅發(fā)光二極管。 4. 校驗和生成和檢測功能: l 發(fā)送數(shù)據(jù)幀時能自動生成數(shù)據(jù)幀校驗和; l 每幀數(shù)據(jù)在發(fā)送幀尾前,發(fā)送一字節(jié)的當(dāng)前幀數(shù)據(jù)的校驗和; l 接收數(shù)據(jù)幀時能檢測校驗和并判斷接收數(shù)據(jù)是否正確。 附錄:幀定義 校驗和的計算:除去幀頭和幀尾后將幀中的其他數(shù)據(jù)求和并取低8位; 幀長:不計幀頭、幀尾和校驗和字節(jié)。 按鍵允許命令幀: 幀頭 幀長 目的地址 源地址 命令字 校驗和 幀尾 AA 04 FF F0 01 F4 66 時鐘數(shù)據(jù)搜索命令幀: 幀頭 幀長 目的地址 源地址 命令字 保留字 校驗和 幀尾 AA 05 01 F0 03 00 F9 66 時鐘數(shù)據(jù)返回幀: 幀頭 幀長 目的地址 源地址 命令字 TL0 TH0 50ms 秒 分 時 校驗和 幀尾 AA 0A F0 01 07 01 B6 09 03 00 00 C5 66 幀結(jié)構(gòu)頭文件frame.h(內(nèi)容如下) //幀格式定義 #define FRAME_HEAD 0xAA //幀頭 #define FRAME_FOOT 0x66 //幀尾 #define FRAME_LEN 0x00 //幀長 #define FRAME_DST_ADR 0x01 //目的地址 #define FRAME_SRC_ADR 0x02 //源地址 #define FRAME_CMD 0x03 //命令字 #define FRAME_DATA 0x04 //幀數(shù)據(jù)起始 //幀命令定義 #define READY 0x01 //按鍵允許命令 #define TIME_SERCH 0x03 //時鐘數(shù)據(jù)輪詢命令 #define TIME_BACK 0x07 //時鐘數(shù)據(jù)返回命令 //地址定義 #define BROAD_ADR 0xFF //廣播地址 #define MASTER_ADR 0xF0 //主機地址
上傳時間: 2020-06-18
上傳用戶:umuo
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1