导航:首页 > 操作系统 > 51单片机改装

51单片机改装

发布时间:2023-11-29 17:58:42

A. 51单片机如何修改波特率9600改成2400

用下面公式重新计算用于产生波特率的定时器重载值:
设9600波特率时定时器重载值是X;
设2400波特率时定时器重载值是Y;
当定时器重载值是8bit时(传统的51单片机型号,如AT89C51的T1):
Y=256-((256-X)*4)
当定时器重载值是16bit时(较新的51单片机型号,如C8051F系列的Timer3):
Y=65536-((65536-X)*4)
//-----------------------------------------------
粗略看了一下你的程序,你可以调整一下MAX_DELAY这个参数。我没具体计算过,只是怀疑是不是波特率降低之后,发送数据的时间变长了,如果发送数据的时间超过MAX_DELAY就会发送错误。
仅供参考。

B. 问一下51单片机能不能改成电源模块

看你这开发板是用USB线连接电脑,用USB取电并烧录程序。如果用电脑烧录程序以后,是可以用5Ⅴ电源模块供电,但应该是手机充电器的那种电源模块,插上USB线就供电了。你买其他类型的5V电源模块用不上。其实,用不着另买电源模块,肯定有手机充电器,用充电器就行的。买的电源模块没有USB口反倒不能用。但是,烧录程序时还必须用电脑。

C. 51单片机改io口

51的IO 很特别,属于SFR,不能直接或者间接寻址,所以不能像寄存器那样随意调换顺序。要么在定义的时候修改,要么使用以个接口函数,在接口函数中实现IO的兑换,这个函数可以接受参数什么的,可以做的比较人性化。

D. 51单片机程序修改

现在,你显示的是num1,其范围是0~60。
可以把它的上限,改为30,这就符合你的要求了。

另外再增加一个变量num2,其范围是0~60。
用它来控制红绿黄的交替变化,即可。

voiddisplay(ucharge,ucharshi)
{
if(num2<=25){P1=0xfe;}
elseif(num2<=30){P1=0xff;delay(2);P1=0xfd;}
elseif(num2<=60){P1=0xfb;}
……
}
……
voidtime0()interrupt1
{
TH1=(65536-5000)/256;//--应该是TH0=...
TL1=(65536-5000)%256;//--应该是TL0=...

num++;

if(num==10){
num=0;

num1++;
if(num1==30)num1=0;//用于显示秒数
shi=num1/10;
ge=num1%10;

num2++;
if(num2==60)num2=0;//用于控制变换

}
}

E. 51单片机数字电压表P0口改到P1口程序怎么改

delay(1);
EN=1;//拉高使能端,为制造有效的下降沿做准备。
delay(1);
EN=0;//en由高变低,产生下降沿,液晶执行命令
}
void write_1602dat(uchar dat)//液晶写入数据函数
{
RS=1;//数据/指令选择置为数据
P0=dat;//送入数据 *******************************这个我改成了P1
delay(1);
EN=1; //en置高电平,为制造下降沿做准备。
delay(1);
EN=0; //en由高变低,产生下降沿,液晶执行命。
}
void lcd1602_init()//液晶初始化函数
{
uchar a;
RW=0;
write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据。
write_1602com(0x0c);//开显示不显示光标
write_1602com(0x06);//整屏不移动,光标自动右移。
write_1602com(0x01);//清显示
write_1602com(0x80);//显示固定符号从第一行第0个(从第0个开始数)位置开始显示
for(a=0;a<4;a++)
{
write_1602dat(tab1[a]);//向液晶屏写固定符号部分
}
write_1602com(0x80+9);//显示固定符号写入位置,从第一行第9个(从第0个开始数)位置开始显示。
for(a=0;a<8;a++)
{
write_1602dat(tab2[a]);//写显示固定符号
}
}
/*************转速显示函数**********/
void display(unsigned long speed)//转速显示函数
{
if(speed<=99999)
{
uchar wan,qian,,shi,ge;//定义拆字变量
wan=speed/10000;//转速/10000得到万位
qian=speed%10000/1000;//转速/10000的余数/1000得到千位

阅读全文

与51单片机改装相关的资料

热点内容
word转pdfaspnet 浏览:322
服务器压力大怎么调 浏览:973
什么app可以查到装修 浏览:652
什么鱼的按摩app 浏览:501
云电脑的服务器网站 浏览:439
木工专用空气压缩机 浏览:179
synfloodlinux 浏览:86
linux卸载openssl 浏览:100
python爬虫网址要求 浏览:966
什么是金税盘服务器 浏览:437
phpsocket开发 浏览:509
caj文档转pdf 浏览:553
eclipsemaven命令配置 浏览:337
雅安视监控app叫什么名字 浏览:731
东方财富app筹码蓝色和红色是什么 浏览:566
pr安装文件夹图标变白 浏览:179
如何用服务器建设网站 浏览:349
定时闹钟单片机课程设计 浏览:537
腰椎压缩性骨折症状 浏览:466
绝地求生全军出击的服务器什么时候开 浏览:493