最新8只数码管滚动显示单个数字.docx
《最新8只数码管滚动显示单个数字.docx》由会员分享,可在线阅读,更多相关《最新8只数码管滚动显示单个数字.docx(4页珍藏版)》请在冰豆网上搜索。
最新8只数码管滚动显示单个数字
8只数码管滚动显示单个数字
九江职业技术学院
课题:
8只数码管滚动显示单个数字
班级:
电气综1001
学号:
20221531
姓名:
李剑林
指导老师:
倪志莲
二.设计思路
首先要明确程序的设计要求和思路,才用总线驱动器提供LED数码管的段驱动,同时我们也要明确采用的是共阴极还是共阳极的数码管。
假设采用的是共阳极的数码管,那么要输出底电平时才有效,输入分别接P2口和P0口。
三.硬件设计
单片机最小系统电路由单片机〔AT89C51〕、外围晶振电路及复位电路组成;键盘输入电路由独立式键盘构成〔独立式键盘就是各个按键相互独立,每个按键各接一个I/O接线口线,每个I/O接线口线上的按扭互不影响,来实现对LED灯的控制〕。
显示电路由八位共阳极数码管构成,当有软件调试启动时,就会出现相应的显示,如:
启动时,数码管当即显示数字‘0’,间隔1S后,数字从“0-7〞开始跳动,依次循环。
四.软件设计
八只数码管滚动显示单个数字程序是用C语言编写的,当中用到了循环语句、判断语句以及可用的函数。
程序如下:
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
UcharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
voidDelayMS(uintx)
{
uchart;
while(x--)for(t=0;t<120;t++);
}
voidmain()
{
uchari,wei=0x80;
while
(1)
{
for(i=0;i<8;i++)
{
P2=0xff;
wei=_crol_(wei,1);
P0=DSY_CODE[i];
P2=wei;
DelayMS(300);
}
}
}
五.调试过程
执行“工程〞——“编译〞命令,就可以对当前文件进行编译了,假设程序有错误,那么会出现错误信息的提示,双击可以定位到错误行,修改完成,假设无错误,便可进行仿真调试,执行“调试〞——“开始/停止〞命令,可以进入调试状态,当程序在运行时,数码管便开始从左到右依次显示0——7。
六.个人总结
由于是第一次在没有老师的情况下做作品,缺少实战经验的我不能够很好的把理论用到经验中去,不过后来终于有所进展。
这次单片机课程设计,在我们看来不仅仅是单纯的一个单片机的应用,而是多学科多领域的综合设计。
做完这次设计,我有以下几点心得体会:
1、做这个设计不是光靠学好单片机这一门课就可以的。
在这个课程工程的设计过程中,我充分体会到了要全面开展,各个学科都要学好,知识的全面性很重要。
比方在编写程序时,我们就明显感觉到了C语言的根底不够扎实,当初学C语言的时候并没有意识到它的重要性,而当我们真正开始做设计的时候才发现一个课程的工程设计是需要其他许多工程来给它做根底的。
2、做这个设计不是光靠学好书本上的知识就够的。
设计的灵魂便在于它的理念,要做出一个好的设计作品来,需要你平时对生活有足够的观察和了解,古话说,学以致用,及时你设计出来的东西原理再高深,但在实际生活中却无处可用,那也是没有任何价值的。
所以在刻苦学习的同时,也要关注社会动态,了解人民生活所需,有一个正确的设计理念才能使自己走对第一步棋。