嵌入式课程设计报告具有日历功能的电子时钟_第1页
嵌入式课程设计报告具有日历功能的电子时钟_第2页
嵌入式课程设计报告具有日历功能的电子时钟_第3页
嵌入式课程设计报告具有日历功能的电子时钟_第4页
嵌入式课程设计报告具有日历功能的电子时钟_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、欢迎下载嵌嵌入入式式系系统统开开发发课课程程设设计计专专周周报报告告题题目目:具具有有日日历历功功能能的的电电子子时时钟钟系系别别及及专专业业:计计算算机机工工程程系系 计计算算机机应应用用技技术术班班级级:1 10 05 51 11 1同同学学姓姓名名:权权胜胜(1 14 4) 王王希希(0 05 5) 严严家家强强(2 23 3)指指导导老老师师:宋宋国国明明完完成成时时间间:2 20 01 12 2- -1 12 2- -2 24 4/ /2 20 01 12 2- -1 12 2- -2 28 8欢迎下载课程设计(报告)课程设计(报告)、课程设计题目:具有日历功能的电子时钟具有日历功能

2、的电子时钟、课程设计步骤及内容一、课程设计目标一、课程设计目标 1、培育综合运用学问和独立开展实践创新的力量;2、培育同学将理论学问与实际应用结合在一起;3、培育同学的自我学习力量和解决问题的力量;4、培育同学的协作意识和团队合作力量;5、培育同学的总结阅历的力量。二、争辩方法及手段应用二、争辩方法及手段应用1、问题解决模块化,将任务分成若干模块,分模块调试和完成任务;2、查阅网上的相关素材,查阅相关论文资料,进行比较、争辩;3、在独立思考的基础上,请教老师,和同组同学争辩、学习;4、反复调试、总结阅历、排解差错;5、连接 PC 和 EDUKIT-III ARM 嵌入式开发试验箱,完成整个试验

3、环境搭建;6、运用 Vision4 和超级终端软件进行软件编译和进行调试查看;7、使用 ULINK2 仿真器下载至试验箱进行观看、调试。三、课程设计预期效果三、课程设计预期效果1、程序启动后,蜂鸣器响三声,8 位 LED 数码管显示初始值“0” ,1 秒后显示当前日期和时间,日期格式:*年*月*日,时间格式:*(星期)-*时*分*秒。PC 机超级终端同时显示相关的信息。欢迎下载2、按下“D”键,可进行日期、时间的修改、设置:有按键时,把键值显示到最右侧,后续按键时,把以前的按键左移,把当前按键值显示到最右侧数码管。设置完毕后,按“FUN”键确认,退出设置,时钟显示修改后的时间。3、显示把握和闹

4、钟设置:按键“*” ,进行数码管闪烁/不闪烁的切换。按键“A” ,设置闹钟时间。时间到达后,闹铃(蜂鸣器)响,按“FUN”键,关闭闹铃。按键设置时,PC 的超级终端显示相应的提示信息,同时把所按的键值,通过串口发送到超级终端显示。4、闹铃声音频率及音量把握:按下“B”键时,进入闹铃声音的设置。采集 AIN2 的 ADC 值,依据 ADC 的值,把握蜂鸣器的声音频率。把握 PWM1 的频率。 (为100Hz 至 1KHz,最低值和最高值可以依据实际效果调整) 。并把实际调整的频率打印到超级终端,如“100Hz” 。采集 AIN1 的 ADC 值,依据 ADC 的值,把握蜂鸣器的音量。把握 PWM

5、1 的占空比。 (为 0% 至 100%,最低值和最高值可以依据实际效果调整).并把实际调整的占空比打印到超级终端上,如“50%” 。按“FUN”键结束设置。同学姓名: 权胜 王希 严家强 专业班级: 计算机应用技术 10511 欢迎下载名目名目前言前言.5 5第一章系统设计第一章系统设计.6 6第一节课题目标及总体方案第一节课题目标及总体方案.6 6其次节项目设计模块描述及流程图其次节项目设计模块描述及流程图.5 51、模块描述、模块描述.6 62、总体设计流程图、总体设计流程图.6 63、功能设计流程图、功能设计流程图.7 74、闹钟功能程序流程图、闹钟功能程序流程图.8 8一、主函数模块

