c语言矩阵键盘控制四个led灯,51单片机矩阵键盘与左右流水灯控制C程序

这是一个使用51单片机实现的矩阵键盘控制数码管显示按键平方数和彩色流水灯流动的C程序。程序通过定时器0中断实现流水灯的左右移动,并在矩阵按键按下时更新显示。
摘要由CSDN通过智能技术生成

/*

*功能:使用矩阵按键使得按键按下时数码管上显示各自对应的数字的平方数;

*    且使用定时器0中断使得彩色流水灯先以20毫秒的速度左移流动4秒后,

*    然后使得彩色流水灯以20毫秒的速度右移流动;

*日期:2013-05-02-16:46

*作者:徐冉

*特别说明:本程序代码已经通过调试,仅供学习使用;

*

*/

/***********AT89C52-RC 单片机- 51hei-5 实验板***********/

/*****************51hei开发板*********************/

#include typedef unsigned int uint;

typedef unsigned char uchar;

sbit wela = P2^7;

sbit dula = P2^6;

sbit FM = P2^3;

uchar code table[] = {

0x3F,  //"0"

0x06,  //"1"

0x5B,  //"2"

0x4F,  //"3"

0x66,  //"4"

0x6D,  //"5"

0x7D,  //"6"

0x07,  //"7"

0x7F,  //"8"

0x6F  //"9"

};

uint key1 = 0;

uchar counter = 0, x = 0, flag = 0;

void display(uint num);

void delay(uint xms);

void Marix_keyscan();

void init();

//主程序

void main()

{

init();//定时器0初始化

while(1)

{

if(counter == 200)//定时器定时左移流动4秒

{

counter = 0;

flag = 1;

TR0 = 0;

TH0 = 0xB8;

TL0 = 0X00;

TR0 = 1;

x = 0;

}

Marix_keyscan();

display(key1);

}

}

//定时器0初始化子程序

void init()

{

TMOD = 0x01;

TH0 = 0xB8;

TL0 = 0X00;

EA = 1;

ET0 = 1;

TR0 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值