单片机查表程序设计方法_单片机时钟程序

单片机查表程序设计方法_单片机时钟程序单片机数码管动态显示实验报告实验一 数码管动态显示实验实验目的1、掌握数码管动态扫描显示的原理和编程实现方法;2、掌握软件延时程序的使用。实验任务利用数码管动态显示,设计一个两位秒表,计时0-5

单片机数码管动态显示实验报告   实验一 数码管动态显示实验   实验目的   1、掌握数码管动态扫描显示的原理和编程实现方法;   2、掌握软件延时程序的使用。实验任务   利用数码管动态显示,设计一个两位秒表,计时0-59,时间到了显示“FF”,使用软件延时实现。实验原理   数码管动态显示的连接方式是将所有数码管的段码a、b、c、d 、e 、f、g、dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,如图1-1所示。   
单片机查表程序设计方法_单片机时钟程序
单片机查表程序设计方法_单片机时钟程序   图1-1 多位LED数码管动态显示原理图   所谓动态扫描显示,即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。具体过程是:当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的数码管的位选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中每位数码管的点亮时间为2ms左右,由于人的视觉暂留现象及发光极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。   实现延时通常有两种方法:一种是硬件延时,这需要用到单片机的定时器,这种方法可以提高CPU的工作效率,也能做到精确控制时间,此方法将在实验四中再学习;另一种方法是软件延时,这种方法主要采用循环体进行。可以采用for循环以及for循环嵌套的方式达到粗略的长时间延时,利用Keil软件可以调试和观察for语句的延时时间。   电路原理图如图1-2所示。   
单片机查表程序设计方法_单片机时钟程序
单片机查表程序设计方法_单片机时钟程序   图1-2 数码管动态显示实验电路   程序流程图   
单片机查表程序设计方法_单片机时钟程序
单片机查表程序设计方法_单片机时钟程序   实验结果及分析总结   实验结果:   
单片机查表程序设计方法_单片机时钟程序
单片机查表程序设计方法_单片机时钟程序   
单片机查表程序设计方法_单片机时钟程序
单片机查表程序设计方法_单片机时钟程序   总结:本次实验我很好的复习了有关C语言的相关语句知识点,合理的运用到了单片机的程序编码中去,但实验过程中,也出现了很多问题。比如在运行过程中,数码管会乱码,检查后发现是扫描信号端口错误,将扫描信号端口顺序调换,重新运行则解决了乱码问题。共阴数码管电路0到15的显示参数代码表要记清楚。也知道了keil工程的建立步骤以及相关使用方法,在Proteus软件中按照要求画出单片机的要求电路,再利用Keil软件按需要实现的功能编写C语言程序,生成Hex文件,把这个文件导入Protues软件进行仿真。程序附录程序采用了共阴的数码管电路参数,用for循环达到延迟的效果,用while函数实现循环的效果;i/10是显示的内容是i的十位,i%10显示i的个位数,采用求整/求余%来分离某个出十位个位,从而达到规律的数字选择与显示。代码如下:   #include”reg51.h”   #define SEGNUM P0   #define BITUNM P2   char code table_CC[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,   0x7d,0x07,0x7f,0x6f};   void delay(unsigned char num)   {   unsigned char i,j;   while(num–);   for(i=0;i<num;i–)   for(j=0;j<150;j++) ;   }   void main()   {   int i,j;   for(i=0;i<60;i++)   for(j=0;j<150;j++)   {   SEGNUM=table_CC[i/10];   BITUNM=0xfe;   delay(250);   BITUNM=0xff;   SEGNUM=table_CC[i%10];   BITUNM=0xfd;   delay(250);   BITUNM=0xff;   }   while(1)   {   P0=0x71;   BITUNM=0xfe;   delay(250);   BITUNM=0xff;   P0=0x71;   BITUNM=0xfd;   delay(250);   BITUNM=0xff;   }   }

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/42699.html

(0)
上一篇 2024年 9月 6日 下午7:18
下一篇 2024年 9月 6日

相关推荐

关注微信