您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 述职报告 > 实验三动态数码管实验
实验三动态数码管实验(带译码器)实验报告学号:2013301510068姓名:曾琼颖班级:2013级微电班【1】实验目的通过完成一个利用单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地,在数码管上依次显示abcd1234的程序的编译和烧写以掌握数码管显示的编程方法。【2】实验原理【3】实验步骤:1.打开Keil编译器,创建项目:Project---NewuVisionProject,创建一个文件夹来放工程相关的文件,给工程项目命名为mywork,点击保存。2.选择芯片类型,这里选择ATMEL------AT89C52这个芯片。3.把C文件添加到我们的工程文件里。4.在test.c这个文档里编辑代码。5.编译通过之后,我们需要输出hex文件,也就是单片机可执行的二进制文件。6.利用STC-ISP将编写好的程序烧写进单片机中。7.如下图连接试验相关模块连线:注意:JP10(P0)接J12J21跳线帽接左边AP22BP23CP24需查阅74HC138芯片datasheet【4】程序设计内容(1)LED数码显示原理七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见下表“0”3FH“8”7FH“1”06H“9”6FH“2”5BH“A”77H“3”4FH“b”7CH“4”66H“C”39H“5”6DH“d”5EH“6”7DH“E”79H“7”07H“F”71H(2)由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。这样我们按着abcd1234的顺序,把每个数字的笔段代码按顺序排好,建立的表格如下所示:codetable[]={0x77,0x7c,0x39,0x5e,0x06,0x5b,0x4f,0x66}。(3)译码器的使用:A2-A0组成的三位2进制数,一共有8种意义:000:0001:1010:2011:3100:4101:5110:6111:7即A2-A0的状态,表示相应的Y(Y0-Y7)输出为低电平,其他为高电平。【5】实验代码#includereg51.hsbita=P2^2;sbitb=P2^3;sbitc=P2^4;unsignedcharcodetable[]={0x77,0x7c,0x39,0x5e,0x06,0x5b,0x4f,0x66};unsignedchardisplay;voiddelay(unsignedinti){unsignedintj;for(;i0;i--)for(j=0;j50;j++){;}}voidmain(void){while(1){a=1;b=0;c=0;for(display=0;display8;display++){a=~a;if((display1)&&(display4)||(display5)&&(display8))b=1;elseb=0;if(display3)c=1;elsec=0;aP0=table[display];delay(1);P0=0x00;}}}【6】实验现象:在数码管上观察到其依次显示abcd1234。
本文标题:实验三动态数码管实验
链接地址:https://www.777doc.com/doc-2458173 .html