- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验5独立键盘和矩阵键盘
一、实验目的
1、学会用C语言进行独立按键应用程序的设计。
2、学会用C语言进行矩阵按键应用程序的设计。
二、实验内容
1、独立按键:对四个独立按键编写程序:当按k1时,8个LED同时100ms闪
烁;当按k2时,8个LED从左到右流水灯显示;当按k3时,8个LED从右到
左流水灯显示;当按k4时,8各LED同时从两侧向中间逐步点亮,之后再从中
间向两侧逐渐熄灭;
2、矩阵按键:采用键盘扫描方式,顺序按下矩阵键盘后,在一个数码管上顺序
显示0~F,采用静态显示即可。
3、提高部分(独立按键、定时器、数码管动态扫描):编写程序,实现下面的
功能。
用数码管的两位显示一个十进制数,变化范围为00~59,开始时显示00,每按一
次k1,数值加1;每按一次k2,数值减1;每按一次k3,数值归零;按下k4,
利用定时器功能使数值开始自动每秒加1;再按一次k4,数值停止自动加1,保
持显示原数。
三、实验步骤
1、硬件连接
(1)使用MicroUSB数据线,将实验开发板与微型计算
机连接起来;
(2)在实验开发板上,用数据线将相应接口连接起来;
2、程序烧入软件的使用
使用普中ISP软件将HEX文件下载至单片机芯片内。
查看结果是否正确。
四、实验结果——源代码
1.
typedefunsignedcharu8;
typedefunsignedintu16;
1
#defineLEDP2
sbitkey1=P3^1;
sbitkey2=P3^0;
sbitkey3=P3^2;
sbitkey4=P3^3;
constchartab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
u8codebegMid[]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e};
voidDelay(u16i)
{while(i--);}
voidKeyDown()
{
u8i;
if(key2==0)
{
Delay(1000);
if(key2==0)
{
for(i=0;i8;i++)
{
LED=tab[i];
Delay(50000);
}
while(!key2);
}
LED=0xff;
}
elseif(key1==0)
{
Delay(1000);
if(key1==0)
2
{
for(i=0;i3;i++)
{
LED=0x00;
Delay(10000);
LED=0xff;
Delay(10000);
}
}
}
}
voidInt0Init()
{IT0=1;EX0=1;EA=1;}
voidInt1Init(){IT1=1;EX1=1;EA=1;}
voidmain()
{
Int0Init();
Int1Init();
while(1)
{
文档评论(0)