資源簡介
51c語言代碼循跡智能小車+proteus仿真
代碼片段和文件信息
#include
#include?“1602.h“
#include
void?LCD_Init()
{
DelayMs(15);?//延遲15ms,等待LCD電源穩定使其進入工作狀態
LCD_IO?=?0x00;
LCD_Write_Command(LCD_DISPLAY_DOUBLE_LINE);?
DelayMs(5);?
LCD_Write_Command(LCD_DISPLAY_DOUBLE_LINE);?
DelayMs(5);?
LCD_Write_Command(LCD_DISPLAY_DOUBLE_LINE);?//顯示模式設置為兩行顯示,8位數據接口,5*8點陣
DelayMs(5);
LCD_Write_Command(LCD_AC_AUTO_INCREMENT?|?LCD_MOVE_DISENABLE);?//數據讀、寫操作后AC自動增一畫面不動
DelayMs(5);
LCD_Write_Command(LCD_DISPLAY_ON?|?LCD_CURSOR_OFF);?//顯示開,光標不顯示
DelayMs(5);
LCD_Write_Command(LCD_CLEAR_SCREEN);?//清除LCD顯示內容?
}
/************延遲函數*******************************/
void?DelayUs(uchar?us)//delay?us
{
unsigned?char?uscnt;
uscnt=us>>1;?/*?Crystal?frequency?in?12MHz*/
while(--uscnt);
}
void?DelayMs(uchar?ms)//delay?Ms
{
while(--ms)
{
DelayUs(250);
DelayUs(250);
DelayUs(250);
DelayUs(250);
}
}
/************LCD1602寫指令*******************************/
void?LCD_Write_Command(uchar?com)
{
LCD_Check_Busy();
LCD_RS?=?LOW;
LCD_RW?=?LOW;
_nop_();?//一個_nop_();是一個機器周期,是1us
LCD_EN?=?HIGH;
LCD_IO?=?com;
LCD_EN?=?LOW;
}
/********************************************************/
/*****************LCD1602寫數據**************************/
void?LCD_Write_Data(uchar?dat)
{
LCD_Check_Busy();
LCD_RS?=?HIGH;
LCD_RW?=?LOW;
_nop_();
LCD_EN=HIGH;
LCD_IO=dat;
LCD_EN=LOW;
}
/********************************************************/
/**********************顯示一個字節**************************/
void?LCD_Char(uchar?x?uchar?line?uchar?dat)?//從第x開始寫一個字節
{
unsigned?char?address;
if?(line?==?LINE1)?//?line=0,為第一行
address?=?LINE1_HEAD?+?x;
else?//?否則為第二行
address?=?LINE2_HEAD?+?x;
LCD_Write_Command(address);?
LCD_Write_Data(dat);
}
/********************************************************/
/******************LCD1602顯示字符串*********************/
void?LCD_Str(uchar?xuchar?lineuchar?*Str)?//從第line行的第x位置開始顯示字符串
{
uchar?i?=?x;
if?(line?==?LINE1)
{
while(?*Str?!=?‘\0‘)
LCD_Char(i++?0?*Str++);
}
else?
{
while(?*Str?!=?‘\0‘)
LCD_Char(i++?1?*Str++);
}
}
/***************************LCD忙碌狀態*******************************/
void?LCD_Check_Busy(void)?//檢測LCD狀態看它是不是還在忙呢
{
do
{
LCD_EN=0;
LCD_RS=0;
LCD_RW=1;
LCD_IO=0xff;
LCD_EN=1;
}
while?(LCD_BUSY==1);
LCD_EN=0;
}
/*****************屏幕閃爍********************/
void?LCD_Flash(uchar?time)
{?
//控制停留時間
LCD_Write_Command(LCD_DISPLAY_OFF);?//關閉顯示
DelayMs(time);?
//延時
LCD_Write_Command(LCD_DISPLAY_ON);?//開顯示
DelayMs(time);
LCD_Write_Command(LCD_DISPLAY_OFF);?//關閉顯示
DelayMs(time);?
//延時
LCD_Write_Command(LCD_DISPLAY_ON);?//開顯示
DelayMs(time);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-04-05?11:06??循跡小車+仿真\
?????目錄???????????0??2014-03-30?20:29??循跡小車+仿真\HARDWARE\
?????文件????????2881??2013-12-28?16:51??循跡小車+仿真\HARDWARE\1602.c
?????文件????????2462??2014-03-30?19:20??循跡小車+仿真\HARDWARE\1602.h
?????文件????????1612??2013-08-20?12:58??循跡小車+仿真\HARDWARE\pid.c
?????文件?????????728??2013-08-20?12:58??循跡小車+仿真\HARDWARE\pid.h
?????文件????????1528??2014-03-30?19:55??循跡小車+仿真\HARDWARE\pwm.c
?????文件?????????265??2014-03-30?18:32??循跡小車+仿真\HARDWARE\pwm.h
?????文件????????1085??2014-03-30?20:22??循跡小車+仿真\HARDWARE\xunji.c
?????文件??????????81??2014-03-30?19:42??循跡小車+仿真\HARDWARE\xunji.h
?????文件?????????399??2011-04-23?10:24??循跡小車+仿真\keilkilll.bat
?????文件??????119998??2014-03-30?20:23??循跡小車+仿真\Last?Loaded?循跡.DBK
?????文件??????920155??2014-04-05?11:05??循跡小車+仿真\QQ截圖6.jpg
?????目錄???????????0??2014-04-05?11:14??循跡小車+仿真\USER\
?????文件?????????554??2014-03-30?17:38??循跡小車+仿真\USER\1602?.lst
?????文件?????????114??2014-03-30?17:38??循跡小車+仿真\USER\1602?.__i
?????文件????????6149??2014-03-30?19:20??循跡小車+仿真\USER\1602.lst
?????文件???????10551??2014-03-30?19:20??循跡小車+仿真\USER\1602.obj
?????文件?????????111??2014-03-30?19:20??循跡小車+仿真\USER\1602.__i
?????文件?????????591??2014-04-05?11:46??循跡小車+仿真\USER\main.c
?????文件????????1861??2014-04-05?11:14??循跡小車+仿真\USER\main.LST
?????文件????????5066??2014-04-05?11:14??循跡小車+仿真\USER\main.OBJ
?????文件??????????62??2014-04-05?11:14??循跡小車+仿真\USER\main.__i
?????文件????????4393??2014-03-30?19:55??循跡小車+仿真\USER\pwm.lst
?????文件????????6973??2014-03-30?19:55??循跡小車+仿真\USER\pwm.obj
?????文件?????????108??2014-03-30?19:55??循跡小車+仿真\USER\pwm.__i
?????文件????????6376??2009-05-07?14:37??循跡小車+仿真\USER\STARTUP.A51
?????文件???????14048??2014-03-30?17:31??循跡小車+仿真\USER\STARTUP.LST
?????文件?????????749??2014-03-30?17:31??循跡小車+仿真\USER\STARTUP.OBJ
?????文件????????3725??2014-03-30?20:22??循跡小車+仿真\USER\xunji.lst
?????文件????????6895??2014-03-30?20:22??循跡小車+仿真\USER\xunji.obj
............此處省略12個文件信息
評論
共有 條評論