大学实用英语phrases&exphressions

大学实用英语phrases&exphressions

ID:11161590

大小:245.00 KB

页数:13页

时间:2018-07-10

大学实用英语phrases&exphressions_第1页
大学实用英语phrases&exphressions_第2页
大学实用英语phrases&exphressions_第3页
大学实用英语phrases&exphressions_第4页
大学实用英语phrases&exphressions_第5页
资源描述:

《大学实用英语phrases&exphressions》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机编程格式单片机编程是基于C语言的一种简单实用的编程语言,跟C语言编程类似。开头都是要加上头文件预处理命令:#include当然还要加上所有用得到的函数库,同样是#include<>格式。然后是一些针脚的位变量定义,格式是:sbit位变量名=位地址。位地址如P0^1口。然后以后的位地址都可以用上述为变量名代替。主函数一般都是无返回值的,所以多数情况下主函数定义格式为:voidmain(){主函数}当要做流水灯,数码管什么的时候,可能你会选择数组形式,假设咱用的是P0口,说明一下,可以直接给P0赋值八位二进制,也就是两位十六进制的数,且P0口从P0^1-P0^7是从最

2、低位到最高位的,当二极管是共阳极时,只有P0口是低电平时才能点亮二极管,所以,注意当P0口输出电平是0(默认为1,所以开始时不亮的)的时候才行。从P0^0到P0^7口依次亮的话,代码分别是:0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f.当是数码管的时候,有两种情况,就是数码管的个数分类。当数码管个数为1的时候,这时候是最简单的。从0到F的代码分别是:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71.这代码是要记住的,当然,这也是共阴极的。当数码管

3、不再是单个的时候,就涉及到了位选和段选的问题了它们就像是一个电路中的单刀双向的开关,打向那边就向那边赋值,然后断开之后,前面的赋值就被锁存在相应的数上了,不再改变,直到下一次打向相应的位选或段选。在这里可能有一些同学会有点糊涂,我就简单的解释一下,当位选值为1时,就相当于开关打向了选择哪个数码管的位置,用来决定哪个数码管亮,哪个不亮,但是它不管显示的是多少。同样的,当打到段选时,只决定显示多少,但不管哪个数码管亮。这就像是直角坐标系中的x于y的关系,用他俩就能确定哪个数码管显示哪个数了。当然,有同学说同一时刻数码管显示的数值不一样,不是像上述那样简单。恩,开始我也有这样的迷惑,但是想想以

4、前的背投式电视机就明白了,它是一遍一遍的扫描着显示的,也就是说同一时科显示的数字是一样的,当然哪个显示是位选中所决定的,当扫描速度相对够大和荧光余辉的作用,超出了人眼的自然反应,那么我们就看不出闪烁来了。于是我们看到的就好像是一连串的数字,而不闪烁。举个例子吧,上一个数码管的程序:#includesbitdula=P2^6sbitwela=P2^7voidmain(){unsignedinti;unsignedcharduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07};unsignedcharwei[]={0xfe,0xfd

5、,0xfb,0xf7,0x7f,0xbf,0xdf,0xef};wela=1;P1=0x00;wela=0;//以上三句是先把位选清零,使得开始屏幕不显示。delay(100);//此为了稍微延迟避免闪烁。while(1)//虽然单片机程序会一遍一遍的执行,但是没有这方面的说明,所以还是带上这个无限循环{wela=1;P1=wei[i];wela=0;dula=1;P1=duan[i];dula=0;//这里是让八个数码管依次显示0到7这八个数字delay(100);//这是扫描间隔i++;if(i==8)i=0;//这里是为了使循环不出错,可以继续执行下去}}voiddelay(int

6、a)//这是延迟函数{while(a--);}上述就是一个数码管静态显示的最典型的例子,是八个数码管依次显示01234567八个数,当然也可以显示ABCDEF这几个数(姑且算是数吧,十六进制嘛)。下一个给个流水灯的程序,显示是从第一个向下一个一个的亮,当然是一直只有一个灯亮,当到达最后一个时,再从下向上反向亮,之后一直这样循环。这个就不注释了,好好看剧能看懂,很简单:#includevoidmain(){unsignedchara[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsignedinti=0;while(1){P1

7、=a[i];delay(1000);i++;if(i==8)for(i=8;i>0;){i--;P1=a[i];delay(1000);}}}voiddelay(ints){while(s--);}当这些知识都掌握的时候,下一个就应该是中断系统的知识了,中断系统中,最先学的是定时器,定时器实际是这种东西:纸老虎!开始的时候总是看不明白这是什么,当真正掌握的时候会发现,它实际比其他的东西还简单,在这我就给大家说说十六位定时器的例子。中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。