单片机程序,怎么从电脑上往单片机上输入.

单片机程序,怎么从电脑上往单片机上输入.,第1张

单片机程序从电脑上往单片机上输入的方法如下:

1、把程序写入单片机一般叫烧写,故有烧写器,可以用它很容易的把程序烧进单片机,但不推荐这种方法,因为烧写器贵。

2、现在很多单片机支持ISP方式的烧写,如果电脑有并口的话,就可以用个很简单的并口ISP线即可,如果没有并口,就买个USB_ISP的接口,支持usb接口,很方便。

3、还有就是用STC的51单片机,直接从电脑串口连三根线在搭配软件就可以烧写,推荐第三种。

#include<reg51.h>

#define uchar unsigned char

uchar keyval,keynum=0

void t1isr() interrupt 3

{

uchar sccode,recode

TH0=(65536-10000)/256

TL0=(65536-10000)%256

P3=0x0f  //发0扫描,列线输入

if ((P3 & 0x0f) != 0x0f)keynum++  //有键按下

else keynum=0

if(keynum>5) //按键保持在5次中断以上

{

keynum=0

sccode = 0xef    //逐行扫描初值

while((sccode&0x01)!=0)

{

    P3=sccode

if((P3&0x0f)!=0x0f)

{

    recode=(P3&0x0f)|0xf0

getkey((~sccode)+(~recode))

 }

        else

sccode=(sccode<<1)|0x01

}

}

getkey(0)

}

void getkey(uchar key)

{

if(key==0){keyval=0xffreturn}

switch(key)

{

case 0x11:keyval=7break

case 0x12:keyval=4break

case 0x14:keyval=1break

case 0x18:keyval=10break

case 0x21:keyval=8break

case 0x22:keyval=5break

case 0x24:keyval=2break

case 0x28:keyval=0break

case 0x41:keyval=9break

case 0x42:keyval=6break

case 0x44:keyval=3break

case 0x48:keyval=11break

case 0x81:keyval=12break

case 0x82:keyval=13break

case 0x84:keyval=14break

case 0x88:keyval=15break

default:keyval=0xffbreak

}

}

main()

{

    uchar mima[]="12345678"

    uchar mmins[8]

    uchar i,num,sc

TMOD=0x21

TH0=(65536-10000)/256

TL0=(65536-10000)%256

TR0=1

ET0=1

TH1=0xfd

TL1=0xfd

TR1=1

SCON=0x40

EA=1

num=0

while(1)

{

if(keyval!=0xff){mmins[num]=keyvalnum++}

if(num>=8)

    {

    num=0

    sc=1

    for(i=0i<8i++)

        {

        if(mmins[i]!=mima[i]){sc=0break}

    SBUF=sc

    while(TI==0)

    TI=0

        }

    }

}

}

关键看你如何控制,最简单的就是:

include<reg51.h>

sbit led1=P1^4

sbit led2=P1^5

sbit led3=P1^6

sbit key1=P0^4

sbit key2=P0^5

sbit key3=P0^6

main()

{

while(1)

    {

    led1=key1

    led2=key2

    led3=key3

    }

}


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

原文地址:https://54852.com/yw/11122571.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存