6、一、主函数模块.9 9二、功能实现模块二、功能实现模块.10101、8 8 个个 LEDLED 灯灯的的按位显示程序按位显示程序 .10102、猎取系统时间、猎取系统时间.11113、* *键功能实现键功能实现.12124、按键推断函数、按键推断函数.12125、时间及日期设置、时间及日期设置.13136、闪烁、闪烁/ /不闪烁切换函数不闪烁切换函数.17177、发声函数、发声函数.18188、键值对应到键盘函数、键值对应到键盘函数.18189、中断函数、中断函数.1919三、闹钟功能实现模块三、闹钟功能实现模块.20201、A A 键设置闹钟功能实现键设置闹钟功能实现 .20202、闹钟设置

7、函数、闹钟设置函数.21213、闹铃函数、闹铃函数.2323其次章其次章结果与显示结果与显示.2424结果显示结果显示.2424心得体会心得体会.2424参考文献参考文献.2525欢迎下载前前 言言近年来,随着计算机技术及集成电路技术的进展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有进展前途的 IT 应用领域之一。实时时钟(RTC)器件是一种能供应日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC 具有计时精确、耗电低和体积小等特点,特殊适用于在各种嵌入式系统忠记录大事发生的

8、时间和相关信息,尤其是在通信工程、电力自动化、工业把握等自动化程度较高领域的无人职守环境。随着集成电路技术的不断进展,RTC器件的新品也不断推出。这些新品不仅具有精确的 RTC,还有大容量的存储器、温度传感器和 A/D 数据采集通道等,已成为集 RTC、数据采集和存储于一体的综合功能器件,特殊适用于以微把握器为核心的嵌入式系统。关键字:嵌入式系统、实时时钟 RTC欢迎下载第一章系统设计第一章系统设计第一节课题目标及总体方案第一节课题目标及总体方案随着嵌入式技术的进展,我们身边充斥着各类各样的嵌入式电子产品。实时时钟(RTC)就是一种在现代电子设备中应用格外普遍,可以挂念人们实时、精确的把握时间

9、的器件,如手机、PDA 及一些智能仪表都供应了时钟显示。我们本次课题的目标就是要基于 SAMSUNG S3C2410AL-20 芯片设计出一个实时时钟,编写 C 语言可以通过 Vision4 和超级终端软件调试,然后通过ULINK2 仿真器下载至试验箱内进行观看。在试验箱中的 LED 显示灯上显示出时间和日历。另外,我们将要实现的系统分为三个模块实现,每个模块间相对独立而又相互联系。 其次节项目设计模块描述及流程图其次节项目设计模块描述及流程图1. .模块描述:模块描述:我先进行了整个系统的规划,将整个系统分为两大模块:第一,主函数模块;其次,功能实现模块(进行时间和闹钟的设定,以及其他一些显

10、示功能) ;第三,闹钟功能实现模块。 2.总体设计流程图总体设计流程图:欢迎下载开头课程目标确定总体方案规划流程图设计查阅资料模块化设计编译程序仿真硬件观看调试得到预期效果优化结束NY3、功能设计流程图、功能设计流程图欢迎下载开头程序主界面0 按键1 按键D 按键A 按键*按键显示时间显示日期时间设置设置闹钟闪烁显示按 FUN 键确认再按*不闪烁显示系统时间结束NNNN4、闹钟功能程序流程图、闹钟功能程序流程图欢迎下载开头程序主界面到达闹铃时间设置闹钟FUN 键确定闹铃响FUN 键停止显示系统时间结束A 键按下?NNYY欢迎下载一、主函数模块一、主函数模块int i;int main(int

11、argc,char *argv)sys_init(); /初始化系统iic_init_8led(); /初始化 8 个 led 灯for(i=0;i8;i+)iic_write_8led(0 x70, 0 x10+i,0 xfc); /8 个灯全 0for(i=0;i29|ucChar=0) iic_init_8led(); while(1) if(rBCDYEAR=0 x99) /猎取系统日期准时间 g_nYear = 0 x1999; else g_nYear = 0 x2000 + rBCDYEAR; g_nMonth = rBCDMON; g_nWeekday = rBCDDAY; g

12、_nDate = rBCDDATE; g_nHour = rBCDHOUR; g_nMin = rBCDMIN; g_nSec = rBCDSEC; if(g_nSec!=nTmp) / 相同时间不显示 节省资源 nTmp = g_nSec;欢迎下载 break; 3 3、* *键功能实现键功能实现if(st2=1) /按*键执行闪烁for(a=0;a8;a+)iic_write_8led(0 x70,0 x10+a,0 x00); /8 个灯熄灭delay(1000);/延时 1sdisplay_Time();/再显示elsedisplay_Time();/未按下不变4 4、按键推断函数、按

