C语言程序设计与应用 - 讲义 - 第11章-电子钟的API设计与应用_第1页
C语言程序设计与应用 - 讲义 - 第11章-电子钟的API设计与应用_第2页
C语言程序设计与应用 - 讲义 - 第11章-电子钟的API设计与应用_第3页
C语言程序设计与应用 - 讲义 - 第11章-电子钟的API设计与应用_第4页
C语言程序设计与应用 - 讲义 - 第11章-电子钟的API设计与应用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1第11章:电子钟的API设计与应用——卓越工程师培养系列——2目录《C语言程序设计与应用》-配套讲义1.实验内容2.实验原理3.实验步骤4.本章任务5.本章习题3

本章实验是在上一章实验的基础上,将Tick、CalcTime、CalcHour、CalcMin和CalcSec模块整合为RunClock模块。在App模块中通过多媒体定时器实现2毫秒定时功能,以此为秒值计数的时间基准。RunClock模块中的InitRunClock函数用于实现模块的初始化,RunClockPer2Ms函数用于计数,SetTimeVal函数用于设置时间值,GetTimeVal函数用于获取时间值,PauseClock函数用于实现电子钟的启动和暂停,DispTime函数用于显示时间,App模块通过调用RunClock模块中的函数实现时钟的运行和控制台窗口每秒一个完整的时间值输出。《C语言程序设计与应用》-配套讲义1.实验内容42.1项目架构App模块的InitRunClock函数用于初始化模块,RunClockPer2Ms函数用于计数,SetTimeVal函数用于设置时间值,GetTimeVal函数用于获取时间值,PauseClock函数用于启停电子钟,DispTime函数用于显示时间。《C语言程序设计与应用》-配套讲义2.实验原理52.2RunClock模块函数RunClock模块由RunClock.h和RunClock.c文件实现。RunClock模块有6个API函数,分别是InitRunClock、RunClockPer2Ms、PauseClock、GetTimeVal、SetTimeVal和DispTime。《C语言程序设计与应用》-配套讲义2.实验原理62.3DataType.h

在编写代码时,可将一些较长关键字用缩写代替,如unsignedchar用u8代替。在DataType.h中,就用新数据类型名来代替已有的数据类型,如下所示:typedefsignedchar i8;typedefsignedshort i16;typedefsignedint i32;typedefunsignedchar u8;typedefunsignedshort u16;typedefunsignedint u32;

另外,由于布尔型常量也常在程序中用到,这里在DataType.h中增加了TRUE和FALSE的定义。如下所示:#defineTRUE1#defineFALSE0《C语言程序设计与应用》-配套讲义2.实验原理72.3while循环语句

在C程序中,while语句是常用的实现循环结构的语句,其一般形式为:while(表达式){

循环体语句;}

表达式为循环的判定条件,若表达式的值为真,则执行循环体语句,为假则跳出while循环。《C语言程序设计与应用》-配套讲义2.实验原理82.3while循环语句while循环语句的流程图如下图:《C语言程序设计与应用》-配套讲义2.实验原理9《C语言程序设计与应用》-配套讲义3.实验步骤3.1复制Material中的文件夹到CProgramTest文件夹中3.2打开Project文件夹中的Project.sln文件3.3完善RunClock.h/.c文件3.4完善App.c文件3.5项目编译和运行10《C语言程序设计与应用》-配套讲义4.本章任务2020年总共有366天,将2020年1月1日作为计数起点,即计数1,2020年12月31日作为计数终点,即计数366。计数1代表“2020年1月1日-星期三”,计数10代表“2020年1月10日-星期五”。参照本章实验,设计一个实验,实现每秒计数递增一次,计数范围为1~366,并通过printf函数每秒打印一次计数对应的年、月、日、星期。比如初始日期设置为10,即“2020年1月10日-星期五”,那第一秒打印“2020年1月10日-星期五”、第二秒打印“2020年1月11日-星期六”,以此类推。11《C语言程序设计与应

温馨提示

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

评论

0/150

提交评论