




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1/ 6单片机控制 LED 流水灯从中间向两边,从两边向中间这个就是把先奇数亮再偶数亮,循坏三次;一个灯上卞循环三次;两个分别从两边往中间 流动三次;再从中间往两边流动三次;不过这个程序实现的应该是这样的 先奇数亮再偶 数亮,循坏三次:一个灯上下循环三次;两个分别从两边往中间流动;再从中间往两边流动;#include#include#define uint unsigned int#define uchar unsigned charvoid delay();void main()uchar temp,templ,temp2ab;P3=0 xff;while(l)for(b=3;b0;b-)t
2、emp=0 xaa;Pl=temp;delay();temp=0 x55;Pl=temp;delay();for(a=3;a0;a-)temp=Oxfe;for(b=7;b0;b-) Pl=temp;temp=_crol_(temp,l);delay();Pl=temp;delay();templ=Oxfe;temp2=0 x7f;for(a=&aO;a)temp=templ&temp2;Pl=temp;delay();templ=_crol_(templ,l);temp2=_crorjtemp2/l);2/ 6void delay()uint a,b;for(a=100;a0
3、;a-) for(b=600;b0;b-);程序实现的第 2 种方法:下面是 http:/ 单片机 12 群里的朋友木信大侠提 出的,实现单片机 led 流水灯从中间向两边,从两边向中间的效果,下面的程序就是实现思路, 这个是直接调用,应该明白吧,数组那其实也可以改一卞,如采用一维数组,在多次调用; 也可以采用二维数组。主要看个人喜好.#includeunsigned char code TABLE=0 xFF,0 xE7,0 xC3,0 x81,0 x00,从中间向两侧点亮0 xFF,0 xE7,0 xC3,0 x81,0 x00,0 xFF,0 xE7,0 xC3,0 x81,0 x00,
4、0 xFF,0 x7E,0 x3C,0 x18,0 x00,从两侧向中间点亮0 xFF,0 x7E,0 x3C,0 x18,0 x00,0 xFF,0 x7E,0 x3C,0 x18,0 x00;unsigned char i;DELAY() unsigned int s;for(s=0;s0;x-)for(y=110;y0;y-); 厂动态数显的设计思路,首先是我们要先知道怎样才能使哪个位亮八显示的段是什么数值,接 下来就是中断时间的问题了,设计步骤如下, 如果要让八个数码管静态显示 1 到&我们可以修改中断时间, 如把 50000改成 100 或更低穴/吹逐个点亮次逐个叠加次逐个递
5、减边靠拢后分开DJNZ R7,a=0;/给 a 赋初值Pl=tablea;/ 将 a 所在的 tabledelay(1000);/lS 延时子程序a+;/a 的值加一试 a 是否等于 42a=0;给 a 赋值z)/lms 延时子程序,通过 z 值改变延时时间uint xzy;4/6#in clude# include#define uint unsigned int#define uchar unsigned charsbit duan=P2A6;sbit wei=P2A7;uchar a,n umw, nu md;uchar code tabled=0 x30 x06,0 x5 b,0 x4
6、f,0 x66,0 x6d,0 x7d,0 x07z0 x7fz0 x6f; /*第二步骤, 创建段显数值的对码表 09 数值.如果要显示 18 数值, 最好多加前后两位数 0 跟 9,因为后面+移位时就能按我们常规顺序亮下去,至于如何显示对应数值请先看数码显 示电路图-7uchar code tablew=0 xfe,0 xfd,0 xfb0 xf7,0 xef,0 xdf,0 xbf,0 x7f; 第二步骤,创建位显,就是显示的位置,这个码表相对简单,用二进制表示11111110-01111111,是 0 的为八位数显管的位置void main()a=0;定义个时间函数numw=0;附位显
7、初值为 0 位numd=0;附段显初值为 0 位TMOD=0X01;第四步骤,附中断暂存器初值TH0=(65535-50000)/256; 附中断请求时间初值,高 8 位TL0=(65536-50000)%256; /附中断请求时间初值,低 8 位EA=1; 开启总中断ETO=1;开启定时中断TRO=1;启动定时中断while(l)if(a=10)第三步骤,执行速度,如果等 20 差不多是 1 秒,则往下执行,相当于单位数值亮的时间a=0;重新附值初值 0numd+;段显值卄if(numd=9) 如果段值在对码表第 9 位则转下执行numd=l;厂重新附值段显值对应对码表第 1 位,因为+所以
8、 0 位并不在数码管中显示.如果要显示,也会因为+而在第二轮中显示出-7 duan=l; 开启段显端PO=tablednumd;附段显 P0 值对应段显值对码表duan=O; 锁存wei=l; 开启位显端5/6PO=tablewnumw;/附位显 P0 值对应位显值对码表wei=O; 锁存numw+; 相当于位显移位if(numw=8) 如果位显值到对应位显对码表第八位则转卞执行 numw=O; 重新附值位显值对应对码表第 0 位起下面是简单的单个数码管显示例证第一骤,修改后在第三步骤内#includereg52.h#includeintrins.hsbit duan=P2A6; /段显端口sbit wei=P2A7; /位显端 I Ivoid main()/PO=Oxff;数码管不显示任何信号,默认情况卞通电本身就不显示,可以不写 duan=l; 开启段显端口P0=0 x06; 附值段显数值为 1,可以查阅数码管电路图相对应显示的对码表 duan=0; 锁存,保持上一步段显状态,硬件说明请查阅 74HC573 功能 wei=l; 开启位显端口P0=0 xfe; 附值位显位置,01111111,左边第一位,为 0 的显示wei=0; 锁存,保持上一步位显状态,硬件说明请查阅 74HC573 功能*/ void ti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年特许金融分析师考试考试账户设置试题及答案
- 2024年特许金融分析师考试中的伦理问题探讨及试题及答案
- CFA备考常见问题解答试题及答案
- 减脂餐厅创业项目
- 投资策略的动态调整方法试题及答案
- 攻克考试难点的CFA试题及答案技巧
- 领导干部安全生产课件
- 预防网络金融诈骗
- 口腔专科护理操作流程
- 全球经济一体化的趋势与挑战试题及答案
- 2023年公文写作考试题库(含答案)
- 《化妆品技术》课件-乳化类底妆
- 山东省市烟台市牟平区2023-2024学年(五四学制)七年级下学期期中考试语文试题
- GB/T 20001.1-2024标准起草规则第1部分:术语
- DB11T 1197-2024 住宅全装修设计标准
- (正式版)SHT 3223-2024 石油化工给水排水泵站设计规范
- DB13T5614-2022 变配电室安全管理规范
- 中职《电子技术基础》测试考试复习题库(含答案)
- JTT329-2010 公路桥梁预应力钢绞线用锚具、夹具和连接器
- 办公设备投标方案(技术方案)
- 双凤镇英武水库规划方案
评论
0/150
提交评论