13、键推断函数void display(void)if(ucChar=0 x01) /推断是否按下 0 键 uart_printf(n 按键 0,数码管显示时间:n); rtc_display1();/显示时间函数 else if(ucChar=0 x02) /推断是否按下 1 键 uart_printf(n 按键 1,数码管显示日期:n);rtc_display2();/显示日期函数 else if(ucChar=0 x14) /推断是否按下 D 键uart_printf(n 按下键 D,进入日期设置,请先输入日期(格式 年年年年月月日日)。输入完成后按 fun 键确认。n);setDate()

14、;/设置时间函数 else if(ucChar=0 x1c) /推断是否按下*键if(st3=1) /若按下*键,数码管闪烁显示 uart_printf(n 按下键*,数码管停止闪烁显示。n);st3=0;ss(); /调用闪烁/不闪烁切换else /再次按下*键,数码管停止闪烁 uart_printf(n 按下键*,数码管闪烁显示。n);st3=1;ss(); else if(ucChar=0 x11) /推断是否按下 A 键uart_printf(n 按下键 A,设置闹钟。请输入闹钟时间,按 fun 键确认。n);欢迎下载isAlam=1;/已设置了闹钟alam_jiao();/调用闹铃函

15、数 else if(st1=1) /推断当前是否显示时间,调用显示时间函数rtc_display1(); else if(st1=2) /推断当前是否显示日期,调用显示日期函数rtc_display2();5 5、时间及日期设置函数、时间及日期设置函数void setDate(void) int i,u;ucChar=0;for(u=0;u8;u+)iic_write_8led(0 x70,0 x10+u,0 x00); /灯灭i=0;while(1) iic_init_8led(); while(g_nKeyPress-) keyboard_init(); g_nKeyPress = 0;/

16、按键值置 0while(g_nKeyPress = 0);/空循环,等待有键按下iic_read_keybd(0 x70, 0 x1, &ucChar);if(i=8|i=17) /推断日期和时间输入完成while(1) while(g_nKeyPress-) keyboard_init();g_nKeyPress=0;while(g_nKeyPress=0);iic_read_keybd(0 x70, 0 x1, &ucChar);ucChar=key_set(ucChar);if(ucChar=0 xff) /按下 FUN 键确认if(i=8) uart_printf(n

17、完成日期设置,连续设置时间(格式 星期-时时分分秒秒)n);else uart_printf(n 完成时间设置。n);i+; break;欢迎下载if(i=9|i=18)/输入超出,跳出程序 break;if(ucChar != 0)/推断是否有键按下,并对应 LED 灯 8 位按位显示ucChar= key_set(ucChar);switch(i)case 0: iic_write_8led(0 x70, 0 x10+4, numucChar); g_nYear=ucChar*4096; /设置年 i+; break; case 1: iic_write_8led(0 x70, 0 x10

18、+5, numg_nYear/4096); iic_write_8led(0 x70, 0 x10+4, numucChar); g_nYear=g_nYear+ucChar*256; i+; break;case 2: iic_write_8led(0 x70, 0 x10+6, numg_nYear/4096); iic_write_8led(0 x70, 0 x10+5, numg_nYear/256%16); iic_write_8led(0 x70, 0 x10+4, numucChar); g_nYear=g_nYear+ucChar*16; i+; break;case 3: i

