欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13970|回復: 0
收起左側

51單片機GPIO口輸出實驗程序 8位七段數碼管顯示學號

[復制鏈接]
ID:520103 發表于 2019-4-24 00:09 | 顯示全部樓層 |閱讀模式
實驗二  GPIO口輸出實驗②(數碼管顯示)

一、 實驗目的

學習單片機GPIO口(如P0、P2口)輸出功能和數碼管的使用方法(靜態掃描和動態掃描)

二、 實驗要求

利用8位數碼管顯示自己學號的后8位(P0為數碼管段碼值的輸出口、P2為數碼管位選值的輸出口)。

三、 實驗原理圖
如下圖a1
a1.png
四、 實驗內容:


1. 硬件連接

JP10<->J12、JP11<->J16


2. 實驗代碼

//實驗二實驗要求:8位共陽數碼管顯示學號后八位

#include"STC15.h"

typedef unsignedchar u8;

typedef unsignedint u16;

u8 codeSEG_Code[]=

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,

0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};

u8 codeBit_Code[]=

{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

u8Student_number[]={6,0,1,5,4,0,2,4};

void Pin_Mode(void);

voidSEG7_1Bit_Display(u8 num,u8 Position);

voidDelay_nms(u16 nms);

void main(void)

{

         u8 i=0;

         Pin_Mode();

  while(1)

  {

          SEG7_1Bit_Display(Student_number[i++],8-i);

          Delay_nms(1);

          i=i%8;

  }

}

voidPin_Mode(void)

{

         P0M1=0x00;P0M0=0x00;

         P2M1=0x00;P2M0=0x00;

}

voidSEG7_1Bit_Display(u8 num,u8 Position)

{

         P2=0xff;

         P0=~SEG_Code[num];

         P2=Bit_Code[Position];

}

voidDelay_nms(u16 nms) //??65535nms

{

         u16 i,t;

         for(i=0;i<nms;i++)

         {

                   for(t=0;t<1080;t++);

  }

}


2.實驗現象:

8位數碼管顯示自己學號的后8位(P0為數碼管段碼值的輸出口、P2為數碼管位選值的輸出口)。

圖a2為實驗現象。
a2.jpg

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表