第讲完成一个流水灯项目_第1页
第讲完成一个流水灯项目_第2页
第讲完成一个流水灯项目_第3页
第讲完成一个流水灯项目_第4页
第讲完成一个流水灯项目_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第6讲完成一个流水灯项目亚博科技51单片机开发板28课配套视频教程流水灯设计•本讲任务:•分别用位输出操作、移位操作、循环移位操作完成3个典型流水灯的设计。•掌握下列C语言知识点:•宏定义、函数和函数调用、循环结构、while语句、关系运算和逻辑值•掌握流程图绘制。•完成闪烁灯的设计。•如何完成函数调用。亚博科技51单片机开发板28课配套视频教程完成一个典型流水灯的设计程序就是人的思想的反映,编程最重要的就是你的编程思路,有什么样的思路就会编出什么样的程序。先看上一讲的点一个发光管程序:1、思路分析。流程图是整理我们思路的好工具,同时也能保证若干年以后你还能轻易看懂自己编写的程序。2、程序讲解(这个程序是利用了位输出操作)。宏定义函数和函数调用如何熄灭发光管循环结构,while语句详解、关系运算和逻辑值如何改变流水灯流动的速度亚博科技51单片机开发板28课配套视频教程亚博科技51单片机开发板28课配套视频教程本讲需要学习的新知识•数电、模电方面同上一讲一样,有不熟悉的同学也可回看上一讲的内容,本讲在C语言方面增加了一个新的函数。•延时函数delay•for循环语句了解一下延时函数•学过汇编你就会知道,每条指令都占一定的时间(或者机器周期)的,如果你让机器什么都不做,即空指令的话,机器就会延时,然后你在计算好每次延时到底有多长,外面套一个循环(或者多重循环),根据你想要的延时时间即可计算出来循环的次数,延时函数基本上都是这种原理,它的参数就是用来控制循环次数的。亚博科技51单片机开发板28课配套视频教程怎样编写精确的延时函数

实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行。•1使用定时器/计数器实现精确延时•2软件延时与时间计算•在很多情况下,定时器/计数器经常被用作其他用途,这时候就只能用软件方法延时。下面介绍几种软件延时的方法。•2.1短暂延时•2.2在C51中嵌套汇编程序段实现延时•2.3使用示波器确定延时时间•2.4使用反汇编工具计算延时时间亚博科技51单片机开发板28课配套视频教程认识一个For循环语句•For(表达式1;表达式2;表达式3){语句(内部可为空)}执行过程:1.求解一次表达式1.2.求解表达式2,若其值为真(非0即为真),则执行for中语句。然后执行第3步。否则结束for语句,直接跳出,不再执行第3步。3.求解表达式3.4.跳到第2步重复执行。亚博科技51单片机开发板28课配套视频教程一个简单的延时函数

只需要了解一下,不需要记住,学会调用它就可以了。•/*------------------------------------------------•延时函数,含有输入参数unsignedintt,无返回值•unsignedint是定义无符号整形变量,其值的范围是•0~65535•------------------------------------------------*/•voidDelay(unsignedintt)•{•while(--t);•}亚博科技51单片机开发板28课配套视频教程了解一下实验板初始化•初始化就是把变量赋为默认值,把控件设为默认状态,把没准备的准备好。但是如果是整个系统初始化那就不一样了。在汇编语言中,为变量分配空间时,初始化过的变量的初值位于可执行文件代码段数据后,会占用一定空间,不必要的初始化会造成磁盘空间的浪费。在C语言等高级语言中,为每一个变量赋初值被视为良好的编程习惯,有助于减少出现Bugs的可能性。因此,是否对不必要的变量初始化依情况而定。亚博科技51单片机开发板28课配套视频教程实验板初始化函数•只需要了解一下,不需要记住,学会调用它就可以了。•bst-v51.h•bst-v51.c亚博科技51单片机开发板28课配套视频教程宏定义#号是预处理指令,用#开头。#defineON(新的名称)1(原来的名称)作用:在程序书写时可用新的名称代替原来的名称书写,以达到简化或直观的效果。编译器在预处理的时候,自动将新的名称还原为原来的名称。•书写位置:源程序开头,函数的外面亚博科技51单片机开发板28课配套视频教程3个流水灯程序框图亚博科技51单片机开发板28课配套视频教程开始详细讲解流水灯项目开发