19、ic_write_8led(0 x70, 0 x10+7, numg_nYear/4096); iic_write_8led(0 x70, 0 x10+6, numg_nYear/256%16); iic_write_8led(0 x70, 0 x10+5, numg_nYear/16%16); iic_write_8led(0 x70, 0 x10+4, numucChar); g_nYear=g_nYear+ucChar; i+; break;case 4:iic_write_8led(0 x70, 0 x10+0, numg_nYear/4096); iic_write_8led(0 x

20、70, 0 x10+7, numg_nYear/256%16); iic_write_8led(0 x70, 0 x10+6, numg_nYear/16%16); iic_write_8led(0 x70, 0 x10+5, numg_nYear%4096%256%16); iic_write_8led(0 x70, 0 x10+4, numucChar); g_nMonth=ucChar*16;/设置月 i+;欢迎下载 break;case 5:iic_write_8led(0 x70, 0 x10+1, numg_nYear/4096); iic_write_8led(0 x70, 0

21、x10+0, numg_nYear/256%16); iic_write_8led(0 x70, 0 x10+7, numg_nYear/16%16); iic_write_8led(0 x70, 0 x10+6, numg_nYear%4096%256%16); iic_write_8led(0 x70, 0 x10+5, numg_nMonth/16); iic_write_8led(0 x70, 0 x10+4, numucChar); g_nMonth= g_nMonth+ucChar; i+; break;case 6:iic_write_8led(0 x70, 0 x10+2, n

22、umg_nYear/4096); iic_write_8led(0 x70, 0 x10+1, numg_nYear/256%16); iic_write_8led(0 x70, 0 x10+0, numg_nYear/16%16); iic_write_8led(0 x70, 0 x10+7, numg_nYear%4096%256%16); iic_write_8led(0 x70, 0 x10+6, numg_nMonth/16); iic_write_8led(0 x70, 0 x10+5, numg_nMonth%16); iic_write_8led(0 x70, 0 x10+4,

23、 numucChar); g_nDate=ucChar*16;/设置日 i+; break;case 7:iic_write_8led(0 x70, 0 x10+3, numg_nYear/4096); iic_write_8led(0 x70, 0 x10+2, numg_nYear/256%16); iic_write_8led(0 x70, 0 x10+1, numg_nYear/16%16); iic_write_8led(0 x70, 0 x10+0, numg_nYear%4096%256%16); iic_write_8led(0 x70, 0 x10+7, numg_nMont

24、h/16); iic_write_8led(0 x70, 0 x10+6, numg_nMonth%16); iic_write_8led(0 x70, 0 x10+5, numg_nDate/16); iic_write_8led(0 x70, 0 x10+4, numucChar); g_nDate=g_nDate+ucChar; i+; break; case 9: for(u=0;u8;u+)iic_write_8led(0 x70,0 x10+u,0 x00);/8 个灯灭i+;break;case 10:iic_write_8led(0 x70, 0 x10+5, numucCha

25、r);iic_write_8led(0 x70, 0 x10+4, 0 x02);欢迎下载g_nWeekday=ucChar;/设置星期i+;break;case 11:iic_write_8led(0 x70, 0 x10+6, numg_nWeekday);iic_write_8led(0 x70, 0 x10+5, 0 x02);iic_write_8led(0 x70, 0 x10+4, numucChar);g_nHour=ucChar*16;/设置小时i+;break;case 12:iic_write_8led(0 x70, 0 x10+7, numg_nWeekday);iic

26、_write_8led(0 x70, 0 x10+6, 0 x02);iic_write_8led(0 x70, 0 x10+5, numg_nHour/16);iic_write_8led(0 x70, 0 x10+4, numucChar);g_nHour=g_nHour+ucChar;i+;break;case 13:iic_write_8led(0 x70, 0 x10+0, numg_nWeekday);iic_write_8led(0 x70, 0 x10+7, 0 x02);iic_write_8led(0 x70, 0 x10+6, numg_nHour/16);iic_wri

27、te_8led(0 x70, 0 x10+5, numg_nHour%16);iic_write_8led(0 x70, 0 x10+4, numucChar);g_nMin=ucChar*16;/设置分钟i+;break;case 14:iic_write_8led(0 x70, 0 x10+1, numg_nWeekday);iic_write_8led(0 x70, 0 x10+0, 0 x02);iic_write_8led(0 x70, 0 x10+7, numg_nHour/16);iic_write_8led(0 x70, 0 x10+6, numg_nHour%16);iic_

28、write_8led(0 x70, 0 x10+5, numg_nMin/16);iic_write_8led(0 x70, 0 x10+4, numucChar);g_nMin=g_nMin+ucChar;i+;break;case 15:iic_write_8led(0 x70, 0 x10+2, numg_nWeekday);iic_write_8led(0 x70, 0 x10+1, 0 x02);iic_write_8led(0 x70, 0 x10+0, numg_nHour/16);iic_write_8led(0 x70, 0 x10+7, numg_nHour%16);iic

