void Display(unsigned char FirstBit,unsigned char Num);//数码管显示函数 unsigned char KeyScan(void);//键盘扫描 unsigned char KeyPro(void); void Init_Timer0(void);//定时器初始化 /*--- 主函数 ---*/ void main (void) { unsigned char num,...
51单片机数码管显示及矩阵键盘扫描程序 硬件实验十一八段数码管实验 一、实验任务 1、在静态数码管上轮流显示数字0-9。 2、在两个4位数码管上动态显示数字0-9 二、流程图及程序 静态显示: 流程图: 程序代码: #include #define uchar unsigned ch uchar codevalue[10]={0xC0,0xF9,0xA4,0xB0,0X99,0x92,0x...
51单片机矩阵键盘扫描程序/*--- 名称:矩阵键盘依次输入控制使用行列逐级扫描 论坛:www.doflye.net 编写:shifang 日期:2009.5 修改:无 内容:如计算器输入数据形式相同从右至左使用行列扫描方法 ---*/ #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #define DataPort P0 //...
这段有1个C51的项目,用的是新华龙的C51 F020单片机。项目中要使成为事实4*5的矩阵键盘。矩阵电路图如次如示 此中,四条列线接在 F020的P2~P5口线上,5条行线接在P5口线上(F020的P5口是差别于平凡C51的扩大接口,不克不及位寻址)。同时4条列线接在一四输入与非门(74LS20)上,门输出接F020的外间断1,...
P01,P02,P03为1000,如果检测到输出口有电流,那么可以设置不同回路阻值,比较电流值,看看到底是那个回路导通了。其余的同理。最右侧的0,1,2,3摁下时,电流大小应该是与其余按键摁下不一样的。以此来区分过不过二极管,进而判断摁键号。楼上说的很有道理,关键是看你的单片机支持不支持AD转换。
unsigned char KeyScan(void);//键盘扫描 unsigned char KeyPro(void); void Init_Timer0(void);//定时器初始化 /*--- 主函数 ---*/ void main (void) { unsigned char num,i,j; unsigned char temp[8]; Init_Timer0(); while (1) //主循环 { num=KeyPro(); if(...
(原创)51单片机C语言程序设计--速学教程实例(入门篇)之矩阵键盘(逐行扫描法)