資源簡介
用80C51單片機產生頻率為1000hz的方波信號,并在lcd液晶屏顯示頻率和周期,然后用另一片51單片機測試頻率周期和脈寬并在lcd液晶屏顯示測試結果

代碼片段和文件信息
#include
?
#define?uint?unsigned?int?
#ifndef?LCD_CHAR_1602_2005_4_9
#define?LCD_CHAR_1602_2005_4_9
#include?
sbit?pwm=P1^0;
sbit?LcdRs =?P2^0;
sbit?LcdRw =?P2^1;
sbit?LcdEn?? =?P2^2;
sfr??DBPort? =?0x80; //P0=0x80P1=0x90P2=0xA0P3=0xB0.數據端口
//內部等待函數**************************************************************************
unsigned?char?LCD_Wait(void)
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
//while(DBPort&0x80);//在用Proteus仿真時,注意用屏蔽此語句,在調用GotoXY()時,會進入死循環,
?//可能在寫該控制字時,該模塊沒有返回寫入完備命令,即DBPort&0x80==0x80
?//實際硬件時打開此語句
LcdEn=0;
return?DBPort;
}
//向LCD寫入命令或數據************************************************************
#define?LCD_COMMAND 0??????//?Command
#define?LCD_DATA 1??????//?Data
#define?LCD_CLEAR_SCREEN 0x01??????//?清屏
#define?LCD_HOMING?? 0x02??????//?光標返回原點
void?LCD_Write(bit?style?unsigned?char?input)
{
LcdEn=0;
LcdRs=style;
LcdRw=0; _nop_();
DBPort=input; _nop_();//注意順序
LcdEn=1; _nop_();//注意順序
LcdEn=0; _nop_();
LCD_Wait();
}
//設置顯示模式************************************************************
#define?LCD_SHOW 0x04????//顯示開
#define?LCD_HIDE 0x00????//顯示關 ??
#define?LCD_CURSOR 0x02? //顯示光標
#define?LCD_NO_CURSOR 0x00????//無光標 ?????
#define?LCD_FLASH 0x01????//光標閃動
#define?LCD_NO_FLASH 0x00????//光標不閃動
void?LCD_SetDisplay(unsigned?char?DisplayMode)
{
LCD_Write(LCD_COMMAND?0x08|DisplayMode);
}
//設置輸入模式************************************************************
#define?LCD_AC_UP 0x02
#define?LCD_AC_DOWN 0x00??????//?default
#define?LCD_MOVE 0x01??????//?畫面可平移
#define?LCD_NO_MOVE 0x00??????//default
void?LCD_SetInput(unsigned?char?InputMode)
{
LCD_Write(LCD_COMMAND?0x04|InputMode);
}
//移動光標或屏幕************************************************************
/*
#define?LCD_CURSOR 0x02??????
#define?LCD_SCREEN 0x08
#define?LCD_LEFT 0x00
#define?LCD_RIGHT 0x04
void?LCD_Move(unsigned?char?object?unsigned?char?direction)
{
if(object==LCD_CURSOR)
LCD_Write(LCD_COMMAND0x10|direction);
if(object==LCD_SCREEN)
LCD_Write(LCD_COMMAND0x18|direction);
}
*/
//初始化LCD************************************************************
void?LCD_Initial()
{
LcdEn=0;
LCD_Write(LCD_COMMAND0x38);???????????//8位數據端口2行顯示5*7點陣
LCD_Write(LCD_COMMAND0x38);
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);????//開啟顯示?無光標
LCD_Write(LCD_COMMANDLCD_CLEAR_SCREEN);???//清屏
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);???????//AC遞增?畫面不動
}
//************************************************************************
void?GotoXY(unsigned?char?x?unsigned?char?y)
{
if(y==0)
LCD_Write(LCD_COMMAND0x80|x);
if(y==1)
LCD_Write(LCD_COMMAND0x80|(x-0x40));
}
void?Print(unsigned?char?*str)
{
while(*str!=‘\0‘)
{
LCD_Write(LCD_DATA*str);
str++;
}
}
/*
void?LCD_LoadChar(unsigned?char?user[8]?unsigned?char?place)
{
unsigned?char?i;
LCD_Write(LCD_COMMAND0x40|(place*8
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-05-15?21:26??B09010407?-?頻率計\
?????文件??????113280??2012-05-15?21:26??B09010407?-?頻率計\B09010407.DSN
?????文件????????1126??2012-05-15?21:26??B09010407?-?頻率計\B09010407.PWI
?????目錄???????????0??2012-05-15?21:06??B09010407?-?頻率計\FangBo\
?????文件????????6376??2008-09-23?09:16??B09010407?-?頻率計\FangBo\STARTUP.A51
?????文件???????14048??2012-05-15?21:06??B09010407?-?頻率計\FangBo\STARTUP.LST
?????文件?????????758??2012-05-15?21:06??B09010407?-?頻率計\FangBo\STARTUP.OBJ
?????文件????????9325??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo
?????文件???????10171??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo.LST
?????文件???????13274??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo.M51
?????文件???????10339??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo.OBJ
?????文件?????????905??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo.Opt
?????文件????????2185??2012-05-13?23:16??B09010407?-?頻率計\FangBo\fangbo.Uv2
?????文件????????5055??2012-05-15?20:51??B09010407?-?頻率計\FangBo\fangbo.c
?????文件????????1999??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo.hex
?????文件??????????45??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo.lnp
?????文件????????1419??2012-05-15?21:06??B09010407?-?頻率計\FangBo\fangbo.plg
?????文件?????????905??2012-05-15?20:52??B09010407?-?頻率計\FangBo\fangbo_Opt.Bak
?????文件????????2181??2012-05-11?21:28??B09010407?-?頻率計\FangBo\fangbo_Uv2.Bak
?????文件??????113378??2012-05-15?21:25??B09010407?-?頻率計\Last?Loaded?B09010407.DBK
?????目錄???????????0??2012-05-15?21:25??B09010407?-?頻率計\pinlvji\
?????文件????????6376??2008-09-23?09:16??B09010407?-?頻率計\pinlvji\STARTUP.A51
?????文件???????14048??2012-05-15?21:23??B09010407?-?頻率計\pinlvji\STARTUP.LST
?????文件?????????758??2012-05-15?21:23??B09010407?-?頻率計\pinlvji\STARTUP.OBJ
?????文件???????22740??2012-05-15?21:23??B09010407?-?頻率計\pinlvji\pinglvji.LST
?????文件???????24547??2012-05-15?21:23??B09010407?-?頻率計\pinlvji\pinglvji.OBJ
?????文件???????10967??2012-05-15?21:23??B09010407?-?頻率計\pinlvji\pinglvji.c
?????文件???????23555??2012-05-15?21:23??B09010407?-?頻率計\pinlvji\pinlvji
?????文件???????26915??2012-05-15?21:23??B09010407?-?頻率計\pinlvji\pinlvji.M51
?????文件????????1040??2012-05-15?21:25??B09010407?-?頻率計\pinlvji\pinlvji.Opt
?????文件????????2190??2012-05-11?21:40??B09010407?-?頻率計\pinlvji\pinlvji.Uv2
............此處省略5個文件信息
- 上一篇:酒店管理系統畢業設計源碼
- 下一篇:QtDesigner快速入門.pdf
評論
共有 條評論