浅谈单片机中C语言与汇编语言的转换

本文介绍了基于51单片机的99码表设计,通过C语言和汇编语言的实现过程,分享了转换过程中遇到的问题及解决方法。涉及内容包括开关控制、数码管显示、计时器中断等,并提供了C语言代码和对应的汇编语言转换实例。
摘要由CSDN通过智能技术生成
做了一单片机设计,要用C语言与汇编语言同时实现,现将这次设计的感受和收获,还有遇到的问题写下,欢迎感兴趣的朋友交流想法,提出建议。
  单片机设计:基于51单片机的99码表设计
  软件环境:Proteus8.0 + Keil4
  要求:1,开关按一下,数码管开始计时。2,按两下,数码管显示静止。3,按三下,数码管数值清零。
  C语言程序如下:
  #include
  #define uint unsigned int
  #define uchar unsigned char
  uchar shi,ge,aa,keycount=0,temp;
  sbit anjian=P1^7;
  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  void display(shi,ge);
  void key ();
  void init();
  void delay(uint z);
  /*-----主程序-----*/
  void main()
  {
  init(); //初始化
  while(1)
  {
  key ();
  if(keycount==1)
  TR0=1; //开中断
  if(keycount==2)
  TR0=0;
  if(keycount==3)
  {
  temp=0;
  keycount=0;
  }
  if(aa==10){aa=0;
  if(temp<=99)
  {
  temp++;display(shi,ge);
  }
  else
  temp=0;}
  }
  }
  /*------初始化程序-------*/
  void init()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值