用C语言实现的,就是方法笨点
#include <reg51h>
#include <stringh>
unsigned char code ch[2][80]={{0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09,0x01,0x03,0x05,0x07,0x09},
{0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08,0x02,0x04,0x06,0x08}};
void init_serialcom( void ) //串口通信初始设置
{
SCON = 0x98 ; //UART为模式2,8位数据,允许接收
TMOD = 0x10 ; //定时器1为模式1
PCON = 0x80; //SMOD=1;波特率为3204K
TH1 = 0xE8 ; //装载高位
TL1 = 0x00 ; //装载地位
IE = 0x98 ; //开总中断,串口中断,定时器中断
TR1 = 1 ; // 启动定时器1
}
//向串口发送一个字符
void send_char_com( unsigned char ch)
{
ACC=ch; //将数赋值给寄存器A,计算偶校位P的值
TB8=P; //将P的值赋值给TB8,进行偶校验
SBUF=ch; //校验完后将数赋值到串口寄存器SBUF中
while(TI==0); //等待赋值完毕,发送数据到串口
TI=0; //赋值完毕后将发数标志位清零
}
//定时器中断函数
void time1() interrupt 3
{
int b;
TH1 = 0xE8 ; //装载高位
TL1 = 0x00 ; //装载地位
send_char_com(ch[0][0]);
send_char_com(ch[0][1]);
send_char_com(ch[0][2]);
send_char_com(ch[0][3]);
send_char_com(ch[0][4]);
send_char_com(ch[0][5]);
send_char_com(ch[0][6]);
send_char_com(ch[0][7]);
send_char_com(ch[0][8]);
send_char_com(ch[0][9]);
send_char_com(ch[0][10]);
send_char_com(ch[0][11]);
send_char_com(ch[0][12]);
send_char_com(ch[0][13]);
send_char_com(ch[0][14]);
send_char_com(ch[0][15]);
send_char_com(ch[0][16]);
send_char_com(ch[0][17]);
send_char_com(ch[0][18]);
send_char_com(ch[0][19]);
send_char_com(ch[0][20]);
send_char_com(ch[0][21]);
send_char_com(ch[0][22]);
send_char_com(ch[0][23]);
send_char_com(ch[0][24]);
send_char_com(ch[0][25]);
send_char_com(ch[0][26]);
send_char_com(ch[0][27]);
send_char_com(ch[0][28]);
send_char_com(ch[0][29]);
send_char_com(ch[0][30]);
send_char_com(ch[0][31]);
send_char_com(ch[0][32]);
send_char_com(ch[0][33]);
send_char_com(ch[0][34]);
send_char_com(ch[0][35]);
send_char_com(ch[0][36]);
send_char_com(ch[0][37]);
send_char_com(ch[0][38]);
send_char_com(ch[0][39]);
send_char_com(ch[0][40]);
send_char_com(ch[0][41]);
send_char_com(ch[0][42]);
send_char_com(ch[0][43]);
send_char_com(ch[0][44]);
send_char_com(ch[0][45]);
send_char_com(ch[0][46]);
send_char_com(ch[0][47]);
send_char_com(ch[0][48]);
send_char_com(ch[0][49]);
send_char_com(ch[0][50]);
send_char_com(ch[0][51]);
send_char_com(ch[0][52]);
send_char_com(ch[0][53]);
send_char_com(ch[0][54]);
send_char_com(ch[0][55]);
send_char_com(ch[0][56]);
send_char_com(ch[0][57]);
send_char_com(ch[0][58]);
send_char_com(ch[0][59]);
send_char_com(ch[0][60]);
send_char_com(ch[0][61]);
send_char_com(ch[0][62]);
send_char_com(ch[0][63]);
send_char_com(ch[0][64]);
send_char_com(ch[0][65]);
send_char_com(ch[0][66]);
send_char_com(ch[0][67]);
send_char_com(ch[0][68]);
send_char_com(ch[0][69]);
send_char_com(ch[0][70]);
send_char_com(ch[0][71]);
send_char_com(ch[0][72]);
send_char_com(ch[0][73]);
send_char_com(ch[0][74]);
send_char_com(ch[0][75]);
send_char_com(ch[0][76]);
send_char_com(ch[0][77]);
send_char_com(ch[0][78]);
send_char_com(ch[0][79]);
for(b=0;b<310;b++);
send_char_com(ch[1][0]);
send_char_com(ch[1][1]);
send_char_com(ch[1][2]);
send_char_com(ch[1][3]);
send_char_com(ch[1][4]);
send_char_com(ch[1][5]);
send_char_com(ch[1][6]);
send_char_com(ch[1][7]);
send_char_com(ch[1][8]);
send_char_com(ch[1][9]);
send_char_com(ch[1][10]);
send_char_com(ch[1][11]);
send_char_com(ch[1][12]);
send_char_com(ch[1][13]);
send_char_com(ch[1][14]);
send_char_com(ch[1][15]);
send_char_com(ch[1][16]);
send_char_com(ch[1][17]);
send_char_com(ch[1][18]);
send_char_com(ch[1][19]);
send_char_com(ch[1][20]);
send_char_com(ch[1][21]);
send_char_com(ch[1][22]);
send_char_com(ch[1][23]);
send_char_com(ch[1][24]);
send_char_com(ch[1][25]);
send_char_com(ch[1][26]);
send_char_com(ch[1][27]);
send_char_com(ch[1][28]);
send_char_com(ch[1][29]);
send_char_com(ch[1][30]);
send_char_com(ch[1][31]);
send_char_com(ch[1][32]);
send_char_com(ch[1][33]);
send_char_com(ch[1][34]);
send_char_com(ch[1][35]);
send_char_com(ch[1][36]);
send_char_com(ch[1][37]);
send_char_com(ch[1][38]);
send_char_com(ch[1][39]);
send_char_com(ch[1][40]);
send_char_com(ch[1][41]);
send_char_com(ch[1][42]);
send_char_com(ch[1][43]);
send_char_com(ch[1][44]);
send_char_com(ch[1][45]);
send_char_com(ch[1][46]);
send_char_com(ch[1][47]);
send_char_com(ch[1][48]);
send_char_com(ch[1][49]);
send_char_com(ch[1][50]);
send_char_com(ch[1][51]);
send_char_com(ch[1][52]);
send_char_com(ch[1][53]);
send_char_com(ch[1][54]);
send_char_com(ch[1][55]);
send_char_com(ch[1][56]);
send_char_com(ch[1][57]);
send_char_com(ch[1][58]);
send_char_com(ch[1][59]);
send_char_com(ch[1][60]);
send_char_com(ch[1][61]);
send_char_com(ch[1][62]);
send_char_com(ch[1][63]);
send_char_com(ch[1][64]);
send_char_com(ch[1][65]);
send_char_com(ch[1][66]);
send_char_com(ch[1][67]);
send_char_com(ch[1][68]);
send_char_com(ch[1][69]);
send_char_com(ch[1][70]);
send_char_com(ch[1][71]);
send_char_com(ch[1][72]);
send_char_com(ch[1][73]);
send_char_com(ch[1][74]);
send_char_com(ch[1][75]);
send_char_com(ch[1][76]);
send_char_com(ch[1][77]);
send_char_com(ch[1][78]);
send_char_com(ch[1][79]);
}
main()
{
init_serialcom(); //初始化串口
while (1) ;
}
我只会汇编,不会C。
很简单的。
过零检测,自然是有下降沿、上升沿了。必须使用P32(或P33) 外部中断INT0脚。设置INT0下降沿中断,中断响应后启动定时器T0(或T1)计时,定时器溢出中断时,对应脚输出高电平(根据你的电路决定是高电平还是低电平),触发可控硅导通。
定时器的初始值可以用软件随时改变。初始值越小,灯越亮,越大,灯越暗。但初始值不能大于10ms。否则进入另一个半波了,输出不正常了。
一般可以烧写
89C51
的
读写器
都能烧写2051的,烧写器上会标示出2051的摆放位置的(一般是底部对齐),然后在下载设置中选择器件类型,就可以下载了。
以上就是关于在STC单片机里写了个串口发送程序,运行正确,可把这程序烧到89C2051里面就不好使!下面试我的程序全部的内容,包括:在STC单片机里写了个串口发送程序,运行正确,可把这程序烧到89C2051里面就不好使!下面试我的程序、求单片机控制可控硅过零触发c程序 单片机是89c2051的P1^0,P1^1口。可控硅用BT136,光耦用MOC3021。、请问89C2051单片机能不能直接把相应引脚接在89C51的烧写器上下载程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)