设计单片机跑马灯代码代码,怎么用LCD显示初始显示为0,然后按键1加1,按键2减1

单片机 一个按钮设置按一下加1 另一个按键按一下减1 求帮忙编写程序_百度知道
单片机 一个按钮设置按一下加1 另一个按键按一下减1 求帮忙编写程序
不好意思 能不能用汇编语言 我不会翻译C语言
我有更好的答案
#include&reg52&#define uchar unsigned char#define uint unsigned intsbit K1 = P1^4;sbit K2 = P1^5;uchar data K1uchar data K2uint& data num,uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x06f,0x77,0x7c,0x39,0x5e,0x79,0x71} ;uchar data showIndex,indexTuchar data& W[8];void delay(uint z){&&&&uint x,y;&&&&for(x=z;x&0;x--)&&&&&&&&for(y=110;y&0;y--);//能使之延时接近1毫秒就成 无需精确}void main(){&&K1state = 0xFF;&&K2state = 0xFF;&&num = 0;&&while(1)&&{&&&&delay(1);//每毫秒轮询一回&&&&//移位法,延时防抖&&&&K1state = (K1state&&1);&&&&K2state = (K2state&&1);&&&&if(K1) K1state++;&&&&if(K2) K2state++;&&&&//检查开关状态&&&&if(K1state==0x80) num++;&&&&if(K2state==0x80) num--;&&&&for(indexTmp=0,ntmp =indexTmp&=7;indexTmp++)&&&&{&&&&&&W[indexTmp] = num%10;&&&&&&num /=10;&&&&}&&&&P0 = (0x01&&showIndex);//位选&&&&P2 = table[W[showIndex]];//段选&&&&showIndex++;&&&&if(showIndex&=8)&&&&&&showIndex=0;&&}}看了你的全图,修改后了,用Keil uVision 3或4都可以,编译后可以查看对应的汇编代码程序稍大一点的,不会有人用汇编来给你蘑菇,汇编设计写编码太慢了,开发代价不值得
采纳率:52%
学单片机 先学C语言
学深了 再学汇编 这样更好上手
求剩余下面的图 做边接到什么了???
sbit k=P1^5;sbit m=P1^6;int p=0;while(1){if(k==0)
p++;else if(m==0) p--;}
我没问清楚
能不能用汇编语言 我不会翻译C语言
你可以混合编程嘛
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。有四个按键,按下k9加1,按下k10减1,按下k11加2,按下k12减2,点亮最右边一盏LED_百度知道
有四个按键,按下k9加1,按下k10减1,按下k11加2,按下k12减2,点亮最右边一盏LED
有四个按键,按下k9加1,按下k10减1,按下k11加2,按下k12减2,点亮最右边一盏LED求51单片机程序代码!!!
我有更好的答案
很简单啊,你只需要if判断按键状态,加减直接设置LED的亮灭和数码管的段位来实现你的功能,如果你想方便的话直接把段选位选的io配置输入输出写出一个函数,你的数码管写成一个函数,那么在你的main函数就很清晰,这不管是学习还是工作都应该有的好习惯
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。单片机设计 按键顺序控制加减计数(1602 液晶显示) 程序_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机设计 按键顺序控制加减计数(1602 液晶显示) 程序
&&1.通过判断两个按键的按击先后顺序,决定加减;如按 A后按 B 为加,按 B 后按A 为减。
2.将加减后的当前数值在 1602 液晶上显示。
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢按键控制数码管加1 c程序
12:23:09来源: 51hei 关键字:&&&&
每次按键蜂鸣器响一声,然后会自动加1.数码管用2个573接到p0口,电路详见单片机开发板的原理图:http://www.51hei.com/f/HL-1V6.5.pdf
#include //头文件
&&&& //声明无符号整型变量T
unsigned char i=0; //段码初始值定义
unsigned char s=0;//位码初始值定义
sbit key=P3^0;&// 键盘端口定义为P3.0
sbit SB=P2^3;//峰鸣器端口定义
sbit DUAN=P2^0;& //段码位选通定义
sbit WEI=P2^1;//位码位选通定义
unsigned char code TABLE1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表
unsigned char code TABLE2[]={0x00};//位码表
void main(void)//主函数
SB=1;//&& 峰鸣器关闭
while(1)//主函数
P0=TABLE1[i];&& //查段码表结果
DUAN=1;&& //开段码选通
DUAN=0;//关段码选通
P0=TABLE2[s];& //查位码表结果
WEI=1;& //开位选通
WEI=0;//关位选通
for(t=0;t<6000;t++);//延时防闪烁
if(key==0)//按键识别
for(t=0;t<50;t++);
if(key==0)
for(t=0;t<50;t++);
while(key==0);
P0=TABLE1[i];
P0=TABLE2[s];
for(t=0;t<60;t++);
关键字:&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
关注eeworld公众号快捷获取更多信息
关注eeworld服务号享受更多官方福利
网友正在学习IC视频
相关关键词
热门关键词
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。求一个单片机程序:三个按键,一个启动设置,一个加,一个减。_百度知道
求一个单片机程序:三个按键,一个启动设置,一个加,一个减。
三个按键配合实现程序中的某个变量大小的设置。
设置过程在LCD1602上显示
我有更好的答案
#include&reg52.h&#define uchar unsigned char #define uint unsigned intsbit aj1=P3^4;sbit aj2=P3^5;sbit aj3=P3^6;sbit aj4=P3^7;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,0x00};void delay(uint z);void init();void shumaguan(uchar shu);void anjian();uchar aa,void main(){init();while(1){anjian();shumaguan(shu);}}void init(){shu=0;TMOD=0x01;TH0=()/256;TL0=()%256;EA=1;ET0=1;// TR0=1;}void delay(uint z){uint x,y;for(x=z;x&0;x--)for(y=110;y&0;y--);}void dingshiqi0() interrupt 1{TH0=()/256;TL0=()%256;aa++;if(aa==20){aa=0;shu++;if(shu==60)shu=0;}}void shumaguan(uchar shu){uchar shi,dula=1;P0=table[shi];dula=0;P0=0wela=1;P0=0wela=0;delay(5);dula=1;P0=table[ge];dula=0;P0=0wela=1;P0=0wela=0;delay(5);shi=shu/10;ge=shu%10;}void anjian(){if(aj1==0){delay(10);if(aj1==0){shu++;if(shu==60)shu=0;while(!aj1)shumaguan(shu);while(!aj1);}}if(aj2==0){delay(10);if(aj2==0){if(shu==0)shu=60;shu--;while(!aj2)shumaguan(shu);while(!aj2);}}if(aj3==0){delay(10);if(aj3==0){shu=0;while(!aj3)shumaguan(shu);while(!aj3);}}if(aj4==0){delay(10);if(aj4==0){TR0=~TR0;while(!aj4)shumaguan(shu);while(!aj4);}}}这是我以前写得4个按键的 要不用不上 你就把aj3去掉那个是清零的
你这问题补充的 先前怎么不一起加上
不知道你的IO口的定义
你这样吧 你把液晶的 地址 数据 设置好 然后用定时器 控制1秒++;在按键里面 和你要显示的液晶的 指令和数据 分解加上 就可以了
磐石电子技术
为您推荐:
其他类似问题
单片机的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 单片机跑马灯代码 的文章

 

随机推荐