资源描述:
《数码管实训报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划数码管实训报告 单片机实验报告 一、实验名称 数码管动态扫描显示 二、实验目的 掌握数码管显示数字的原理。 通过不同的编程实现灵活运用数码管。 三、实验原理 数码管由7个发光二极管组成8字形构成的,加上小数点就是8个,分别把它命名为A,B,C,D,E,F,G,H。在共阳接法中,0亮,1灭。原理图中把所有数码管的8个笔划段A-H同名端连在一起,而每一个显示器的公共机COM是各自独立受IO线控制。CPU向字段输出口送出字
2、型码时,所有显示器接收到的字型码相同。由8个PNP的三极管来控制这8位哪一位工作。在单片机里,首先显示一个数,然后关掉,然后在显示第二个数,又关掉,那么将看到连续的而数字显示,轮流点亮撒哦i案过程中,每位显示器的点亮时间是极为短暂的,由于人的视觉暂留和发光二级管的余光效应,是的给人的印象是一组稳定的显示数据,不会有闪烁感。 四、相关原理图 五、实验内容目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特
3、制定安保从业人员的业务技能及个人素质的培训计划 数码管显示 c程序: #include #include unsignedchardatadis_digit; unsignedcharcodedis_code[11]={0x28,0x7E,0xA2,0x62,0x74,0x61,0x21,0x7A,0x20,0x60,0xff};//0,1,2,3,4,5,6,7,8,9,关显示,数码管码表 unsignedchardatadis_buf[8];//显示缓冲区 unsignedchardatadis_index; charco
4、deSST516[3]_at_0x003b; voidmain() { P0=0xff; P2=0xff; TMOD=0x01; TH0=0xFC; TL0=0x17; IE=0x82; dis_buf[0]=dis_code[0x1]; dis_buf[1]=dis_code[0x2];目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划
5、 dis_buf[2]=dis_code[0x3]; dis_buf[3]=dis_code[0x4]; dis_buf[4]=dis_code[0x5]; dis_buf[5]=dis_code[0x6]; dis_buf[6]=dis_code[0x7]; dis_buf[7]=dis_code[0x8]; dis_digit=0xfe; dis_index=0; TR0=1; while(1);} voidtimer0()interrupt1 //定时器0中断服务程序,用于数码管的动态扫描 //dis_index-
6、--显示索引,用于标识当前显示的数码管和缓冲区的偏移量 //dis_digit---位选通值,传送到P2口用于选通当前数码管的数值,如等于0xfe时,//选通口数码管 //dis_buf---显于缓冲区基地址 { TH0=0xFC; TL0=0x17; P2=0xff;//先关闭所有数码管 P0=dis_buf[dis_index];//显示代码传送到P0口目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正
7、常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 P2=dis_digit;// dis_digit=_crol_(dis_digit,1);//位选通值左移,下次中断时选通下一位数码管 dis_index++;// dis_index&=0x07;//8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描} 汇编程序: CODE_SEGSEGMENTCODE DATA_SEGSEGMENTDATA RSEGDATA_SEG dis_digit:DS1 dis_index:DS1 dis_buf:DS8
8、stack:DS20 ;=========================================================== C