广 东 海 洋 大 学
单 片 机 原 理 实 验 指 导 书
实验二 开关控制LED数码管实验
一、实验目的:
1.通过AT89C51读入4位开关的输入状态(0~F),并将其输出到数码管显示。
2.掌握LED数码管的静态显示。 3.掌握I/O口的控制方法。 二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板 四、源程序设计:
根据电路图自行编写并调试。
源程序:
/***************************广东海洋大学*****************************
实现功能:4位开关控制数码管显示0-F
程序编写人:广东海洋大学 信息学院 肥仔(××豪) 地点:海乐B221
时间:2013年4月3号晚
赞助商:肥仔打印室 (海乐B221) 打印客服
***********************************************************************/
#include
char code shumaguan[]={0xc0,0xf9,0xa4,0xb0, main()
0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e};
QQ:2524824726 服务范围:海乐大院
{
while(1)
{ switch {
(P2)
case 0xf0: P0=shumaguan[0];break; case 0xf1: P0=shumaguan[1];break; case 0xf2: P0=shumaguan[2];break; case 0xf3: P0=shumaguan[3];break; case 0xf4: P0=shumaguan[4];break; case 0xf5: P0=shumaguan[5];break; case 0xf6: P0=shumaguan[6];break; case 0xf7: P0=shumaguan[7];break; case 0xf8: P0=shumaguan[8];break; case 0xf9: P0=shumaguan[9];break; case 0xfa: P0=shumaguan[10];break; case 0xfb: P0=shumaguan[11];break; case 0xfc: P0=shumaguan[12];break; case 0xfd: P0=shumaguan[13];break;
}
case 0xfe: P0=shumaguan[14];break; case 0xff: P0=shumaguan[15];break; default:break; } }