智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: wu8624272
打印 上一主题 下一主题

第四届创意赛技术报告

  [复制链接]

5

主题

125

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
456
威望
303
贡献
41
兑换币
0
注册时间
2009-8-26
在线时间
56 小时
161#
发表于 2010-3-26 18:31:37 | 只看该作者
谢谢
回复 支持 反对

使用道具 举报

7

主题

125

帖子

0

精华

金牌会员

shuxinxiaozi

Rank: 6Rank: 6

积分
1169
威望
362
贡献
755
兑换币
0
注册时间
2010-3-8
在线时间
26 小时
162#
发表于 2010-3-27 21:27:33 | 只看该作者
顶下,师兄真牛@
回复 支持 反对

使用道具 举报

1

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
威望
246
贡献
24
兑换币
4
注册时间
2010-2-22
在线时间
14 小时
163#
发表于 2010-3-28 13:03:37 | 只看该作者
dddddddddd
回复 支持 反对

使用道具 举报

1

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
威望
319
贡献
34
兑换币
0
注册时间
2009-12-2
在线时间
8 小时
164#
发表于 2010-4-1 21:03:57 | 只看该作者
5#
发表于 2007-6-9 02:44 | 只看该作者
Re:上届华中科技大学的程序清单
/* fficeffice" />

***********************************************************************************

* Test.c

* Description: This file includes I/ O function for test, the PWM outputs function for test, function

* testing sensors.

* (c) Copyright 2006,Zhao Cheng

* All Rights Reserved

*

* By : Zhao Cheng

* Note : Don't change this file if possible.

**********************************************************************************/

#include <hidef.h>

#include <mc9s12dg128.h>

#define HIGHSPEED 8000

#define LOWSPEED 11000 /* 速度变量,0-24000 数值越大,速度越慢 */

void PWMout(int, int);

/* 24000-20000 */

void IOtest(void)

{

static unsigned char i=0,j=0x01,k;

DDRB = DDRA = 0xFF;

PORTB = 0xf0;

for(;;)

{

k=(~j)&0xffice:smarttags" />7f;

PORTA = PORTB = k;

while (TCNT != 0x0000);

while (TCNT == 0x0000)

{

if(i>9)

{

j=j<<1;

i=0;

}

i++;

}

if(j>=0x80)

j=0x01;

}

}

void PWMtest(void)

{

int counter=-4500;

DDRB = 0xff;

PORTB = 0xff;

TSCR1 = 0x80; /* enable timer TCNT */

TSCR2 = 0x00; /* TCNT prescaler setup */

for(;;)

{

while (TCNT != 0x0000);

while (TCNT == 0x0000);

counter=counter+30;

if(counter >= 3000)

{

counter = 0;

PWMout(4500, LOWSPEED);

}

if(counter == 1500)

{

PWMout(-4500, LOWSPEED);

}

PORTB = (char)(counter/100);

}

}

void SignalTest(void)

{

unsigned char signal;

int Direction, Velocity;

Direction = 0;

Velocity = LOWSPEED;

DDRA = 0x00;

DDRB = 0xff;

signal = PORTA;

PORTB = ~signal;

switch(signal)

{

case 0x08: /* 0001 1000 */

case 0x10:

Direction = 800;

Velocity = HIGHSPEED;

break;

case 0x04: /* 0010 0100 */

case 0x20:

Direction = 1500;

Velocity = HIGHSPEED;

break;

case 0x02: /* 0100 0010 */

case 0x40:

Direction = 2800;

Velocity = HIGHSPEED;

break;

case 0x01: /* 1000 0001 */

case 0x80:

Direction = 4000;

Velocity = LOWSPEED;

break;

case 0x3c: /* 0011 1100 over start line */

case 0xff: /* 1111 1111 over crossing line */

case 0x00: /* 0000 0000 go straight not need changed state */

default:

break;

}

if(signal > 0x0f)

Direction = -Direction;

PWMout(Direction, LOWSPEED);

}

/*

***********************************************************************************

* LCD1620.c

* ICC-AVR application builder : 2006-1-8 21:43:48

* Target : M8

* Crystal: 4.0000Mhz

*

* Note : Don't change this file if possible.

**********************************************************************************/

#define CMD_CLEAR 0x01

#define CMD_RESET 0x02

#include <iom8v.h>

#include <macros.h>

#define LCD_DATA 0xff

#define LCD_EN 0x01 //PORTC 0

#define LCD_RS 0x02 //PORTC 1