设计目的•从实际工程应用出发,在理论和实践上掌握流水灯系统的基本组成,工作原理。对设计流水灯有一个完整的概念,使设计出来的流水灯达到本设计任务书的技术要求。亚博科技51单片机开发板28课配套视频教程8位流水灯开发过程亚博科技51单片机开发板28课配套视频教程•一、任务描述:这次开发的目的是什么(如要实现什么功能,应用在什么地方,对性能、功耗、实时性等有什么要求)•任何一个应用单片机开发的产品,从客户提出要求到完成方案设计,再到产品样机的调试,直至正式投入试运行,这个过程称为单片机应用系统得开发。单片机应用系统开发过程所用的设备统称为开发工具。由于单片机的软件资源有限,并且自身没有调试能力,因此必须配备相应的开发工具来排除开发过程中的软件错误,生成目标程序。•本任务通过左移亮灯电路来讲解单片机系统开发设计时电路原理图的设计方法和步骤。通过本任务的学习,掌握单片机应用电路和程序的开发过程。二、任务分析•根据这次开发的目的展开分析,要用到什么模块,而且每个模块可能会用许多选择,这就要根据价钱,性能,功耗,实时性等方面的要求来选择了•8只发光二极管亮灯数据左移一位。首先对单片机工作条件(电源、时钟和复位电路)进行设计,然后根据设计任务要求对I/O接口电路进行设计;本任务学习用DZ-80C52集成的串口模块烧写器器进行单片机程序下载。。亚博科技51单片机开发板28课配套视频教程三、鹊任务锄演示•分配躲任务琴,因剂为,西有些隔开发沿项目恰可能漂不是弊一个尚人能俱够完恨成的择,是灰要一众个团乘队来巷做,杠那么惑就要物根据醉每个快人的箱特点世来分艰配任扑务了别。如内,硬订件,包软件装,算朵法,酷调度遍,测精试,邪界面径,采脱购等。亚博松科技51单片国机开夺发板28课配饿套视翼频教蛇程四、之项目落开发乔相关狱知识(一)睡单片肿机产绳品开慈发流科程1、友项目蒸评估例:出体初步芒技术阴开发矮方案险,据可此出跃预算史,包赖括可仇能的牲开发贷成本嫌、样超机成梁本、惧开发隔耗时初、样扯机制状造耗勒时、户利润屡空间门等2、居项目顶实施寒:(1植)设报计电劲原理陷图(2坑)设尾计印蕉刷电从路板乞(P处CB迫)图(3河)把熟PC揭B图逗发往犁制版谎厂做染板(4煌)定已购开加发系眉统和磨元件(5搏)装捧配样物机:虫PC鸽B板忘拿到遮后开营始样哄机装勉配,损设计塘中的谱错漏根会在解装配督过程捆开始哨显现约,尽贺量去蹦补救跨。亚博般科技51单片哪机开屯发板28课配销套视崖频教夫程样机熟调试(6两)样裙机调握试:孕这个鸣过程乐需要挖用到序电烙中铁、另刻刀冶、不可同参鞠数的壮元件牙、各汇种调童试和千仿真恋软件理、样炎机的展模拟徒工作潜环境暗等。婚(渠7)斧整理刺数据事:研狐发过教程中流得到曲的重挣要数钓据记圆录保生存下炮来,腹比如佩更新浪电原壤理图食里的授元件珠参数火、P箭CB铲元件督库里脊的三环维模虚型,丈还要躬记录耕暴露坑出来链的设连计上晓的失齿误、打分析滴失误营的原械因、柴采用宗的补愉救方猎案等诸等。亚博融科技51单片汪机开隐发板28课配夏套视税频教剧程完善监样版合机(8衰)如霉果项成目进睛入生权产阶储段或锯确有捉需要块,可迷以根方据修钉正后木的技插术方浊案按徒以上劝各个胡步骤掏重做贼一台蹦完善喂的V骗1.掠1版橡样机侨。(9盈)编小写设虏备文因档:艇包括棋编写羽产品腿说明伸书、理拍摄岁外观亲图片京等。(1收0)专沟通重和修赤改,肺在开真发过良程中哄,蜜不能辱完全待的根会据任换务来季区分河,团触队之幅间要灰有适仿当的肌沟通镇,根书据需抗要来辈对计先划做涨相应浓的修疏改,仗如:忙中断伍的分枣配,很GP缸IO逐的分浅配,笼算法终的复育杂性勺,接漂口的扬定义工之类宪的。亚博邮科技51单片峡机开卡发板28课配押套视育频教伪程测试铜和更妄改11伞)测糟试和篮更改编,最篇终,语各个妇模块连是要旗组合表起来认的,预这时惧可能鱼会碰你到许贺多问勉题。唤如,衡代码且太大被而内蒜存不占够,橡时效爬响应荷不够豆灵敏端,代颗码执静行构凶成中已出现木死循咽环,锹模块禽优先原级的券选择屡出现饥不妥姜,临苗界点欺没有赖纠错扫功能植等,祝这就补要不托断的磁整合淋,反尚复的左更改叫,调辱试,纹可能境会出木现许眨多方乳案,纲再根身据实抹际情不况最后淘定夺•小提隶示:筐开发袭过程躲中做井好备瞧案,该代码痰写好糖注释乓,如骄果允相许,际不同讨模块步、不馒同系塑统层仙次的荐接口怖分别唇来写作,合抹理分肝配资苹源。亚博渡科技51单片协机开枣发板28课配燃套视许频教键程一个互完整倦实验杨源码/*经--窜--战--腐--葡--吉--埋--挣--捏--挎--么--奖--观--温--饶--么--种--盒--兼--撑--荷--碗--赤--蒜-•特名称砖:I霉O口捡高低燥电平帐控制•布内容影:左输移,毫直至紫LE顷D全悉部点掠亮,虫左移看符号带<鞋<•县--浓--叙--央--窜--阶--谨--恳--锈--住--撑--吵--和--柜--攻--泥--肃--通--习--虽--寨--从--营--路--秘*呈/•致#i壮nc汽lu约de绒<r某eg葬52改.h件>穴//包含忍头文脆件,名一般湾情况址不需绣要改执动,秀头文黄件包刷含特诞殊功园能寄截存器捉的定给义•妹vo啄idDe介la搁y(杠un腔si箱gn碍edin剪tt)序;剧//函数判声明•裂/*壮--船--川--派--驳--搏--忌--日--舌--议--陷--宴--厅--勒--男--箱--淋--顷--仪--持--击--忌--屯--贫--•主函股数•磁--昏--跳--摆--阀--扣--侧--指--字--盛--妇--扔--托--淹--狠--村--秃--勉--政--湖--见--孔--罩--气--棚*粥/•堆vo毒id渣m臂ai信n尝(v街oi浩d)•删{••摧un忌si哄gn恢ed平c售ha繁r圆i;偏/死/定义贤一个授无符伙号字租符型罪局部炎变量i取值鬼范围0~镜25膀5•渴De场la兵y(寻50份00岔0)连;•类P1葬=0惭xf奏e;左/奔/赋初奖始值•fo耽r(猛i=0其;i化<8读;i咏++链)俘//加入fo联r循伏环,醋表明喊fo盼r循因环大董括号辨中的轮程序捞循环各执行盯8次•奇{•公De浙la衬y(寸50漏00苏0)杂;•分P1哭<<打=1将;•葛}•理wh克il词e捎(1休)删//主循讽环•隆{•绳//主循较环中孕添加捐其他只需要绒一直行工作奥的程城序•乓}•巡寿}•卖/*哥--扁--皇--染--关--浴--摊--吵--理--瓦--接--炊--陶--食--洋--顽--榜--闲--睁--购--乔--访--肿--艘--•延时抗函数但,含镜有输旬入参养数un默si性gn足edin范tt,尽无返掌回值•厕un侦si厌gn赶edin末t是定加义无座符号踩整形后变量夺,其眠值的默范围馋是•宪0~锁65决53桶5•您--翠--塘--存--编--啊--庙--宫--味--异--迷--孝--材--共--暴--恐--汁--烈--辈--最--协--钻--欲--电--巾*躲/•拦vo灰idDe火la负y(溜un栗si及gn嘴edin淡tt)•闻{•葡wh券il劝e(距--殖t)晚;•群}亚博奥科技51单片麻机开严发板28课配般套视道频教具程函数逢的引分入函数厌是C检语言腥的主陕要特桐点,腾也是喝我们迅学习泼的一底个重厉点。主函古数:末主人庆,只狐有一中个。从家颂里的倾电脑渐坏了译说起。在实姓际编困程中迁,我栽们会亩遇到宝两种窄情况:1、办需要断使用马别人细的程喝序,妻现在许是网保络共当享时折代,再要学笑会在甩网络相中找饱到你零需要斗的东袋西,队例如月D体S1触30肢2时饰钟的可功能沾函数静,D究S1齿8B微20久功能微函数2、剖某一番段程挪序会储反复额用到嚼,这董时,骨我们蹲需要垦用到抱函数理和函伞数调骆用其预他功鬼能函合数:扎工人钟(下楚属,谜可以糖被调招用完案成某奥项工扶作的伟人)阴,以应有多紫个,猛可实犹现某所种功卵能的掠一段无相对很独立轰的,胀可以胸被调真用的缠代码赵。•相互卵间的此调用蛛关系•注意勿:我舅们一贯般所肆说函再数,况指的昨都是么功能本函数亚博烈科技51单片酬机开悄发板28课配害套视域频教柳程实现奔函数速调用招的前脖提:肿调用再者必今须能斗看到员被调用联者调用庙者必嫩须能称看到爹被调抚用者愧程序伯如何睡才能妈找到唤要•调用云的函倚数呢蚊?有则三种认方法:•第一使种、连将被垫调用时函数迈写在病当前苹代码圆之前。•第二闻种、近将被胸调用阅函数五的函止数声根明写渴在当春前代絮码•之前。•第三坊种:追使用农头文透件。亚博取科技51单片南机开灰发板28课配兵套视哲频教辩程如何忠完成吧函数雪的调夕用函数煤调用:就是各在一肌个函背数体孔中引乌用另匙外一伯个已震经定成义的兽函数完成报函数跨的调脸用三礼种方鸡式:1、性函数殊语句煌。函乐数名桂(实店际参雄数表破);凑有参振调用历和无魄参调所用2、谁函数间表达吹式。尼(以秩后讲柴)3、观函数喂参数提。(令以后词讲)函数斤的调峡用注祥意掌孔握4降个要责点:僻被调嚷函数浆名称浅、功既能、奖参数惰、返铸回值镜。函数董内部茎语句殖不必古了解!亚博茶科技51单片孤机开铲发板28课配卷套视穗频教随程Wh贴il破e循岛环语旬句•辰Wh建il幕e叶(关系潜表达笛式或得逻辑砌值);•里Wh铃il旺e慌(关系铺表达声式或恳逻辑寇值)塌一条刃语句;•育Wh吃il揉e椅(关系妄表达辣式或艘逻辑扎值)注意络:这菌里没纹有分倘号•纽奉{•标语句付1;•物语句楼2;•与语句太3;•乡丰……•语句原n;•睛}•特点车:先扑判断致条件赴表达傻式,位后执联行语梳句。•原则乌:若桐条件喝表达扮式的牺值为宗真,遣那么挂执行菜语句壁。否丧则跳妖出•歉wh菠il餐e语句。亚博匆科技51单片陆机开勾发板28课配院套视靠频教榆程关系佳运算旷和逻歇辑值关系同运算期1<漏3=摸1拒1=折=2扰=0猫1升+1码>2估=0•费逻辑扁值:典真(殖1或知非0篮),铃假(景0)•计算那机中窃三种筋运算猜千万啦不要况搞混塑了:•山1、责算术盒运算刻:参傲与运休算的膝对象慰是数井,结协果也旅是数村,运伞算符扫是加京减乘除;•汤2、密逻辑统运算蹲:参贡与运瓦算的形对象惊是逻朽辑量剩,结垃果也籍是逻煤辑量贤,运梳算符是与喷或非;•施3、酷关系深运算鱼:参疫与运苗算的凡对象工是数陪,结原果是肉逻辑旬量,极运算舞符如亦下:•残>软<站>=算<冻=甘==等于橡(注肉意:壁与赋鼓值符=,完全煎不同!)粱!障=不等兼于亚博物科技51单片唤机开辫发板28课配铜套视祥频教柴程关系欠运算接和逻地辑值关系滋运算垦1<紧3=孟1们1=叫=2烦=0溪1具+1怒>2掀=0•氏逻辑更值:恰真(消1或罪非0短),旁假(称0)•计算批机中爱三种练运算风千万高不要闲搞混槽了:•含1、照算术衣运算卷:参撑与运此算的兴对象伍是数事,结辜果也矩是数自,运疏算符窗是加倒减乘除;•刮2、尝逻辑昂运算馆:参丧与运改算的嚼对象珠是逻桃辑量备,结粮果也群是逻尊辑量稼,运生算符是与扶或非;•晨3、愤关系雄运算桌:参玻与运逢算的映对象约是数劫,结影果是德逻辑凉量,色运算宁符如钟下:•热>决<嫌>=虫<穴=岁==等于希(注丧意:轧与赋宋值符=,完全帖不同!)们!般=不等段于亚博恐科技51单片阁机开彩发板28课配括套视犯频教脾程如何遵改变挪流水咳灯流梅动的醒速度•装1、狱改变魂调用唯延时换函数男的实箩参。•妙2、应更换懒不同迹频率若的晶愤振。球(复鸽习以腾前讲绞过的醋时钟贡的快房诚慢决矛定了章程序障运行荐速度今)亚博倦科技51单片滩机开抽发板28课配您套视某频教圆程左移材和右吩移位运丹算:销按位亚对变宽量进葡行运追算。左移般和右纸移属腥于位察运算。格式课:P象1<劲<1旦;/避*左移姨一位*/a>葡>2酒;/终*右移烂二位*/一般境我们掠比较耀多的救是对巾8位燥无符工号数观进行兼移位挣操作泳,移善出的歌数丢现弃,团空位洽自动愈补0项。注意家点:位位运学算不问改变两参与斩运算倾的变利量的付值,及如果布希望乏改变缩慧参与齐运算洗的变览量的号值,设

温馨提示

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

评论

0/150

提交评论