单片机:我想通过矩阵键盘输入数字,然后在液晶上显示

单片机:c8051 f040 。我想通过键盘输入一些参数值,用数字0-9表示,然后再液晶上显示出来。液晶用的是12864。我应该怎么样先读取到按键,然后转换成显示的字符??满意追分,谢谢
我的键盘程序已经OK,液晶厂家也给了例程,但例程都是现实自定义字符,不知道怎么能把读取到的一个按键转到字符库,实时输入不知道怎么做.............

你可以把读到的键码存放到一个空间,液晶显示的时候只要读那个空间的数就可以实时控制了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-19
先写个12864的显示程序
再写个按键扫描程序
最后读出按键再显示
一步步慢慢来,一定可以的
第2个回答  2010-09-20
先用字模软件,模出0——9的数据,大小可以现在比如8*8或16*16之类的,根据相应的按键值把对应的数据传到液晶显示!本回答被提问者采纳
第3个回答  2010-09-19
uchar buff = key_scan();
LCD_Write(buff);

...用单片机和4*4矩阵键盘输入数字并在LCD1602上显示出来的C语言程序...
输入 : 需要写入1602的数据 输出 : 无 \/ void wdata(uchar del){

急求一个基于89C51单片机,8255A,用矩阵键盘输入数字,并在LCD1602上显示...
while(time--){for(i=0;i<100;i++);}}static void LCD1602_WriteByte(unsigned char value,bit dataTypedef){if(dataTypedef)LCD1602_RS_SET();elseLCD1602_RS_

怎样将单片机矩阵键盘的值保存起来并显示
include <reg52.h> include <intrins.h> define uint unsigned int define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;uchar code table[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,};void delay_ms(uint xms){ uint i...

51单片机矩阵键盘反转法扫描,按键后在lcd上显示的问题
主程序写的不对,这样写,开机后只读一次键盘,可是还没有按键就过去了,然后进入死循环了 while(1);这是死循环。改成这样 void main(){ unsigned char num;lcd_init();while(1) \/\/这行不能打分号;{ num=key_num();lcd_onedis(0,1,num);} } ...

51单片机矩阵键盘输入的值保存到一个数组了里并显示出来最后再控制LED...
例如按下1、2、3,我可以令result=num[0]*100+num[1]*10+num[2],得到123。--每次怎么可能按下 1、2、3 ?每次,只能按下一个。你把值保存到数组num[i]的一个元素中,再 i++。 i == 3,可令result=num[0]*100+num[1]*10+num[2],得到123。然后可以读这些数进行计算。

单片机矩阵键盘输入多位数问题
假设我现在输入了“1 2 3 4”这个参量就是4。 判断确定键:这一步和第二步是并行的关系。可以用SWITCH来做到.当确定以后。判断数据存放数目。在自己写个判断数目的小子程序。比如上面写的是4位 1X1000 +2X100+ 3X10 +4X1 这样就能将数据还原。进行这步的时候要注意。不能用char 或者...

51单片机矩阵键盘输入0-999999的任意数的问题?
0-999999,最多有6位数,因此可声明一个 6 byte的数组keybuffer[6]和一个存储数字位数的变量bitnum unsigned char keybuffer[6];unsigned char bitnum=0 ;if(key<10){ keybuffer[bitnum] = key ;bitnum ++ ;}\/\/如果用数码管显示,直接把keybuffer的值送显就可以了 \/\/如果还需把值算出...

想做一个基于51单片机按键计数用LCD1602显示的编程0-99
当然你可以将其改为只显示2个数字 sbit rw=P1^4;sbit rs=P1^3;sbit lcden=P1^5;define db P2 void write_com(uchar com)\/\/液晶屏写命令 { db=com;rs=0;rw = 0;lcden=0;Delay1ms(12);lcden=1;Delay1ms(12);lcden=0;} void write_date(uchar date)\/\/液晶屏写数据 { db=date;rs...

请教51单片机矩阵键盘扫描数码管显示的问题
51单片机矩阵键盘扫描与数码管显示是最典型的电路,画仿真图更简单,用四位一体的数码管显示按键,可模拟计算器输入数字,按键后,每个按键的数依此向左移位显示。如下图所示的仿真图。

51单片机矩阵键盘程序:想把按键的值一一存到数组里,最后按下某个按键...
给一个键盘扫描程序参考:void delay(unsigned int a){unsigned int i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);}uchar kbscan(void){unsigned char sccode,recode;P1=0x0f; \/\/发0扫描,列线输入if ((P2 & 0x0f) != 0x0f) \/\/有键按下{delay(20); \/\/延时去抖动if (...

相似回答