#define LCD_RW 0x04 //PORTC 2

#define LCD_DATAPORT PORTB

#define LCD_ENPORT PORTA

#define LCD_RSPORT PORTA

#define LCD_RWPORT PORTA

void lcd_init(void);

void lcd_write_cmd(unsigned cmd,unsigned data);

void lcd_setxy(unsigned char x,unsigned char y);

void lcd_write_string(unsigned char X,unsigned char Y,unsigned char *str);

void delay_nus(unsigned int n);

void delay_nms(unsigned int n);

void lcd_init(void)

{

DDRB |= LCD_DATA;

DDRA |= LCD_EN | LCD_RS | LCD_RW;

LCD_RWPORT&=~LCD_RW;

LCD_DATAPORT=0x30; //控制字规则:5:8bit,4:16x2,3:5x7

LCD_ENPORT|=LCD_EN;

delay_nus(1);

LCD_ENPORT&=~LCD_EN;

delay_nus(40);

lcd_write_cmd(0,0x38); //8bit test

lcd_write_cmd(0,0x0c); //显示开

lcd_write_cmd(0,0x01); //显示清屏

lcd_write_cmd(0,0x06); //显示光标移动设置

}

void lcd_write_cmd(unsigned cmd,unsigned data)

{

if(cmd==0)

LCD_RSPORT&=~LCD_RS;

else

LCD_RSPORT|=LCD_RS;

LCD_DATAPORT&=0x00;

LCD_DATAPORT=data;

LCD_ENPORT|=LCD_EN;

delay_nus(10);

LCD_ENPORT&=~LCD_EN;

delay_nus(10);

}

void lcd_setxy(unsigned char x,unsigned char y)

{

unsigned char addr;

if(y==0)

addr=x+0x80;

else

addr=x+0xc0;

lcd_write_cmd(0,addr);

}

void lcd_write_string(unsigned char X,unsigned char Y,unsigned char *str)

{

lcd_setxy(X,Y);

while(*str)

{

lcd_write_cmd(1,*str);

str++;

}

}

void delay_1us(void) //1us延时函数

{

asm("nop");

}

void delay_nus(unsigned int n) //N us延时函数

{

unsigned int i=0;

for (i=0;i<n;i++)

delay_1us();

}

void delay_1ms(void) //1ms延时函数

{

unsigned int i;

for (i=0;i<1140;i++);

}

void delay_nms(unsigned int n) //N ms延时函数

{

unsigned int i=0;

for (i=0;i<n;i++)

delay_1ms();

}

//call this routine to initialize all peripherals

void main(void)

{

lcd_init();

while(1)

{

lcd_write_cmd(0,0x01); //清屏

delay_nms(2);

lcd_write_string(0,0,"happy new year");

delay_nms(100);

lcd_write_string(0,1,"LCD successful!");

delay_nms(100);

}

}

/******************************* 程序结束 *********************************/
回复 支持 反对

使用道具 举报

1

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
威望
319
贡献
34
兑换币
0
注册时间
2009-12-2
在线时间
8 小时
165#
发表于 2010-4-1 21:04:11 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
威望
319
贡献
34
兑换币
0
注册时间
2009-12-2
在线时间
8 小时
166#
发表于 2010-4-1 21:04:15 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

高级会员

Rank: 4

积分
768
威望
218
贡献
536
兑换币
26
注册时间
2010-1-23
在线时间
7 小时
167#
发表于 2010-4-1 21:19:14 | 只看该作者
谢谢楼主哈
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
270
QQ
威望
240
贡献
26
兑换币
0
注册时间
2010-1-19
在线时间
2 小时
168#
发表于 2010-4-1 21:29:50 | 只看该作者
ai
回复 支持 反对

使用道具 举报

2

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
339
QQ
威望
268
贡献
21
兑换币
0
注册时间
2010-2-24
在线时间
25 小时
169#
发表于 2010-4-1 23:13:37 | 只看该作者
回复 10# zxzxy1988


    好好    好好
    好好
  好好    好好
    好好  好好    好好
    好好  好好    好好
    好好  好好    好好
    好好
回复 支持 反对

使用道具 举报

2

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
339
QQ
威望
268
贡献
21
兑换币
0
注册时间
2010-2-24
在线时间
25 小时
170#
发表于 2010-4-1 23:13:43 | 只看该作者
好好    好好
    好好  好好    好好
    好好  好好    好好
    好好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 20:44 , Processed in 0.086315 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表