29、_write_8led(0 x70, 0 x10+6, numg_nMin/16);iic_write_8led(0 x70, 0 x10+5, numg_nMin%16);欢迎下载iic_write_8led(0 x70, 0 x10+4, numucChar);g_nSec=ucChar*16;/设置秒钟i+;break;case 16:iic_write_8led(0 x70, 0 x10+3, numg_nWeekday);iic_write_8led(0 x70, 0 x10+2, 0 x02);iic_write_8led(0 x70, 0 x10+1, numg_nHour/16

30、);iic_write_8led(0 x70, 0 x10+0, numg_nHour%16);iic_write_8led(0 x70, 0 x10+7, numg_nMin/16);iic_write_8led(0 x70, 0 x10+6, numg_nMin%16);iic_write_8led(0 x70, 0 x10+5, numg_nSec/16);iic_write_8led(0 x70, 0 x10+4, numucChar);g_nSec=g_nSec+ucChar;i+;break;case 18:rRTCCON = rRTCCON & (0 xf) | 0 x1

31、;/ No reset, Merge BCD counters, 1/32768, RTC Control enable rBCDYEAR = rBCDYEAR & (0 xff) | g_nYear; rBCDMON = rBCDMON & (0 x1f) | g_nMonth;rBCDDAY = rBCDDAY & (0 x7) | g_nWeekday; rBCDDATE = rBCDDATE & (0 x3f) | g_nDate; rBCDHOUR = rBCDHOUR & (0 x3f) | g_nHour; rBCDMIN = rBCDMI

32、N & (0 x7f) | g_nMin; rBCDSEC = rBCDSEC & (0 x7f) | g_nSec; rRTCCON = 0 x0;rtc_display1(); /显示时间函数break;6 6、闪烁、闪烁/ /不闪烁切换函数不闪烁切换函数void ss(void)if(st3=0)/若按下*键 if(st1=1) /推断当前是否显示时间,调用显示时间函数欢迎下载 st2=0;rtc_display1();else if(st1=2) /推断当前是否显示日期,调用显示日期函数 st2=0;rtc_display2();else/未按下键,再次推断显示日期还是

33、时间,再进行调用当前显示函数 if(st1=1) st2=1;rtc_display1();else if(st1=2) st2=1;rtc_display2();7 7、发声函数、发声函数void jiao() int u;rGPFCON=0 x5500;rGPFUP=0; rGPBCON = rGPBCON & 0 xFFFFFC|1;rGPBDAT &= 0 xFFFFFE;rGPFDAT=0;/初始化蜂鸣器设置for(u=0;u100000;u+);rGPFDAT=0 xF0;for(u=0;u100000;u+);delay(5000);/延时 5srGPBDAT |

34、= 1; delay(5000);rGPFCON = 0 x55aa;8 8、键值对应到键盘函数、键值对应到键盘函数UINT8T key_set(UINT8T ucChar)switch(ucChar)case 1:case 2:欢迎下载case 3:case 4:case 5:ucChar-=1; break;case 9:case 10:case 11:case 12:case 13:ucChar-=4; break;case 17:case 18:case 19:case 20:case 21:ucChar-=7; break;case 25: ucChar = 0 xF; break;

35、case 26: ucChar = +; break;case 27: ucChar = -; break;case 28: ucChar = *; break;case 29: ucChar = 0 xFF; break;default: ucChar = 0;return ucChar;9 9、中断函数、中断函数void _irq rtc_int0_int(void)ClearPending(BIT_EINT0);rRTCRST = (13) | 3;than 30 g_nSecvoid _irq rtc_int(void)/到达设定闹钟时间,触发中断 int i;ClearPending

36、(BIT_RTC); f_nIsRtcInt = 1; void _irq rtc_tick(void)ClearPending(BIT_TICK); f_unTickCount+;欢迎下载三、闹钟功能实现模块三、闹钟功能实现模块1 1、A A 键设置闹钟功能实现键设置闹钟功能实现if(isAlam=1)/按下 A 键设置闹钟 /在超级终端上显示已设定的闹钟为-uart_printf( %x:%x:%x %s,%x/%x/%x 已设定闹钟 %x:%x:%x,%x/%x/%xr,g_nHour,g_nMin,g_nSec,dayg_nWeekday,g_nMonth,g_nDate,g_nYea

37、r,rALMHOUR,rALMMIN,rALMSEC,rALMYEAR,rALMMON,rALMDATE);if(f_nIsRtcInt=1)/推断到了设定的闹钟f_nIsRtcInt=0; /到了闹钟时间久置为初始值isAlam=0;/将设置的闹钟置 0(已设置闹钟)uart_printf(n 闹钟叫了,请按 FUN 键停止。n);naoz();/调用闹钟函数else /未按下 A 键就不变 uart_printf( %x:%x:%x %s,%x/%x/%xr,g_nHour,g_nMin,g_nSec,dayg_nWeekday,g_nMonth,g_nDate,g_nYear);keyb

