资源简介
单片机C51学习
单片机C51-键盘 定时扫描
代码片段和文件信息
#define uchar unsigned char
#define uint unsigned int
#define SYSCLK 12000000
//头文件
#include
//端口定义
#define LED_PORT P2
#define KEY_PORT P3
//常量
//变量
uchar k_index=0;
uchar k_tmpk_val;
//函数声明
void tim0_init(void)
{
TMOD = 0X01;
IE = 0X82;
TH0 = (-(SYSCLK/12/100))>>8;
TL0 = -(SYSCLK/12/100);
TR0 = 1;
}
void tim0_isr(void) interrupt 1
{
TH0 = (-(SYSCLK/12/100))>>8;
TL0 = -(SYSCLK/12/100);
switch(k_index)
{
case 0:
if((~KEY_PORT)&0x0f)//有按键
k_index++;
break;
case 1:
if((~KEY_PORT)&0x0f)//有按键
{
k_index++;
k_tmp = (~KEY_PORT)&0x0f;//保存键值
}
else//无按键
k_index = 0;
break;
case 2://等键释放1
if(!((~KEY_PORT)&0x0f))//无按键
k_index++;
break;
case 3://等键释放2
if(!((~KEY_PORT)&0x0f))//无按键
{
k_index = 0;
k_val = k_tmp;
}
else k_index--;
break;
default:k_index = 0; break;
}
}
main()
{
tim0_init();
while(1)
{
if(k_val)
{
switch(k_val)
{
case 0x01:LED_PORT = 0xfc; break;
case 0x02:LED_PORT = 0xf3; break;
case 0x04:LED_PORT = 0xcf; break;
case 0x08:LED_PORT = 0x3f; break;
default: break;
}
k_val = 0;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1290 2012-02-27 10:00 kb_ex2_tim\kb_ex2.c
文件 338 2012-02-27 16:55 kb_ex2_tim\kb_ex2.plg
文件 29 2012-02-27 16:39 kb_ex2_tim\kb_ex2.lnp
文件 4978 2012-02-27 16:39 kb_ex2_tim\kb_ex2.M51
文件 916 2012-02-27 16:39 kb_ex2_tim\kb_ex2.hex
文件 742 2012-02-27 16:55 kb_ex2_tim\kb.PWI
....... 0 2012-02-27 09:17 kb_ex2_tim\kb_ex2_uvproj.bak
....... 13230 2012-02-27 10:00 kb_ex2_tim\kb_ex2.uvproj
文件 4307 2012-02-27 16:39 kb_ex2_tim\kb_ex2.LST
文件 3329 2012-02-27 16:39 kb_ex2_tim\kb_ex2.OBJ
文件 3108 2012-02-27 16:39 kb_ex2_tim\kb_ex2
文件 85483 2012-02-27 10:00 kb_ex2_tim\Last Loaded kb.DBK
文件 85483 2012-02-27 16:55 kb_ex2_tim\kb.DSN
....... 72589 2012-02-27 10:00 kb_ex2_tim\kb_ex2_uvopt.bak
....... 72588 2012-02-27 16:55 kb_ex2_tim\kb_ex2.uvopt
目录 0 2012-02-27 09:16 kb_ex2_tim
----------- --------- ---------- ----- ----
348410 16
相关资源
- 单片机C51-电子钟1 LCD1602显示 上电正常
- 用51单片机解析GPS数据的源代码程序
- 单片机控制GSM模块TC35的方法
- 基于单片机的时间设计
- 分享一个51单片机做的简易示波器
- 51单片机空闲和掉电模式应用带程序
- 80C52单片机最小系统
- 利用51单片机计数器测频率最简程序
- 基于单片机的门禁系统毕业设计
- 单片机课程设计 出租车计费
- 51单片机驱动继电器例程+pretues仿真
- 51单片机A4988驱动源码
- DHT11温湿度 1602显示 89C52单片机
- 51单片机ADC0832_1602 proteus仿真源程序加
- 51单片机ADC0832电压测量液晶1602显示的
- STC89C52单片机最小系统原理图、PCB文件
- 基于通讯的多路开关量控制板的设计
- 单片机 公交车报站系统源程序
- 51单片机 MPU6050读取并通过串口输出
- nrf24L01双向通信程序51单片机
- 12位AD转换器TLC2543与51系列单片机接口
- 基于单片机的多路压力测量仪设计
- 基于单片机的多路数据采集系统的设
- 基于AT89C51单片机的电子计价秤的设计
- pic汇编程序,主要是供初学者学习p
- 51单片机用433M无线模块控制程序
- 单片机数字钟实训报告(完整版)
- 基于AT89S52单片机的数字温度计
- 基于DSP单片机的多功能汽车防撞雷达
- dspic单片机电机控制
评论
共有 条评论