中职劳动版《单片机应用技术(C语言)》课题四 任务一 跑马灯课件

2023-05-19
| 17页
| 140人阅读
| 0人下载
普通

内容正文:

任务1 跑马灯 1.了解跑马灯的工作过程及控制原理。 2.掌握单片机I/O口控制外部负载的合理设计方法。 3.掌握移位和延时程序的设计方法。 4.能够设计并制作跑马灯控制系统。 本任务选用单片机P0口控制8只发光二极管(D1~D8),使D1~D8由低位到高位依次点亮,时间间隔为1s,如此往复循环,完成跑马灯控制系统的设计与制作。 一、函数 1.标准库函数 即由C编译系统提供的库函数,在C编译系统中将一些独立的功能模块编写成公用函数,并将它们集中存放在系统的函数库中,供程序设计时使用。 丰富的可直接调用的库函数是C51功能强大及其高效率的重要体现之一,多使用库函数可使程序代码简化,结构清晰,易于调试和维护。 2.用户自定义函数 即用户根据自己的需要而编写的函数。从函数定义的形式上可以划分为无参数函数、有参数函数和空函数。 无参函数的一般形式为: 函数类型 函数名(void) //用“void”声明该函数为 //无参函数 { 局部变量定义; 函数体语句; } 其中: 函数类型定义了该函数返回值的类型。 函数名后括号中的“void”,声明了该函数为无参函数,可以省略不写,但括号不能少。 局部变量的定义就是对在本函数内部使用的变量进行定义,只在本函数内部有效。它与全局变量相对,全局变量则是定义在函数的外部,一般位于程序的顶部,它的有效范围为从定义开始的位置到源文件结束。 二、移位运算符 C51中移位运算符主要包括左移(“<<”)和右移(“>>”)两种。 “<< ”运算符的功能是:将一个二进制数的各位全部左移若干位,移动过程中,高位舍弃,低位补0。 “>>”运算符的功能是:将一个二进制数的各位全部右移若干位,移动过程中,低位舍弃,高位补0。 [例] 将无符号字符型变量m中的数据左环移n(n<8)位。 解: a = m <<n; //将变量m左移n位后并赋给中间变量a b = m>>(8-n); /*将变量m右移(8-n)位后并赋给中间变量b m = a | b; /*将两个中间变量中的数据进行按位“或”运算再返还给变量m,则此时m中的数据即为左环移n位后的结果 */ 在C51中若要实现汇编移位指令中的环移功能,可以借助C编译系统中的“INTRINS.H”库函数,其中包含了字符循环左移(_crol_)和字符循环右移(_cror_)指令。 三、延时程序 采用for三重循环语句结构完成1s延时的函数: void delay1s(void) //定义一个延时为1s的无参函数供主函数调用 { unsigned char i, j, k; //局部变量定义 /* 最外层循环共要循环10次,共计延时约为10×0.1s =1s*/ for(k=10 ; m>0 ; m--) /*次外层循环共要循环200次,共计延时约为200×0.5ms=100ms=0.1s*/ for(j=200 ; j>0 ; j--) /*内循环共要循环250次,共计延时约为250×2μs=500μs=0.5ms*/ for(i=250 ; i>0 ; i--) ; /*最内层的循环体为空,循环每次延时2μs*/ } 此延时函数的时间延时只是近似1s,而并非标准的1s时间,因此只能用于对延时时间要求不是很准确的场合,若要实现标准的1s延时,可利用以后学习的定时器功能来完成。 一、设计并绘制电路原理图 单片机对LED控制的连接电路有两种方式,如下图所示。相应地,硬件上的不同连接方式也决定了软件上的不同控制逻辑,见下表: 端口控制逻辑电平 端口 LED状态 逻辑电平 P0.0 亮 0 灭 1 P2.0 亮 1 灭 0 在Proteus中根据上述分析绘制跑马灯电路原理图: AT89S51的I/O口在外接负载时,要注意其负载能力。P0每位可驱动8个TTL负载,每一位最大的吸收电流为26mA,P1~P3口每位可驱动4个TTL负载,每一位最大的吸收电流为15mA。 输 出 端 口 说 明 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 D8 D7 D6 D5 D4 D3 D2 D1 1 1 1 1 1 1 1 0 D1亮 1 1 1 1 1 1 0 1 D2亮 1 1 1 1 1 0 1 1 D3亮 1 1 1 1 0 1 1 1 D4亮 1 1 1 0 1 1 1

资源预览图

中职劳动版《单片机应用技术(C语言)》课题四 任务一 跑马灯课件
1
中职劳动版《单片机应用技术(C语言)》课题四 任务一 跑马灯课件
2
中职劳动版《单片机应用技术(C语言)》课题四 任务一 跑马灯课件
3
中职劳动版《单片机应用技术(C语言)》课题四 任务一 跑马灯课件
4
中职劳动版《单片机应用技术(C语言)》课题四 任务一 跑马灯课件
5
中职劳动版《单片机应用技术(C语言)》课题四 任务一 跑马灯课件
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。