




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子万年历源程序IO口程序INCLUDE/数码管引脚SBITL1P20SBITL2P21SBITL3P22SBITLEDCP23DEFINELED_DATAP0/按键接口定义DEFINEK_PORTP2SBITK_DP33/外部中断1/PCF8563接口定义SBITPCF8563CLKP10SBITPCF8563SDAP11/24C02接口定义SBITE2PCLKP15SBITE2PSDAP16/蜂鸣器接口定义SBITBEEPP12主程序INCLUDEVOIDDELAY_1MSUNSIGNEDINTTIMEUNSIGNEDCHARTEMPWHILETIMEFORTEMP127TEMP0TEMP_NOP_/系统初始化VOIDSYS_INITTMOD0X01TH06553520000/256/给定时器初值。TL06553520000256TR01/启动定时器T0ET01/允许T0中断EA1LEDC0/138正常工作BEEP_FLAG1/闹铃开/刷新数码管显示VOIDFRESH_DISPLAYSTATICUNSIGNEDCHARNUMUNSIGNEDCHARTEMPSTATICUNSIGNEDINTFLASH_TIMENUMIFNUM8NUM0LED_DATA0X00/P0口全部为零IFNUM0L31L21L11/第八个数码管亮ELSEIFNUM1L31L21L10/第七个数码管亮ELSEIFNUM2L31L20L11/第六个数码管亮ELSEIFNUM3L31L20L10/第五个数码管亮ELSEIFNUM4L30L21L11/第四个数码管亮ELSEIFNUM5L30L21L10/第二个数码管亮ELSEIFNUM6L30L20L11/第一个数码管亮ELSEIFNUM7L30L20L10/第零个数码亮FLASH_TIMELED_ON0XFFIFFLASH_TIME400FLASH_TIME0TEMP10IFBEEP_FLAG1ELSELED_DATADIS_TABDIS_BUFFERNUMELSELED_DATA0X00VOIDTEST_RING/这个函数有什么作用UNSIGNEDCHARI,TEMP_M,TEMP_HTEMP_MF8563RWBUFF2410F8563RWBUFF2/分TEMP_HF8563RWBUFF3410F8563RWBUFF3/时FORI0I3KEY_VALUEK_PORT5IFKEY_BAK10/对于前一次按键值,怎么处理KEY_FLAG1/置按键标志位。KEY_BAKKEY_VALUE/存贮当前按键值。IFRINGING_TIME10/设定闹铃的时间RINGING_TIME0ELSE/如果没有键按下KEY_DOWN_TIME0KEY_BAK10IFRINGING_TIME0RINGING0RINGING_TIMEBEEP0/开闹铃ELSEBEEP1/关闹铃IFRINGING1RINGING0RINGING_TIME12000VOIDADJUST_TIMEUNSIGNEDCHARPOSITION1/POSITION有什么作用ADJUST_BUFFER0F8563RWBUFF1410F8563RWBUFF1/秒ADJUST_BUFFER1F8563RWBUFF2410F8563RWBUFF2/分ADJUST_BUFFER2F8563RWBUFF3410F8563RWBUFF3IFPOSITION1FLASH_NUMBER0X03ELSEIFPOSITION2FLASH_NUMBER0X18ELSEIFPOSITION3FLASH_NUMBER0XC0IFKEY_FLAG1KEY_FLAG0IFKEY_VALUE2IFPOSITION0POSITIONELSEIFKEY_VALUE3/IFPOSITION1IFADJUST_BUFFER00ADJUST_BUFFER0ELSEADJUST_BUFFER030ELSEIFPOSITION2IFADJUST_BUFFER10ADJUST_BUFFER1ELSEADJUST_BUFFER130ELSEIFPOSITION3IFADJUST_BUFFER20ADJUST_BUFFER2ELSEADJUST_BUFFER212ELSEIFKEY_VALUE0/F8563RWBUFF1DIS_BUFFER1410F8563RWBUFF4/秒ADJUST_BUFFER1F8563RWBUFF5410F8563RWBUFF5/分ADJUST_BUFFER2F8563RWBUFF6410F8563RWBUFF6/时WHILE1IFPOSITION1FLASH_NUMBER0X03ELSEIFPOSITION2FLASH_NUMBER0X18ELSEIFPOSITION3FLASH_NUMBER0XC0IFKEY_FLAG1KEY_FLAG0IFKEY_VALUE2IFPOSITION0POSITIONELSEIFKEY_VALUE3/IFPOSITION1IFADJUST_BUFFER00ADJUST_BUFFER0ELSEADJUST_BUFFER015ELSEIFPOSITION2IFADJUST_BUFFER10ADJUST_BUFFER1ELSEADJUST_BUFFER16ELSEIFPOSITION3IFADJUST_BUFFER20ADJUST_BUFFER2ELSEADJUST_BUFFER250ELSEIFKEY_VALUE0/F8563RWBUFF4DIS_BUFFER10DIS_BUFFER212DIS_BUFFER3F8563RWBUFF2DIS_BUFFER4F8563RWBUFF24DIS_BUFFER512DIS_BUFFER6F8563RWBUFF3DIS_BUFFER7F8563RWBUFF34ELSEIFI2DIS_BUFFER0F8563RWBUFF4DIS_BUFFER1F8563RWBUFF44DIS_BUFFER212DIS_BUFFER3F8563RWBUFF5DIS_BUFFER4F8563RWBUFF54DIS_BUFFER512DIS_BUFFER6F8563RWBUFF6DIS_BUFFER7F8563RWBUFF64VOIDADD_RINGUNSIGNEDCHARRING_NUMBER1,POSITIONFLASH_NUMBER0X00WHILE1IFKEY_FLAG1KEY_FLAG0IFKEY_VALUE4IFRING_NUMBER1RING_NUMBERELSEIFKEY_VALUE3IFRING_NUMBER0POSITIONELSEIFKEY_VALUE3/IFPOSITION1IFRING_BUFFERRING_NUMBER100RING_BUFFERRING_NUMBER10ELSERING_BUFFERRING_NUMBER1030ELSEIFPOSITION2IFRING_BUFFERRING_NUMBER110RING_BUFFERRING_NUMBER11ELSERING_BUFFERRING_NUMBER1112ELSEIFKEY_VALUE0BEEP_FLAG1/打开闹铃BREAKDIS_BUFFER0RING_BUFFERRING_NUMBER1010/分DIS_BUFFER1RING_BUFFERRING_NUMBER10/10DIS_BUFFER3RING_BUFFERRING_NUMBER1110/时DIS_BUFFER4RING_BUFFERRING_NUMBER11/10VOIDMAINUNSIGNEDINTIDELAY_1MS500SYS_INITDELAY_1MS100FLASH_NUMBER0X00/闪烁控制位为0,所有的位都不闪烁。WHILE1IFLASH_NUMBER0X00IFI200I0GETTIMEFROM8563DIS_BUFFER0F8563RWBUFF1DIS_BUFFER1F8563RWBUFF14DIS_BUFFER212DIS_BUFFER3F8563RWBUFF2DIS_BUFFER4F8563RWBUFF24DIS_BUFFER512DIS_BUFFER6F8563RWBUFF3DIS_BUFFER7F8563RWBUFF34IFBEEP_FLAG1IFDIS_BUFFER00/零秒开始闹铃TEST_RING/判断是否闹铃IFKEY_FLAG1KEY_FLAG0IFKEY_VALUE0/显示年月日时分秒切换GETTIMEFROM8563DIS_BUFFER0F8563RWBUFF4DIS_BUFFER1F8563RWBUFF44DIS_BUFFER212DIS_BUFFER3F8563RWBUFF5DIS_BUFFER4F8563RWBUFF54DIS_BUFFER512DIS_BUFFER6F8563RWBUFF6DIS_BUFFER7F8563RWBUFF64DELAY_1MS500WHILE1IFKEY_FLAG1KEY_FLAG0I500BREAKELSEIFKEY_VALUE5/闹铃开关BEEP_FLAGBEEP_FLAGELSEIFKEY_VALUE6/修改时间REWRITE_TIMEI500ELSEIFKEY_VALUE7/设置闹铃ADD_RINGI500主程序头文件INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEUNSIGNEDCHARFLASH_NUMBER0X00/闪烁位控制(1闪烁,0常亮)UNSIGNEDCHARLED_ON0XFF/第8位数码管显示开关(1显示,0不显示)UNSIGNEDCHARDIS_BUFFER80,0,0,0,0,0,0,0/8位数码显示缓冲区UNSIGNEDCHARCODEDIS_TAB0X9F,0X06,0X5B,0X4F,0XC6,0XCD,0XDD,0X07,0XDF,0XCF,0XD3,0XD6,0X40,0X00,0X08,0X99,0XD1/显示表格0,1,2,3,4,5,6,7,8,9,P,H,_,C,F/10111213141516VOLATILEUNSIGNEDCHARIDATARING_BUFFER52/读写24C02缓冲区UNSIGNEDCHARADJUST_BUFFER3/调整时间缓冲区UNSIGNEDCHARKEY_TIME/按键消抖系数UNSIGNEDCHARKEY_VALUE/当前按键值UNSIGNEDCHARKEY_BAK/前一次按键值BITKEY_FLAG/按键标志1有新的键被下BITBEEP_FLAG/闹铃开关1打开,0关闭BITRINGING0UNSIGNEDINTRINGING_TIME/闹铃时间VOIDDELAY_1MSUNSIGNEDINTVOIDSYS_INITVOIDVOIDFRESH_DISPLAYVOID子程序AT24C02读写模块INCLUDEINCLUDEINCLUDE/SBITE2PCLKP14SBITE2PSDAP15/函数名START24CX功能I2C的启动信号入口无出口无调用模块备注无/VOIDSTART24CXE2PSDA1_NOP_NOP_NOP_E2PCLK1_NOP_NOP_NOP_E2PSDA0_NOP_NOP_NOP_E2PCLK0_NOP_NOP_NOP_/函数名STOPT24CX功能I2C的停止信号入口无出口无调用模块备注无/VOIDSTOPT24CXE2PCLK0_NOP_NOP_NOP_E2PSDA0_NOP_NOP_NOP_E2PCLK1_NOP_NOP_NOP_E2PSDA1_NOP_NOP_NOP_E2PCLK0_NOP_NOP_NOP_/函数名ACK24CX功能I2C的上的应答信号(读)入口无出口无调用模块备注/VOIDACK24CXUNSIGNEDCHARI200E2PSDA1E2PCLK0_NOP_NOP_NOP_E2PCLK1_NOP_NOP_NOP_DOIIFE2PSDA0E2PCLK0RETURNWHILEI0E2PCLK0/函数名SENDACK功能I2C的上的应答信号(写)入口无出口无调用模块备注/VOIDSENDACKE2PCLK0_NOP_NOP_NOP_E2PSDA0_NOP_NOP_NOP_E2PCLK1_NOP_NOP_NOP_E2PCLK0/函数名NOACK功能I2C的上的应答信号(写)入口无出口无调用模块备注/VOIDNOACKE2PCLK0_NOP_NOP_NOP_E2PSDA1_NOP_NOP_NOP_E2PCLK1_NOP_NOP_NOP_E2PCLK0/函数名WRITEBYTETO24CX功能向24C256写一个字节数据入口无出口无调用模块备注/VOIDWRITEBYTETO24CXUNSIGNEDCHARVALUEUNSIGNEDCHARIACCVALUEFORI8I0IACC0IE2PCLK1VALUE8ACK24CXWRITEBYTETO24CXADDRESSACK24CX/函数名WRITEDATATO24CX功能向24C256写入数据入口F要写入24C256中的地址P要写入数据的首地址N要写入数据的个数出口调用模块WRITEBYTETO24CXWADDRW16ADDRACK24CXSTOPT24CX备注/VOIDWRITEDATATO24CXUNSIGNEDINTF,UNSIGNEDCHARADDR,UNSIGNEDCHARNWADDRW16ADDRFFORN0NWRITEBYTETO24CXADDRACK24CXADDRSTOPT24CXFORF700F0F_NOP_/函数名READDATAFROM24CX功能从24C256中读出数据入口F要读24C256中的地址P要读出数据存放的首地址N要读出数据的个数出口无调用模块WADDRW16ADDRRADDR备注/VOIDREADDATAFROM24CXUNSIGNEDINTF,UNSIGNEDCHARADDR,UNSIGNEDCHARNWADDRW16ADDRFSTART24CXWRITEBYTETO24CX0XA1ACK24CXFORN0NADDRREADBYTEFROM24CXSENDACKADDRADDRREADBYTEFROM24CXNOACKSTOPT24CX/MAINUCHARA5A01A12A23A34A45WRITEDATATO24CX0,A,5A00A10A20A30A40READDATAFROM24CX0,A,5WHILE1/子程序头文件INCLUDEVOIDSTART24CXVOID/I2C起动VOIDSTOPT24CXVOID/I2C停止VOIDACK24CXVOID/I2C应答信号读VOIDSENDACKVOID/I2C应答信号写VOIDNOACKVOID/I2C应答信号读VOIDWRITEBYTETO24CXUNSIGNEDCHAR/写一个字节到24CXUNSIGNEDCHARREADBYTEFROM24CXVOID/从24CX读出一个字节VOIDWADDRVOID/写器件地址VOIDW16ADDRUNSIGNEDINT/写16位地址VOIDWRITEDATATO24CXUNSIGNEDINT,UNSIGNEDCHAR,UNSIGNEDCHAR/写多个字节到24CXVOIDREADDATAFROM24CXUNSIGNEDINT,UNSIGNEDCHAR,UNSIGNEDCHAR/从24CX读出多个字节子程序PCF8563时钟芯片INCLUDEINCLUDEINCLUDEUNSIGNEDCHARF8563RWBUFF70X00,0X01,0X02,0X03,0X04,0X05,0X06/保存时间缓冲区/星期秒分时日月年/函数名START8563功能I2C的启动信号入口无出口无调用模块备注无/VOIDSTART8563VOIDPCF8563SDA1/发送起始条件的数据信号/PCF8563CLK1/发送起始条件的时钟信号/_NOP_NOP_/起始条件建立时间大于4US/_NOP_NOP_PCF8563SDA0/发送起始信号/_NOP_NOP_NOP_NOP_PCF8563CLK0/钳住I2C总线,准备发送或接收数据/函数名STOP8563功能I2C的停止信号入口无出口无调用模块备注无/VOIDSTOP8563VOIDPCF8563SDA0PCF8563CLK0_NOP_NOP_NOP_NOP_PCF8563CLK1_NOP_NOP_NOP_NOP_PCF8563SDA1/函数名WRITEACK8563功能I2C的上的应答信号(写)入口无出口无调用模块备注输出ACK,每个字节传输完成,输出ACK0,结束读书据,ACK1/VOIDSENDACKUNSIGNEDCHARACKPCF8563SDAACK_NOP_NOP_NOP_NOP_PCF8563CLK1_NOP_NOP_NOP_NOP_PCF8563CLK0/函数名ACK8563功能I2C的上的应答信号(读)入口无出口无调用模块备注此处没有接收并判断应答信号是否合理/VOIDACK8563VOIDUNSIGNEDCHARERRTIME200PCF8563SDA1_NOP_NOP_NOP_NOP_PCF8563CLK1_NOP_NOP_NOP_NOP_WHILEPCF8563SDA/读ACKERRTIMEIFERRTIME0STOP8563BREAKPCF8563CLK0_NOP_/函数名WRITEBYTETO8563功能向PCF8563写一个字节数据入口无出口无调用模块DELAY4USACK8563备注先MSB后LSB传送/VOIDWRITEBYTETO8563UNSIGNEDCHARVALUEUNSIGNEDCHARIACCVALUEFORI8I0IACC0IPCF8563CLK1VALUE0IF8563RWBUFFIF8563RWBUFFI1F8563RWBUFF0TEMP/函数名GETTIMEFROM8563功能从PCF8563的读出时间信息并校验入口无出口F8563RWBUFF06全局变量,保存秒、分、时、日、月和年调用模块READTIMEFROM8563备注读到的时间数据并校验/VOIDGETTIMEFROM8563VOIDREADTIMEFROM8563IFF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一本大学学生管理办法
- 自媒体如何管理办法
- 仓储配送公司管理办法
- 装备经费使用管理办法
- 财务列支规范管理办法
- Unit 5 Here and Now 第五课时Section B 2a-2b 说课稿 2024-2025学年人教版(2024)七年级英语下册
- 市场仓库租赁合同3篇
- 2025年医院消防安全培训试题及答案
- (合同范本)债权债务转让协议(三方)4篇
- 2025年外贸业务员招聘考试模拟试题与答案详解集合
- 2024年医院肠胃内镜科带教计划
- 能源管理系统平台软件数据库设计说明书
- JCT908-2013 人造石的标准
- 住院病历质量考核评分表
- 充电桩工程施工组织设计施工组织
- 执业兽医机构聘用证明或服务协议
- 身体尺(课件)二年级上册数学人教版
- 欠款转为借款合同
- 公路隧道建设施工技术规范学习考试题库(400道)
- 严重创伤重症监护
- 人教版六年级语文上册生字表(带拼音词组)-2023修改整理
评论
0/150
提交评论