单片机解密AT32F437软件开发源码芯片设计 时间:2026-09-21 来源: 芯片解密 浏览:2次 字号:大 中 小 源程序:main.c:#include<stc12c5a.h>#include <stdio.h>#include <string.h>#include<stdlib.h>#include<math.h>#include<intrins.h>#include "LCD.h"uchar table[24]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};uchar wind_direction[8]={0x01,0x03,0x00,0x00,0x00,0x02,0xC4,0x0B};//风向传感器问询帧uchar wind_direction1[2]={0x00,0x00};//单片机接收风向数据void delay(uint z)//延时函数{ uint x,y; for(x=z;x>0;x--); for(y=110;y>0;y--);}void init() //系统初始化{TMOD=0X20;//定时器T1,方式2,波特率由PCON寄存器的SMOD决定TH1=0xfa;TL1=0xfa;TR1=1;//定时器1中断SCON=0x50;//方式1 SCON是串行口1的串行控制寄存器 PCON=0x00;//各工作方式波特率加倍TR1=1;//定时器1开始工作IP=0X10; EA=1; ES=1;}void main(){ init(); while(1) { int i; for(i=0;i<8;i++) { SBUF=wind_direction[i]; while(!TI); //数据发送结束时TI置1 TI=0; } lcd1602_show(0x80,wind_direction1[0]); }}void UART_1() interrupt 4{ int i=0; //接收完缓冲数据后RI置1 if(RI)//如果RI为1 { RI=0; //RI置0 table[i++]=SBUF; if(i>8) { wind_direction1[0]=table[3];//风向数据给wind_direction1[0] } }} 上一篇:单片机解密AT32F407软件开发源码芯片设计 下一篇:IC解密飞思卡尔s12x单片机开发