lcd显示数字+0x30

本文介绍了在LCD显示设备中如何使用ASCII码进行字符显示。通过将数字转换为对应的ASCII码值,即数字加上0x30的方式,实现特定字符在LCD上的正确呈现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lcd中存贮的是ASCII码的形式表示,x(对应数字)+0x30为对应SACLL码表中x(数字)字符对应的值。
解读一下下面程序,并说出程序设计思路#include "reg51.h" #include "lcd1602.h" #define uchar unsigned char #define uint unsigned int sbit in1=P1^0;//货物 sbit in2=P1^1; sbit in3=P1^2; sbit in4=P1^3; sbit k1=P1^4;//按钮 sbit k2=P1^5; sbit k3=P1^6; sbit k4=P3^2; sbit k5=P3^3; sbit led1=P3^4;//LED sbit led2=P3^5; sbit led3=P3^6; sbit led4=P3^7; sbit out=P2^7;//输出 sbit en=P2^6;//启停 uchar time=0,mode=0;//系统变量 uint num[]={0,0,0,0};//计数 uchar pwm=1,N=0;//占空比 uchar disp1[]="A:000 B:000 S:0"; uchar disp2[]="C:000 D:000"; void delay_us(uint i)//延时 { while(i--); } void main() //主函数 { uchar i=0; init_1602();//初始化 TMOD|=0X11; TH0=(65536-50000)/256;//50ms TL0=(65536-50000)%256; TH1=(65536-1000)/256;//1ms TL1=(65536-1000)%256; ET1=1; ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 while(1) { if(!k1)//启动 { en=0; } if(!k2)//停止 { en=1; } if(!k3)//清除 { num[0]=0; num[1]=0; num[2]=0; num[3]=0; } if(!k4)//加速 { if(pwm<4) pwm++; while(!k4); } if(!k5)//减速 { if(pwm>1) pwm--; while(!k5); } if(!en) //启动模式 { TR1=1; if(!in1) { num[0]++; led1=0; while(!in1); led1=1; } if(!in2) { num[1]++; led2=0; while(!in2); led2=1; } if(!in3) { num[2]++; led3=0; while(!in3); led3=1; } if(!in4) { num[3]++; led4=0; while(!in4); led4=1; } } else //停止 { TR1=0; en=1; out=0; led1=1; led2=1; led3=1; led4=1; } } } //定时器0中断 void Timer0() interrupt 1 { if(time<10)//0.5s time++; else { time=0; //显示 disp1[2]=num[0]/100+0x30; disp1[3]=num[0]%100/10+0x30; disp1[4]=num[0]%10+0x30; disp1[8]=num[1]/100+0x30; disp1[9]=num[1]%100/10+0x30; disp1[10]=num[1]%10+0x30; disp2[2]=num[2]/100+0x30; disp2[3]=num[2]%100/10+0x30; disp2[4]=num[2]%10+0x30; disp2[8]=num[3]/100+0x30; disp2[9]=num[3]%100/10+0x30; disp2[10]=num[3]%10+0x30; disp1[14]=pwm+0x30; write_string(1,0,disp1); write_string(2,0,disp2);
03-31
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值