1、数码管动态显示创新实践成绩评定表学生姓名班级学号专 业电子信息工程课程设计题目数码管动态显示评语组长签字:成绩日期 年 月 日课程设计任务书学 院信息科学与工程专 业电子信息工程学生姓名班级学号课程设计题目 数码管动态显示课程设计目的与要求:数码管动态显示:为单片机89S52扩展动态显示数码管,并编写程序完成显示。工作计划与进度安排:2016年 11月14日 选题目查阅资料2016年 11月15日 查阅资料2016年 11月16日 上机调试2017年 01月01日 撰写课程设计报告、答辩指导教师: 年 月 日专业负责人:年 月 日学院教学副院长:年 月 日创新实践1 创新实践的目的进一步推动高
2、等教育教学改革,促进人才培养模式和教学方法的创新,鼓励和支持大学生尽早参与科学研究、技术开发和社会实践等创新活动,不断激发学生学习的主动性、积极性和创造性,提高大学生的科学素质和文化素养,培养大学生的创新精神、创业精神和实践能力。2 创新实践的题目数码管动态显示:为单片机89S52扩展动态显示数码管,并编写程序完成显示。3 原理描述动态显示,也称为扫描显示。显示器由6个共阴极LED数码管构成。单片机的P0口输出显示段码,由一片89S52输出给LED管;由P1口输出位码,经89S52输出给LED显示。LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点
3、亮一次,利用人眼的“视觉暂留效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位IO口。4 实验步骤1.添加原件打开ProteusISIS编辑环境,按原理图所列的元件清单添加元件。2.原理图3.程序#include #include #define unit unsigned int#define uchar unsigned charuchar data timer
4、_count,cm,cf,cs,f; /*定时器计数变量*/uchar code duma=0x28,0xF9,0x4C,0x58,0x99,0x1A,0x0A,0xF8,0x08,0x18;/共阴的数码管段选.将值送给P0口uchar code wema=0xEF,0xDF,0xBF,0x7F; /P1口的片选位unsigned char led_buf=0,0,0,0;delay(uchar time) /time=1时延时10msuchar i,j,k,q; for(q=time;q0;q-) /10*time ms for(i=10;i0;i-) /10ms for(j=2;j0;j-
5、) /1ms for(k=60;k0;k-);/154*3.255=500us void display(void)unsigned char i=0;led_buf0=cf%10;led_buf1=cf/10;led_buf2=cs%10;led_buf3=cs/10;for(i=0;i4;i+) switch(i) case 0: P2=0x7F;break; case 1: P2=0xBF;break; case 2: P2=0xDF;break; case 3: P2=0xEF;break; default:P2=0xEF;break; /P0=dumaled_bufi; if(i=2
6、) if(f=1) P0=dumaled_bufi|0x08; /led_buf2=led_buf2|0x08; else P0=dumaled_bufi&0xf7; /led_buf2=led_buf2&0xf7; else P0=dumaled_bufi; / if(i=2) P0&=0xF7; delay(1);void main(void)timer_count=0;/ 初始化端口cm=0;cf=0;cs=0;EA=1; ET0=1;TMOD=0x01; /* T0方式1计时 */TH0=-46080/256; / 定时器T0的高四位赋值TL0=-46080%256;TR0=1; /*
7、 开中断,启动定时器 */f=0;for(;)display();/* 定时计数器0的中断服务子程序 */void timer0(void) interrupt 1 using 1TH0=-46080/256; TL0=-46080%256;timer_count=timer_count+1; if(timer_count=10) if(f=0) f=1; else f=0; if (timer_count=20) cm=cm+1; if(f=0) f=1; else f=0; / P1|=0x08; / delay(2); timer_count=0; if(cm=60) cf=cf+1;
8、cm=0; if(cf=60) cs=cs+1; cf=0; if(cs=24) cs=0; 4.运行结果5 心得体会课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好。通过这次课程设计之后,一定把以前所学过的知识重新温故。6 参考文献1刘爱娟,王青.51单片机和MAX7219的接口及编程应用J.电子制作2张毅刚,彭喜元,单片机原理及应用(第二版)M.北京:高等教育出版社3张迎辉,贡雪梅.单片机实训教程M.北京:北京大学出版社4李朝清.单片机原理及口技术.北京航空航天大学出版社5高卫东.51单片机原理与实践.北京航空航天大学出版社6江志红.51单片机技术与应用系统开发.青华大学出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1