1、拓展要求:数码管从左往右一次显示07,数码管被选通数量也逐渐从18。二.设计思路首先要明确程序的设计要求和思路,才用总线驱动器提供LED数码管的段驱动,同时我们也要明确采用的是共阴极还是共阳极的数码管。若采用的是共阳极的数码管 ,则要输出底电平时才有效,输入分别接P2口和P0口。三.硬件设计单片机最小系统电路由单片机(AT89C51)、外围晶振电路及复位电路组成;键盘输入电路由独立式键盘构成(独立式键盘就是各个按键相互独立,每个按键各接一个I/O接线口线,每个I/O接线口线上的按扭互不影响,来实现对LED灯的控制)。显示电路由八位共阳极数码管构成,当有软件调试启动时,就会出现相应的显示,如:启
2、动时,数码管当即显示数字0,间隔1S后,数字从“0-7”开始跳动,依次循环。四.软件设计八只数码管滚动显示单个数字程序是用C语言编写的,当中用到了循环语句、判断语句以及可用的函数。程序如下:#include intrins.h#define uchar unsigned char #define uint unsigned int Uchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void DelayMS(uint x) uchar t;while(x-) for(t=0;t120;t+); void m
3、ain() uchar i,wei=0x80;while(1) for(i=0;i8;i+) P2=0xff;wei=_crol_(wei,1);P0=DSY_CODEi;P2=wei;DelayMS(300); 五.调试过程执行“工程”“编译”命令,就可以对当前文件进行编译了,若程序有错误,则会出现错误信息的提示,双击可以定位到错误行,修改完成,若无错误,便可进行仿真调试,执行“调试”“开始/停止”命令,可以进入调试状态,当程序在运行时,数码管便开始从左到右依次显示07。六个人总结 由于是第一次在没有老师的情况下做作品,缺少实战经验的我不能够很好的把理论用到经验中去,不过后来终于有所进展。
4、这次单片机课程设计,在我们看来不仅仅是单纯的一个单片机的应用,而是多学科多领域的综合设计。做完这次设计,我有以下几点心得体会:1、做这个设计不是光靠学好单片机这一门课就可以的。在这个课程项目的设计过程中,我充分体会到了要全面发展,各个学科都要学好,知识的全面性很重要。比如在编写程序时,我们就明显感觉到了C语言的基础不够扎实,当初学C语言的时候并没有意识到它的重要性,而当我们真正开始做设计的时候才发现一个课程的项目设计是需要其他许多项目来给它做基础的。2、做这个设计不是光靠学好书本上的知识就够的。设计的灵魂便在于它的理念,要做出一个好的设计作品来,需要你平时对生活有足够的观察和了解,古话说,学以致用,及时你设计出来的东西原理再高深,但在实际生活中却无处可用,那也是没有任何价值的。所以在刻苦学习的同时,也要关注社会动态,了解人民生活所需,有一个正确的设计理念才能使自己走对第一步棋。