流水线工件计数器.ppt
任务七任务七流水线工件计数器流水线工件计数器机电一体化教研室复习回顾复习回顾v函数分类和定义v函数调用机电一体化教研室生产流水线生产流水线机电一体化教研室工作任务工作任务v正确连接实验箱电路v编写流水线工件计数器程序并完成调试v根据要求修改程序并观察运行结果v完成实训报告机电一体化教研室任务分析任务分析当检测到有工件时(按键按下),计数加1。用8个发光二极管按照BCD码格式显示计数值。计数范围:0099。机电一体化教研室知识点知识点1:BCD码码vBCD码是用二进制数形式表示十进制数二进制数形式表示十进制数,例如十进制数45,其BCD码形式为45H。BCD码只是一种形式,与其数值没有关系。vBCD码用4位二进制数表示一位十进制数,这4位二进制数的权为8421,所以BCD码又称为8421码。v例如,请说出下列十进制数的BCD码v56,87,143机电一体化教研室v在这个任务中,我们采用MCS-51系列单片机控制8个发光二极管,实现了一个0-59(99)的秒表,以BCD码形式显示。延时函数与delay()完全相同,不同之处在于数据处理部分,将二进制数i转换为BCD码格式采用了下面的语句:vt=(i/10)4|(i%10);v首先用整除运算符“/”取出i的高位,并左移4位,再用余数运算符取出i的低4位,两者再进行运算,即得到了i的BCD码表示形式。机电一体化教研室知识点知识点2:C语言的结构语言的结构v在在C语言程序中,子程序的作用是由函数来实现的,函数语言程序中,子程序的作用是由函数来实现的,函数是是C语言的基本组成模块,一个语言的基本组成模块,一个C语言程序就是由若干个语言程序就是由若干个模块化的函数组成的。模块化的函数组成的。vC程序都是由一个主函数程序都是由一个主函数main()和若干个子函数构成,有和若干个子函数构成,有且只有一个主函数,程序由主函数开始执行,主函数根据且只有一个主函数,程序由主函数开始执行,主函数根据需要来调用其他函数,其它函数可以有多个。需要来调用其他函数,其它函数可以有多个。机电一体化教研室v1.标准库函数标准库函数v 标准库函数是由标准库函数是由C51的编译器提供的,用户不必定义这的编译器提供的,用户不必定义这些函数,可以直接调用。些函数,可以直接调用。KEIL C51编译器提供了编译器提供了100多个多个库函数供我们使用。常用的库函数供我们使用。常用的C51库函数包括一般库函数包括一般I/O口函数、口函数、访问访问SFR地址函数等,在地址函数等,在C51编译环境中,以头文件的形编译环境中,以头文件的形式给出。式给出。v2.用户自定义函数用户自定义函数v 用户自定义函数是用户根据需要自行编写的函数,它必用户自定义函数是用户根据需要自行编写的函数,它必须先定义之后才能被调用。须先定义之后才能被调用。机电一体化教研室v函数定义的一般形式是:v函数类型 函数名(形式参数表)v 形式参数说明vv局部变量定义v函数体语句vv 其中其中,“函数类型函数类型”说明了自定义函数返回值的类型。说明了自定义函数返回值的类型。v “函数名函数名”是自定义函数的名字。是自定义函数的名字。v “形式参数表形式参数表”给出函数被调用时传递数据的形式参数,形式参数给出函数被调用时传递数据的形式参数,形式参数的类型必须要加以说明。如果定义的是无参数函数,可以没有形式参的类型必须要加以说明。如果定义的是无参数函数,可以没有形式参数表,但是圆括号不能省略。数表,但是圆括号不能省略。v “局部变量定义局部变量定义”是对在函数内部使用的局部变量进行定义。是对在函数内部使用的局部变量进行定义。v “函数体语句函数体语句”是为完成函数的特定功能而设置的语句。是为完成函数的特定功能而设置的语句。机电一体化教研室编程:编程:流水线工件计数器流水线工件计数器程序程序#include void delay1s()void main()unsigned char i,t;TMOD=0 x10;/置t1为工作方式1while(1)for(i=0;i60;i+)t=(i/10)4)|(i%10);/将i转化为BCD码 P1=t;/计数值取反后送P1口显示delay1s();/调用1s延时函数机电一体化教研室动动手:编写程序实现下列要求动动手:编写程序实现下列要求v创建工程 保存工程v建立源文件 保存源文件v源文件加入工程v编译 链接 调试程序编写调试机电一体化教研室动动手:编写程序实现下列要求动动手:编写程序实现下列要求v(1)计数时间达到99v(2)时间间隔为1号,6号,11号,16号。0.8秒2号,7号,12号,17号。1.2秒3号,8号,13号,18号。1.5秒4号,9号,14号,19号。1.8秒5号,10号,15号,20号。2秒机电一体化教研室动动手动动手v使用电子连接线连接单片机试验箱P1输出端口与LED接线端口v使用USB数据线连接电脑USB端口与单片机试验箱数据端口v全速运行,观察流水线工件计数器运行效果硬件连接机电一体化教研室拓展思考拓展思考 流水线上生产的工件,有时候会有不合格品。如果用一个开关来模拟,当该开关闭合,代表这个工件合格;当该开关断开,代表这个工件不合格。计数器只统计合格工件的数量。程序如何修改才能实现以上要求?机电一体化教研室机电工程学院机电工程学院 机电一体化教研室机电一体化教研室