您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 单片机静态显示技术实验报告
桂林电子科技大学实验报告2016-2017学年第一学期开课单位海洋信息工程学院适用年级、专业14级机械设计制造及其自动化课程名称《单片微型计算机与接口技术-课内实验》主讲教师周旋课程序号BS1615000_03课程代码BS1615000实验名称《静态显示技术》学号1416010516-17姓名林亦鹏卢炳荣静态显示技术实验报告一、实验目的1、掌握数码管与单片机的连接方法。2、掌握段代码表的推算及数据表的使用方法。3、掌握C语言编程方法。4、为动态扫描显示做准备。二、实验内容实验设备:计算机一台、单片机实验箱一台、Proteus软件、Keil软件。硬件原理图:采用共阴数码管,数码管的数据由单片机的P0口提供。当P0口输出相应的数据,相应的数码管就被点亮。如:P0=00111111B,则数码管最低位显示0。74LS573这里用于提高P0口的输出电流,驱动数码管显示,并有一定的隔离干扰的作用。本实验只用到8位数码管的其中一位。1、打开Keil新建工程:学号-3.uv2。2、参考实验程序,编写程序:在数码管上最低位显示“1”。生成:学号-3.hex文件。3、打开下载软件,把学号-3.hex文件烧写到单片机,观察实验现象。4、修改程序,让数码管最低位由0~F显示。5、静态显示的工作原理。6、数码管内部结构、引脚定义及驱动。7、读懂实验程序。三、实验结果分析1.数码管最低位显示“1”#includereg51.h//--定义你要使用的IO口--//#defineGPIO_DIGP0//--声明全局函数--//voidDelay10ms(unsignedintc);//误差0us//主函数(1)数码管最低位显示“1”voidmain(void){unsignedchari=0;while(1){GPIO_DIG=0x79;}}2.数码管最低位由0~F显示(2)数码管最低位由0~F显示#includereg51.h//--定义你要使用的IO口--//#defineGPIO_DIGP0//--声明全局函数--//voidDelay10ms(unsignedintc);//误差0us//--定义全局变量--//unsignedcharcodeDIG_CODE[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//0~F的段码voidmain(void){unsignedchari=0;while(1){GPIO_DIG=~DIG_CODE[i];i++;if(i==16){i=0;}Delay10ms(50);}}voidDelay10ms(unsignedintc)//误差0us{unsignedchara,b;//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//for(;c0;c--){for(b=38;b0;b--){for(a=130;a0;a--);}}}根据以上程序用开发板来进行实验,程序可以实现要求。对于在进行实验的设计时,可能存在的错误,主要是C语言的一些使用规则的错误和对中断控制等代码的错误。等发生错误时,就应从代码的开始部分进行检查和分析,对于错误的地方进行修改,直到程序无错误为止。对于验证其功能时,应确认开发板没有损坏,正确连接电路等。四、思考与讨论1、思考静态显示和流水灯的相同之处。答:一个闪烁频率高,一个闪烁频率低五、小组表现评价(必填)在本次实验中17号负责程序编写,16号负责电路连接,配合得非常好,听完老师的讲解,剩下的就是我们自己调试了,有不懂的问老师,老师也讲得十分仔细,在调程序的过程中,主要是了解c语言的命令语句的使用方法,这是第三次实验,我觉得老师的实验方法是非常正确的,因为编写程序对于新手来说是非常困难和损耗时间的,现在直接引用现成的程序,通过老师的讲解,一样可以实现教学目的,了解程序的架构,更大的好处就是能让大家对编程更感兴趣,没有了编写程序初期的烦躁,只是做一些简单的延时的编写来实现实验的目的,从而大大的减少了对编程序是出现的错误。
本文标题:单片机静态显示技术实验报告
链接地址:https://www.777doc.com/doc-5341202 .html