38、oard_init();/接受键盘的输入,并且将值放在 ucChar g_nKeyPress = 0;iic_read_keybd(0 x70, 0 x1, &ucChar); display();/按键推断函数rRTCCON = 0 x0;/ No reset, Merge BCD counters, 1/32768, RTC Control disable(for power consumption)void naoz(void)/闹钟函数int i;while(1) /闹钟响后,按 FUN 键停止 while(g_nKeyPress-) keyboard_init();/接受键盘

39、的输入,并且将值放在ucCharg_nKeyPress=0;iic_read_keybd(0 x70, 0 x1, &ucChar);ucChar=key_set(ucChar);if(ucChar=0 xff) /按下 FUN 键ucChar=0; /给按键值置 0欢迎下载uart_printf(n 闹钟已停止。n); return;iic_init_8led();for(i=0;i8;i+) iic_write_8led(0 x70,0 x10+i,0 x00);/8 个 LED 灯全灭display_Time();/调用系统时间显示jiao();/调用发声函数2 2、闹钟设置函数

40、、闹钟设置函数void alam(void) int i,u;ucChar=0;for(u=0;u8;u+)iic_write_8led(0 x70,0 x10+u,0 x00);/8 个 LED 灯全灭i=0;while(1) iic_init_8led(); while(g_nKeyPress-) keyboard_init(); g_nKeyPress = 0; /接受键盘的输入,并且将值放在 ucCharwhile(g_nKeyPress = 0);iic_read_keybd(0 x70, 0 x1, &ucChar);if(i=6) /推断时间输入是否完成while(1)

41、while(g_nKeyPress-) keyboard_init();g_nKeyPress=0; /接受键盘的输入,并且将值放在 ucCharwhile(g_nKeyPress=0); iic_read_keybd(0 x70, 0 x1, &ucChar);ucChar=key_set(ucChar);if(ucChar=0 xff)/按下 FUN 键确认输入时间i+; break;欢迎下载if(i=7)/推断是否 8 个 LED 灯都设置好了 return;/跳出程序if(ucChar != 0)/推断有键按下,并且在相应位上显示ucChar= key_set(ucChar);

42、switch(i)case 0: iic_write_8led(0 x70, 0 x10+6, 0 x02); iic_write_8led(0 x70, 0 x10+5, 0 x02); iic_write_8led(0 x70, 0 x10+4, numucChar); rALMHOUR=ucChar*16;/设置闹钟的小时 i+; break;case 1: iic_write_8led(0 x70, 0 x10+7, 0 x02); iic_write_8led(0 x70, 0 x10+6, 0 x02); iic_write_8led(0 x70, 0 x10+5, numrALM

43、HOUR/16); iic_write_8led(0 x70, 0 x10+4, numucChar); rALMHOUR=rALMHOUR+ucChar; i+; break;case 2: iic_write_8led(0 x70, 0 x10+0, 0 x02); iic_write_8led(0 x70, 0 x10+7, 0 x02); iic_write_8led(0 x70, 0 x10+6, numrALMHOUR/16); iic_write_8led(0 x70, 0 x10+5, numrALMHOUR%16); iic_write_8led(0 x70, 0 x10+4

44、, numucChar); rALMMIN=ucChar*16;/设置闹钟的分钟 i+; break;case 3: iic_write_8led(0 x70, 0 x10+1, 0 x02); iic_write_8led(0 x70, 0 x10+0, 0 x02); iic_write_8led(0 x70, 0 x10+7, numrALMHOUR/16); iic_write_8led(0 x70, 0 x10+6, numrALMHOUR%16); iic_write_8led(0 x70, 0 x10+5, numrALMMIN/16); iic_write_8led(0 x70, 0 x10+4, numucChar); rALMMIN=rALMMIN+ucChar; i+; break;case 4:欢迎下载 iic_write_8led(0 x70, 0 x10+2, 0 x02); iic_write_8led(0 x70, 0 x10+1, 0 x02); iic_write_8led(0 x70, 0 x10+0, numrALMHOUR/16); iic_write_8led(0 x70,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论