微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求改成汇编语言 真的不会 非专业学生

求改成汇编语言 真的不会 非专业学生

时间:10-02 整理:3721RD 点击:

/*  名称:定时器控制数码管动态显示

说明:8 个数码管上分两组动态显示年月日与时分秒,本例的位显示延时用定时器实现。

*/

#include<reg51.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

//段码,最后一位是“-”的段码

uchar  code

DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};

//待显示的数据:09-12-25 与 23-59-58(分两组显示)

uchar code Table_of_Digits[][8]={{0,9,10,1,2,10,2,5},{2,3,10,5,9,10,5,8}};

uchar i,j=0;

uint t=0;

//主程序

void main()

{

P3=0x80; //位码初值

TMOD=0x00; //计数器 T0 方式 0

TH0=(8192-4000)/32;  //4ms 定时

TL0=(8192-4000)%32;

IE=0x82;

TR0=1; //启动 T0

while(1);

}

//T0 中断函数控制数码管刷新显示

void DSY_Show() interrupt 1

{

TH0=(8192-4000)/32;  //恢复初值

TL0=(8192-4000)%32;

P0=0xff; //输出位码和段码

P0=DSY_CODE[Table_of_Digits[j]];

P3=_crol_(P3,1);

j=(j+1)%8;  //数组第 i 行的下一字节索引

if(++t!=350) return; //保持刷新一段时间

t=0;

i=(i+1)%2; //数组行 i=0 时显示年月日,i=1 时显示时分秒

}



求大神帮帮忙 真的不会弄 课程设计

啥?
1002925094                 

表示只会c,,,,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top