led手环设计图怎么画科学

led手环设计图怎么画科学,第1张

led手环设计图怎么画科学,具体如下所示步骤一:绘制零件轮廓
步骤二:修整除料
步骤三:镜像特征
使用镜像命令,以俯视基准面作为复制平面,将上一步中的除料特征进行镜像 *** 作。
步骤四:添加倒圆
使用倒圆命令为零件添加倒角,圆角大小为R03。
步骤五:装配阵列
步骤六:添加材质与外观

你这里是出了 四道题,还是一共一道题?
这些SX,是按扭式的一松手就自动d起 还是开关式的,推上去通,拨下来不通 这些会影响到程序的,如果是推上去拨下来的开关,那程序中只要检查开关的当前状态,依状态进行不同的流程,如果是按扭式的,那得在中断里轮询关做防抖处理,按下一次记一个状态
那个全灭时向左移向右移不还都是全灭的吗?这个提得不清楚,连着按几下是亮了几个灯?
3跟4明显是冲突的,不是一个题,那就是分成多题了
没意思,别人的烦恼,我干嘛要在这思考啊,近来知道上尽是些懒人来发题,就想不劳而获,替别人思考是浪费自己的生命,花费太多时间实在是不值得,如果是想要别的程序学习学习那应当不提这么多乱七八糟的需求,这么一提,明显是想让人免费为你开发,还是你自己玩吧

单片机的P10-P13接四个发光二极管L1-L4的阴极,P14-P17接四个开关K1-K4程序:ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR ARR ARR AORl A,#0F0HMOV P1,ASJMP START可以检测单个按键,也可以同时检测多个按键过程:开始--读P1口数据到A--A中的数据右移4次--A中的内容和F0H相或--A中的数据送到P1口--回到开始

P0是指P0^0~P0^7这八个端口。
LED = _crol_(LED,1)是循环左移的一位的函数,LED = _cror_(LED,1)是循环右移的函数,
低电平0使LED点亮。

当LED=0xfe(1111 1110)时,执行LED = _crol_(LED,1),
即左移一位,高位溢出,补到低位,此时LED=0xfd(1111 1101);
下一次左移变为LED=0xfb(1111 1011)

如此循环,直到LED=0x7f(0111 1111),即为最左边的灯亮。
再执行LED = _cror_(LED,1),则LED=0xfe(1111 1110),回到初始状态,反复循环······

#include<reg52h>    //头文件声明   //

#define uint unsigned int

#define uchar unsigned char

sbit wela=P1;    // P1口控制各数码管的数据发送数据 //

sbit key1=P3^2;

uchar num;

uchar num1;

uchar num2;

uchar num3;

uchar num4;    //计数为NUM,num1为个位,num2为十位//

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71}; //计数数字在数码管上的显示(数码管是8位的)  //

void delay(uint z);

void liushui();

void main()

{

EA=1;//开总中断  //

EX0=1;//开外部中断0 32口,默认的是电平触发方式,如果需要用跳变沿触发,请设置下,INT0为P32口//

num1=0;

num2=0;

num3=0;

num4=0;

while(1)  //程序大循环//

{

wela=0x80;

delay(100);   //选择个位,显示0   wela为 P0口,锁存器的选择,将数据发送到不同的锁存器锁存 //

P3=table[num1];

delay(100);

wela=0x40;

delay(100);       //选择十位,显示0  //

P3=table[num2];

delay(100);

wela=0x20;

delay(100);    //选择百位,显示0 //

P3=table[num3];

delay(100);

wela=0x10;

delay(100);         //选择千位,显示0 //

P3=table[num4];

delay(100);

liushui();  //调用流水灯函数

num1=num1++;      //判断数码管的显示方式

if (num1>9)

{

num2++;

num1=0;

if (num2>9)

{

num3++;

num2=0;

if(num3>9)

{

num4++;

num3=0;

if(num4>9)

{

num1=0 ;

num2=0 ;

num3=0 ;

num4=0 ;

}

}

}

}

}

}

void liushui()     //子程序

{

P1=0x01  ;

delay (200);

P1=0x03  ;

delay (200);

P1=0x07  ;

delay (200);

P1=0x0F ;

delay (200);

P1=0x1F  ;

delay (200);

P1=0x3F  ;

delay (200);

P1=0x7F  ;

delay (200);

P1=0xFF  ;

delay (200);

P1=0X00;

delay (400);

}

void delay(uint z)    //延时子程序

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void exit0() interrupt 0     //中断服务程序

{

P1=0x80  ;

delay (200);

P1=0xC0  ;

delay (200);

P1=0xE0  ;

delay (200);

P1=0xF0 ;

delay (200);

P1=0xF8  ;

delay (200);

P1=0xFC  ;

delay (200);

P1=0xFE  ;

delay (200);

P1=0xFF  ;

delay (200);

P1=0X00;

delay (400);

num1=num1--;

if (num1<1);

{  if(num2<1);

{

if(num3<1);

{

num4--;

num3=9;

}

num3--;

num2=9;

}

num2--;

num1=9;

}

wela=0x80;

delay(100);

P3=table[num1];

delay(100);

wela=0x40;

delay(100);

P3=table[num2];

delay(100);

wela=0x20;

delay(100);

P3=table[num3];

delay(100);

wela=0x10;

delay(100);

P3=table[num4];

delay(100);

}

你不会再QQ问问上也问了的吧,怎么那么像?>

把中断服务程序改一下~~就可以用了

要实现Proteus和Keil软件联调,需要安装一个插件,然后在proteus和keil中设置。其实,这两个软件联调,真的没有什么用,调试一个小程序时,单步调试还可以,调试大程序就不适用了。keil编译好了,在proteus仿真测试就行,仿真效果不对,就改程序。即使是联调,有问题改程序也并不省事。

//--包含你要使用的头文件

#include <reg52h>  //此文件中定义了51的一些特殊功能寄存器

#include <intrinsh>

//--声明全局函数--//

void Delay10ms(unsigned int c);   //延时10ms  

/

函 数 名         : main

函数功能   : 主函数

输    入         : 无

输    出         : 无

/

main()

{

unsigned char LED;

LED = 0xfe;  //0xfe = 1111 1110

while (1)

{

  P0 = LED;

Delay10ms(50);

LED = LED << 1;    //循环右移1位,点亮下一个LED "<<"为左移位

if (P0 == 0x00) //当它全灭的时候,重新赋值

{

LED = 0xfe;   // 0xfe = 1111 1110

}

 

}

}

/

函 数 名         : Delay10ms

函数功能   : 延时函数,延时10ms

输    入         : 无

输    出         : 无

/

void Delay10ms(unsigned int c)   //误差 0us

{

  unsigned char a, b;

//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//

  for (;c>0;c--)

{

for (b=38;b>0;b--)

{

for (a=130;a>0;a--);

}

       

}    

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10431426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存