版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务1跑马灯任务2
花样灯
任务3
键控彩灯
任务4数显抢答器任务5简易数字秒表任务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延时的函数:voiddelay1s(void)
//定义一个延时为1s的无参函数供主函数调用{unsignedchari,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灭1P2.0亮1灭0在Proteus中根据上述分析绘制跑马灯电路原理图:AT89S51的I/O口在外接负载时,要注意其负载能力。P0每位可驱动8个TTL负载,每一位最大的吸收电流为26mA,P1~P3口每位可驱动4个TTL负载,每一位最大的吸收电流为15mA。输出端口说明P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0D8D7D6D5D4D3D2D111111110D1亮11111101D2亮11111011D3亮11110111D4亮11101111D5亮11011111D6亮10111111D7亮01111111D8亮二、程序设计跑马灯的程序设计流程图如下图所示:根据上述设计思路编写完整的程序:三、程序输入及仿真运行四、制作硬件电路并调试步骤说明示范图片1.材料准备参照元器件清单表步骤说明示范图片2.硬件焊接电路板元件布局图电路板背面步骤说明示范图片3.程序烧入、运行并调试跑马灯运行图单击此处返回目录任务2花样灯
1.了解花样灯的工作过程。2.掌握查表程序的设计方法。3.掌握有参函数的调用及声明。4.能够设计并制作花样灯控制系统。花样灯是按时间依次让灯呈现出规定的花样,相对跑马灯来说,控制的显示数据之间没有规律,显示上具有多变性和复杂性,如下图所示。本任务使用单片机的P2口控制8只LED,循环实现如下图所示四种花样的显示,完成花样灯控制系统的设计与制作。花样D8D7D6D5D4D3D2D1数据编码一☆☆☆☆☆☆☆☆0xff★☆☆☆☆☆☆★0x7e★★☆☆☆☆★★0x3c★★★☆☆★★★0x18★★★★★★★★0x00★★★☆☆★★★0x18★★☆☆☆☆★★0x3c★☆☆☆☆☆☆★0x7e注:★灯亮☆灯灭花样D8D7D6D5D4D3D2D1数据编码二☆☆☆☆☆☆☆☆0xff★☆☆☆☆☆☆☆0x7f★★☆☆☆☆☆☆0x3f★★★☆☆☆☆☆0x1f★★★★☆☆☆☆0x0f★★★★★☆☆☆0x07★★★★★★☆☆0x03★★★★★★★☆0x01★★★★★★★★0x00花样D8D7D6D5D4D3D2D1数据编码三☆☆☆☆☆☆☆☆0xff☆★☆★☆★☆★0xaa★☆★☆★☆★☆0x55☆★☆★☆★☆★0xaa★☆★☆★☆★☆0x55四☆☆☆☆☆☆☆☆0xff☆☆☆☆★★★★0xf0★★★★☆☆☆☆0x0f☆☆☆☆★★★★0xf0★★★★☆☆☆☆0x0f☆☆☆☆☆☆☆☆0xff一、有参函数定义的一般形式
函数类型函数名(形式参数表)
//表明该函数带有参数传递{局部变量定义;函数体语句;}2.形参与实参形参:在定义函数时,函数名后面括号中的变量称为“形参”,定义时不赋值,由调用函数将值传递过来。实参:主调用函数后面括号中的表达式为“实参”,实参必须有确定的值。该值在调用时按对应关系传递给形参。注意:在C语言中参数的传递是单向的。函数返回值通过“return(x)”返回,返回值是通过函数名带回的,所以一个函数只能有一个返回值。1.函数返回值[例]定义一个返回两个整数的最大值的函数max()。
intmax(intx,inty){intz;z=x>y?X:y;return(z);}二、有参函数调用的一般形式函数名(实参列表);有参函数在被调用时,调用函数将要运算的对象以实参的形式传递给有参函数,有参函数再将运算对象带入自身函数体内执行,并在函数结束时返回结果供调用它的函数使用。三、自定义函数的声明
[extern]函数类型函数名(形式参数表);函数的声明是把函数名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便调用函数时系统进行对照检查。函数的声明后面要加分号。如果声明的函数在文件内部,则声明时不用加“extern”,如果声明的函数不在文件内部,而在另一个文件中,声明时须带“extern”,指明使用的函数在另一个文件中。[例]有参函数的调用及声明。
#include<AT89X51.H>//包含AT89单片机寄存器的头文件#include<stdio.h>/*包含I/O库函数文件(它当中定义了C51中的输入和输出函数)*/
intmax(intx,inty);//对max函数进行声明main()//主函数{inta,b;SCON=0x50;//串口工作于方式1,10位异步收发
TMOD=0x20;//定时器T1工作于方式2自动装入模式
TH1=0xFD;//晶振11.0592MHz,波特率:9600TI=1;//串行发送中断标志位置"1"TR1=1;//启动定时器T1while(1){printf(“pleaseinputa,b:\n”);//输入要比较的两个整数
scanf("%d,%d",&a,&b);printf(“maxis:%d\n”,max(a,b)
);//调用有参函数并输出最大值
}
}intmax(intx,inty){intz;z=(x>=y?x:y);//通过表达式求出最大值
return(z);//返回最大值}在C51程序设计中,一般将被调用函数放置于主调用函数之前,这样可以在程序头省去对被调用函数的声明。一、设计并绘制花样灯电路原理图
注意:在实际应用电路中,若接节日彩灯或广告霓虹灯,一般还需外加隔离电路(光电耦合器)和驱动电路(如晶闸管或继电器等)。二、程序设计根据上述设计思路编写完整的程序:三、程序输入与仿真调试四、制作硬件电路并调试步骤说明示范图片1.焊接前材料准备参照元器件清单表步骤说明示范图片2.硬件焊接电路板元件布局图电路板背面步骤说明示范图片3.程序烧入、运行并调试彩灯运行图单击此处返回目录任务3键控彩灯
1.了解按键的特性及其与单片机端口的连接方法。2.掌握独立式按键扫描及软件消抖的编程原理。3.能够设计并制作键控彩灯控制系统。本任务使用单片机P0口连接8只彩色LED,按照绿、黄、红顺序依次排开。使用两个独立按键,分别连接在单片机的P2.0和P2.1口,实现下表中所述的控制要求,完成键控彩灯控制系统的设计与制作。按键编号连接端口按键功能说明K1P2.0右移按键,彩灯右移一位点亮K2P2.1左移按键,彩灯左移一位点亮一、键盘及其接口矩阵键盘独立键盘独立式键盘的各个按键之间相互独立,每个按键独立地与一根数据输入线(单片机并行I/O口或其他接口芯片的并行接口)相连。常见的接口电路如下图所示。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量较多时,将占用较多接口线,因此,独立式按键常用于按键数量不多的场合。二、按键的机械特性为了保证每按下一次按键,单片机仅作一次键输入处理,就需要消除因按键抖动现象而引起的错误动作,常用的去除抖动的方法有硬件消抖和软件消抖两种。在实际应用中,当所接按键较多时,为了减少外围电路,通常利用软件延时的方法来消除抖动。三、硬件消抖电路一、设计并绘制键控彩灯电路原理图二、程序设计软件消抖流程图键控彩灯程序设计流程图根据上述设计思路编写完整的程序:三、程序输入与仿真运行四、制作硬件电路并调试步骤说明示范图片1.焊接前材料准备参照元器件清单表步骤说明示范图片2.硬件焊接电路板元件布局图电路板背面步骤说明示范图片3.程序烧入、运行并调试彩灯左移运行图单击此处返回目录任务4数显抢答器1.了解数码管的结构及显示原理。2.掌握对独立式键盘扫描、处理的编程方法。3.掌握单片机控制LED数码管静态显示方法。4.能够设计并制作数显抢答器控制系统。抢答器是一种广泛应用于各种竞赛活动、抢答现场中的重要设备,如下图所示,它能迅速、准确、公正、客观地分辨出最先获得发言权的选手,保证比赛的顺利有效进行,同时增加比赛的刺激性和娱乐性。
1.每个参赛选手控制一个按钮,按动按键发出抢答信号。2.竞赛主持人控制两个功能按钮,一个为抢答开始按钮,另一个为抢答结束后的复位按钮。3.竞赛开始后,先由主持人按下抢答开始按钮,8位参赛选手通过按下各自的抢答按钮进行抢答。哪位选手最先按下抢答按钮,数码管就显示其对应的号码,表示该名选手抢答成功并且锁定,其他参赛选手再抢答无效。4.竞赛结束时,再由主持人按下复位按钮,本轮抢答结束,为下一轮抢答做准备。本任务主要是设计并制作一个简易的8路抢答器,不考虑音响、灯光等辅助设施。通过独立键盘输入抢答信号,一位数码管显示出抢答者的号码,具体控制要求如下:一、LED数码管的结构
数码管是由几个发光二极管组合在一起而形成的显示装置,组成数码管的每一个发光二极管称为数码管的“段”。以一位8段LED数码管为例,共有7段组成一个“日”字形,分别定义为数码管的a、b、c、d、e、f、g段,另外再加上一个用于小数显示的小数点dp(或h)段。数码管根据不同码段之间的组合,来显示数字0~9或简单的字符信息。由于组成数码管的发光二极管自身具有极性,所以组成的数码管也有共阴极和共阳极之分。共阳极共阴极二、单片机与数码管之间的连接共阳数码管共阴数码管当使用单片机的I/O口控制一位显示输出时,最好选择共阳极数码管,这样电路采用灌电流方式,数码管直接受控于I/O端口,否则,当连接的是共阴极数码管时,需在I/O口上添加上拉电阻来驱动数码管。三、数码管字符显示原理a)共阴数码管显示以单片机I/O口输出显示“5”的字形数据为例:b)共阳数码管显示四、数码管静态显示方式静态显示即当数码管显示某一字符时,相应码段的发光二极管恒定的导通或截止,只要通过改变数码管各码段引脚的高低电平,就能达到显示不同字符的目的。优点:数码管显示稳定无闪烁,亮度高,软件控制比较容易;缺点:占用单片机较多的I/O口资源,且硬件接线复杂。五、一位数码管循环显示“0~9”1.电路原理图2.“0~9循环显示”程序一、设计并绘制8路数显抢答器电路原理图二、程序设计本任务的程序设计主要包括数码管显示程序和按键处理程序两部分。根据设计思路编写的8路数显抢答器程序为:8路数显抢答器程序设计流程图如右图所示。三、程序输入与仿真运行四、制作硬件电路并调试步骤说明示范图片1.焊接前材料准备参照元器件清单表步骤说明示范图片2.硬件焊接电路板元件布局图电路板背面DIP底座步骤说明示范图片3.程序烧入、运行并调试2号抢答成功运行图单击此处返回目录任务5简易数字秒表1.了解秒表的工作过程。2.掌握单片机控制LED数码管动态显示字符方法。3.能够设计并制作简易数字秒表。本任务利用软件延时计数法,通过四位一体数码管输出显示,实现简易秒表的计时功能,具体控制要求如下:1.单片机的P0口控制四位一体LED共阴数码管的各码段端;2.单片机的P2.0~P2.3引脚外接驱动电路控制数码管的四个位选端;3.四位数码管分别用来显示一位分计时和两位秒计时,中间用“—”隔开。动态显示是将所有数码管的8个段码端的同名端并联在一起,由一个8位的输出口控制,每位数码管的公共端(称位线)由各自独立的输出口线控制,如图所示。它解决了数码管静态显示时占用较多的I/O口资源的问题。
在轮流显示过程中,每位数码管的点亮时间一般要控制在1~2ms,这样由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版数学四年级上册-单元练习卷(易错题)-第五单元-平行四边形和梯形(含答案)
- 内痔手术宣传
- 《通信原理实验》课件
- 2024新社保政策培训
- 公司储干培训心得
- 云计算的源起与实现智慧养老技术概论
- 社区人力资源社会工作专业教学案例宝典
- 二年级数学100以内加减法竖式计算题竞赛测试口算题带答案
- 如何解决个人计算机的安全
- 外包企业文化培训
- 2024汽车行业社媒营销趋势-微播易CAA中国广告协会-2024.08-98正式版
- 《助产学》考试试题及答案
- GB/T 18385-2024纯电动汽车动力性能试验方法
- 期末+(试题)+-2024-2025学年人教PEP版英语六年级上册
- ICD-10疾病编码完整版
- 2023年山东青岛局属高中自主招生物理试卷真题(含答案详解)
- 湖北省2024年中考英语模拟试卷(含答案)
- 市三级公立综合医院绩效考核指标评分细则
- 2024年国家开放大学电大《经济法律基础》形成性考核题库
- 2024考研英语二试题及答案解析
- 集团企业运行与国资监管数据平台解决方案
评论
0/150
提交评论