人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線: 4007-888-234

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

技術(shù)支持

用PIC16F877的c語言寫的一個(gè)時(shí)鬧鐘程序

更新時(shí)間: 2019-03-26

// FileName: Main.c // MCU: Microchip PIC16F877 // Tool: CCS-C compiler // Author: KingEDA, MSN:kingeda@163.com, skype:kingeda, E-mail:kingeda@163.com // Website: http://www.EDAKING.com // Description: // A timer program // Ver 0.1: 2003-03-31, all clock function with date display, 2 way alarm. // Ver 0.2: 2003-05-05, (1) Alarm default is on,modify alarm1 time to 7:00:00, // and alarm2 to 13:30:00. // (2) Backlight will be enabled when alarming. // (3) Automatic adjust day(28,30,31). // (4) Automatic move cursor to next location when set item. // PIN Connection: // RC0~1 : 32768Hz crystal // RC2 : Buzzer // RC3 : LCD Back Light,drive a PNP BJT // RD0~RD7 : to LCD DB0~DB7 // RA0~RA3 : keypad col in // RC4~RC7 : keypad line out // 7 8 9 # // 4 5 6 ↑ // 1 2 3 ↓ // 0 ← → * // RE0 : LCD RS // RE1 : LCD RW // RE2 : LCD E #include "my16f877.h" #device ICD=true //#fuses HS,NOWDT,NOPROTECT,PUT,BROWNOUT #use delay(clock = 24000000) //#use fast_io(C) #use fast_io(E) #define 

lcd_busy (lcd_read_addr()&0x80) == 0x80 #define time_start_addr 0x80+0x04 #define time_hourh_addr time_start_addr #define time_hourl_addr time_start_addr+1 #define time_minuteh_addr time_start_addr+3 #define time_minutel_addr time_start_addr+4 #define time_secondh_addr time_start_addr+6 #define time_secondl_addr time_start_addr+7 #define key_0 0x11 #define key_1 0x21 #define key_2 0x22 #define key_3 0x24 #define key_4 0x41 #define key_5 0x42 #define key_6 0x44 #define key_7 0x81 #define key_8 0x82 #define key_9 0x84 #define key_left 0x12 #define key_right 0x14 #define key_up 0x48 #define key_down 0x28 #define key_mode 0x18 #define key_cancel 0x88 char 

StrPower1[] = " * Power on * "; char StrSetTime[] = " * Adjust time* "; char StrSetDate[] = " * Adjust date* "; char StrAlarm1[] = " * Set alarm 1* "; char StrAlarm2[] = " * Set alarm 2* "; unsigned char PORTC_MAP; #bit BackLightEn = PORTC_MAP.3 unsigned char BackLightTimer; int1 led; #bit lcd_rs = PORTE.0 #bit lcd_rw = PORTE.1 #bit lcd_e = PORTE.2 #byte lcd_bus = PORTD #byte lcd_dir = TRISD #define PWM_on 0x0c #define PWM_off 0x00 #define PWM_period 200 #define PWM_DC 100 unsigned char lcd_addr; unsigned char KeyLine; unsigned char KeyOld; unsigned char KeyNew; struct mTime { unsigned char hourh; // hour,0~23 unsigned char hourl; unsigned char minuteh; // minute,0~59 unsigned char minutel; unsigned char secondh; // second,0~59 unsigned char secondl; }; struct mTime CurrentTime = {1,2,0,0,0,0}; struct mTime AlarmTime1 = {0,7,0,0,0,0}; // 07:00:00 

struct mTime AlarmTime2 = {1,3,3,0,0,0}; // 13:30:00 unsigned char AlarmStatus; #bit Alarm1Enable = AlarmStatus.0 #bit Alarm2Enable = AlarmStatus.1 #bit Alarm1Alarm = AlarmStatus.2 #bit Alarm2Alarm = AlarmStatus.3 unsigned char Alarm1Cnt; // alarm1 second count unsigned char Alarm2Cnt; unsigned char CurrentMode; #define mode_time 0 #define mode_set_time 1 #define mode_set_date 2 #define mode_set_alarm1 3 #define mode_set_alarm2 4 unsigned char adjust_item; struct mDate { unsigned char year1; // unsigned char year2; unsigned char year3; unsigned char year4; unsigned char monthh; unsigned char monthl; unsigned char dayh; unsigned char dayl; }; struct mDate CurrentDate = {2,0,0,3,0,1,0,1}; unsigned char *pStr; // -


404
返回首頁 |  返回上一頁
临邑县| 双鸭山市| 新泰市| 灯塔市| 永州市| 美姑县| 新晃| 绿春县| 平舆县| 九龙县| 德江县| 营山县| 康马县| 呈贡县| 福泉市| 无棣县| 木兰县| 科技| 大厂| 宜丰县| 鄂伦春自治旗| 克什克腾旗| 崇礼县| 镇康县| 浦城县| 明星| 潍坊市| 陕西省| 屯留县| 哈巴河县| 西林县| 广丰县| 资中县| 平罗县| 固阳县| 宣恩县| 鄯善县| 霸州市| 句容市| 忻城县| 衡阳县|