单片机实验(5).doc

课程名称 单片机技术基础 实验名称 ?矩阵键盘实验 实验目的、要求 1、学习C51编2、 主要设备、器材 计算机一台 KEIL集成开发环境 普中科技单片机实验板一个 实验步骤及原始数据记录 1)启动Keil C51软件。 2)3)新建一个C51文件,单击左上角的New File,在编辑框里输入程序。 )完成代码的输入后,单击SAVE按钮,注意选择保存的路径,并输入保存的文件名c,然后单击【保存】按钮。 )保存好后把此文件加入到工程中(用鼠标在Source Groupl上单击右键,然后再单击Add Files to Group‘Source Groupl’)。 )选择要加入的文件,找到后,单击【Add】按钮,然后单击【close】按钮。 )到此便完成了工程项目的建立以及文件加入工程,现在开始编译工程,若在output window的build页看到0 Error(s)表示编译通过,可以进行程序的仿真运行。 ) 根据电路图连接静态数码管和单片机的P0端口,连接矩阵键盘和单片机的P1口。开启单片机,将程序下载到单片机,观测运行结果。实验程序: #includereg52.h void delay(unsigned char); void display(unsigned char); unsigned char code table[16]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; // 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 // a b c d e f /*************************************************************/ /* 主程序 */ /*************************************************************/ void main(void) { unsigned char temp; while(1) { P1=0xf0; //高四位输入 行为高电平 列为低电平 temp=P1; if(temp!=0xf0) { delay(5); if(temp!=0xf0) //软件延时的方法消抖 { //以下用逐行扫描法判别按键 //行全部置为高电平,列逐列置低电平 实现对按键的判断 P1=0xfe; temp=P1; switch(temp) { case(0xee):display(0);break; case(0xde):display(1);break; case(0xbe):display(2);break; case(0x7e):display(3);break; } P1=0xfd; temp=P1; switch(temp) { case(0xed):display(4);break; case(0xdd):display(5);break; case(0xbd):display(6);break; case(0x7d):display(7);break; } P1=0xfb; temp=P1; switch(temp) { case(0xeb):display(8);break; case(0xdb):display(9);break; case(0xbb):display(10);break; case(0x7b):display(11);break; } P1=0xf7; temp=P1; switch(temp) { case(0xe7):display(12);break; case(0xd7):display(13);break; case(0xb7):display(14);break; case(0x77):display(15);break; } } } } } /*************************

文档评论(0)

1亿VIP精品文档

相关文档