编程教学之点亮流水灯_第1页
编程教学之点亮流水灯_第2页
编程教学之点亮流水灯_第3页
编程教学之点亮流水灯_第4页
编程教学之点亮流水灯_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、电子设计协会主讲人:小黑 #include /52系列单片机头文件 sbit led1=P10; /声明单片机P1口的第一位 void main() /主函数 led1=0; /*点亮第一个发光二极管*/ 编写点亮第一个LED灯的程序1.需要拥有所需要使用单片机的头文件,例如52单片机,就需要写入 #include头文件,否则一些单片机所特有的功能名词在编程中无法识别2.如果需要特定的时候某个IO口,需要进行定义,使用sbit ?=P?3.除了头文件、主函数、子函数结尾外,其余每当写完一句程序的时候必须要在结尾处加“;”,否则将会出现编译错误4.在编写程序的时候注意P0是大写的P,切勿写成小写

2、p,否者同样会出现编译错误5.当使用双撇号” ”包含头文件时,编译器先进入到当前工程所在文件夹处搜索该头文件,如果当前工程所在文件夹没有该头文件,编译器将继续回到软件安装文件夹处搜索这个头文件,若找不到该头文件,编译器将报错,由于reg52.h在软件安装文件夹处存在,所以我们一般写成#include6.编程刚开始学习,可以多写,多模仿,熟悉之后可以自己进行各种尝试,如有不懂,可以多百度,百度是一个非常好的老师,也可以问各位师兄师姐,他们会很乐意为你们解决问题的哟希望各位同学好好学习。 单片机编程注意事项程序烧录教程1.打开keil编辑界面,单击Project菜单,然后在下拉菜单中单击Optio

3、ns for Target Target1项,或直接单击单击界面上的工程设置选项快捷图标, ,然后点击Output,然后选中Create JEX File项,使程序编译后产生HEX代码,勾选选项确认后必须再进行编译一次,在错误信息窗口会出现hex字样,此时才算生成hex文件2.打开单片机烧录工具stc-isp-15xx-v6.85,选择所使用的的单片机型号,再选择下载器正在使用的串口,在连接下载器和单片机的时候,特别注意的是不要将VCC和GND接反,否者可能会烧掉电脑的USB口,还有的是单片机的TXD对应下载器的RXD,同理RXD对应TXD,连接完成后我们点击下载编程,对单片机进行断电,再通电

4、,也就是按下开关再打开开关,等待下载完成编程小任务1.点亮第所有LED灯2.点亮第1,3,5,7个LED灯完成任务后,请大家想一想如何才能让8个灯依次亮起来呢?http:/ I/O接口)进行一次访问所需时间称为一个总线周期指令周期:指令周期是执行一条指令所需要的时间指令周期、总线周期和时钟周期之间的关系:一个指令周期由若干个总线周期组成,而一个总线周期时间又包含有若干个时钟周期。周期一个机器周期包含12个时钟周期延迟子程序的两种方法例:void delay(unsigned int t) unsigned int i,j; for(i=t;i0;i-) /i=t即延时约t毫秒for(i=110

5、;j0;j-);方法一:知识点:For语句格式:for(表达式1:表达式2:表达式3) 语句(内部可为空):求解表达式1:求解表达式2,若为真,执行For中语句,反之直接跳出For语句:求解表达式3:跳到重复执行方法二:知识点:While语句格式:while(表达式) 内部语句(内部可为空)特点:先判断表达式,后执行内部语句原则:若表达式不是0,即为真,则执行语句,反之跳出语句例:void delay(unsigned int t) while(t-); 这里的两种语句并不局限于延时函数,两个语句各有特色,大家可以运用其语句特点,写出不同的有趣的程序一个LED灯一秒闪烁一次#include#d

6、efine uint unsigned int /定义无符号整型为定义无符号整型为uintsbit led1=P10;void delay_ms(uint t) uint i,j; for(i=t;i0;i-)for(j=110;j0;j-);void main() while(1) led1=0; delay_ms(1000);/调用调用delay_ms(uint t)子函数进行延时子函数进行延时 led1=1; delay_ms(1000); 请各位同学参照此程序让8个LED灯实现流水效果,时间为0.5s,也就是500ms大家是否会觉得一个个定义灯很麻烦?那么我们还有没有更加好的方便的方法

7、呢?答案是有的。二进制是一个一个IO口控制,那么,让我们来学习16进制,可以随意控制多个IO口,使程序更加简单方便。学习使用16进制0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110和1111组合共16种情况01012的3次方2的0次方2的1次方2的2次方+=82145单片机一个P口有8个小口如 P1,分为P10到P17他状态能用2组 4位 2进制(0000)从高到底P17 P16 P15 P14 P13 P12 P11 P10 0 0 0 0 0 0 0 009 0 x00 x9 10 用0 x

8、A表示11 用0 xB表示12 用0 xC表示13 用0 xD表示14 用0 xE表示15 用0 xF表示16进制控制P1口P17 P16 P15 P14 P13 P12 P11 P10 0 0 0 0 0 0 0 0 0 0 P1=0X00;P17 P16 P15 P14 P13 P12 P11 P10 0 0 1 1 0 0 0 1 3 1P1=0X31;P17 P16 P15 P14 P13 P12 P11 P10 1 1 1 1 1 0 1 1 F BP1=0XFB;流水灯编写小技巧:左移A=0 xff;A=a右移A=0 xff;A=a1;1111 1111 左移后变 0111 111

9、1 :(取原来相反的意思)A=0 x55;A=A;0101010110101010取反后的A=0 xaa;:1.|(按位或)0010|0011=0011 2.&(按位与0010&0011=0010 3.| 或者 if(a5) 4.&并且 if(a5) 5.!=不等于 if(a!=6):引用intrins.h头文件 循环左移_crol_ (变量名,移位数) 1110111111011111 循环右移_cror_(变量名,移位数) 0110111111011110 例:num=_crol_(num,3);/循环左移三位课后编程任务实现全部led灯闪烁三次后进行流水效果,流水效果分别为:每个灯依次亮后熄灭

温馨提示

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

评论

0/150

提交评论