您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页51单片机自动循迹小车程序(调试后)

51单片机自动循迹小车程序(调试后)

来源:图艺博知识网


调试后51单片机自动循迹小车程序

#define P_IOA_Data (volatile unsigned int *)0x7000 #define P_IOA_Dir (volatile unsigned int *)0x7002 #define P_IOA_Attrib (volatile unsigned int *)0x7003 unsigned int scan();//检测黑线函数定声明 unsigned int num=0; void delay();

void init_1()//输入初始化 {

[P_IOA_Dir]=0x00f0; [P_IOA_Attrib]=0x00f0; [P_IOA_Data]=0x000f; }

//void init_2()//输出初始化 //{

//[P_IOA_Dir]=1; //[P_IOA_Attrib]=1; //[P_IOA_Data]=0; //}

void main() {

while(1) {

void init_1(); num=scan(); //void init_2(); switch(num) {

case 1: {

while(1) {

[P_IOA_Data]=0x9f; delay(500);

// if([P_IOA_Data]==1)//传感器返回1,则终止转弯,下同 break; } }

case 2: {

while(1)

{

[P_IOA_Data]=0x9f; delay(500); break; } }

case 4: {

while(1) {

[P_IOA_Data]=0x6f; delay(500); break; } }

case 5: {

while(1) {

[P_IOA_Data]=0x6f; delay(500); break; } }

case 0: {

while(1) {

[P_IOA_Data]=0x5f; delay(500); break; } }

}

[P_IOA_Data]=0x5f;//直走 delay(500); } }

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--) for(y=110;y>0;y--); }

unsigned int scan() {

if(P_IOA_Data==0xfe) {

num=1; return num; }

if(line_2==0xfd) {

num=2; return num; }

if(line_4==0xfb) {

num=4; return num; }

if(line_5==0xf7) {

num=5; return num; }

return 0; }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务