-
大小: 1019KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-09-28
- 語言: 其他
- 標簽:
資源簡介
51單片機時鐘電路(LCD1602顯示)完整源碼與仿真,適用于51單片機初學者

代碼片段和文件信息
#include?
#include?
//#include?“LCD1602.h“
//#include?“DS1302.h“
#define?uint?unsigned?int
#define?uchar?unsigned?char
sbit??DS1302_CLK?=?P1^7;??????????????//實時時鐘時鐘線引腳?
sbit??DS1302_IO??=?P1^6;??????????????//實時時鐘數據線引腳?
sbit??DS1302_RST?=?P1^5;?????????/*?????//實時時鐘復位線引腳 ??
sbit??wireless_1?=?P3^0;
sbit??wireless_2?=?P3^1; ???
sbit??wireless_3?=?P3^2;
sbit??wireless_4?=?P3^3; ???*/
sbit??ACC0?=?ACC^0;
sbit??ACC7?=?ACC^7;
char?hide_sechide_minhide_hourhide_dayhide_weekhide_monthhide_year;??//秒分時到日月年位閃的計數
sbit?Set?=?P3^0;???????//模式切換鍵
sbit?Up?=?P3^1;????????//加法按鈕
sbit?Down?=?P3^2;??????//減法按鈕
sbit?out?=?P3^3;???????//立刻跳出調整模式按鈕
sbit?DQ?=?P1^0;????????//溫度傳送數據IO口
char?donecounttempflagup_flagdown_flag;????//
uchar?temp_value;??????//溫度值
uchar?TempBuffer[5]week_value[2];??????????????//
void?show_time();???//液晶顯示程序
/***********1602液晶顯示部分子程序****************/
//Port?Definitions**********************************************************
sbit?LcdRs =?P2^5;
sbit?LcdRw =?P2^6;
sbit?LcdEn?? =?P2^7;
sfr??DBPort? =?0x80; //P0=0x80P1=0x90P2=0xA0P3=0xB0.數據端口
//內部等待函數**************************************************************************
unsigned?char?LCD_Wait(void)
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
?
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);
}
//初始化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_
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1664??2011-05-02?21:15??DS1302時鐘+DS18B20+LCD1602\DS1302.PWI
?????文件?????468145??2008-01-19?19:36??DS1302時鐘+DS18B20+LCD1602\DS1820_CH.pdf
?????文件??????22080??2011-05-02?17:13??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.c
?????文件???????5830??2007-07-21?21:23??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.h
?????文件???????7533??2011-05-02?17:13??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.hex
?????文件?????????44??2011-05-02?17:13??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.lnp
?????文件??????41186??2011-05-02?17:13??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.M51
?????文件????????358??2011-05-02?21:16??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.plg
?????文件???????3771??2005-09-18?23:23??DS1302時鐘+DS18B20+LCD1602\Keil\LCD1602.h
????..A.SH.????????10??2006-12-17?08:33??DS1302時鐘+DS18B20+LCD1602\Keil\_desktop.ini
?????文件??????45817??2011-05-02?17:13??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.LST
?????文件??????38046??2011-05-02?17:13??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.OBJ
?????文件??????31929??2011-05-02?17:13??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302
????.......??????2093??2008-03-13?11:01??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302_Uv2.Bak
?????文件???????2064??2011-05-02?21:16??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.Uv2
????.......??????1490??2008-03-13?11:43??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302_Opt.Bak
?????文件???????1480??2011-05-02?21:16??DS1302時鐘+DS18B20+LCD1602\Keil\DS1302.Opt
?????文件?????262017??2008-01-13?21:33??DS1302時鐘+DS18B20+LCD1602\LCD1602液晶中文資料.pdf
?????文件??????19633??2007-09-12?14:28??DS1302時鐘+DS18B20+LCD1602\LISA1.SDF
????..A.SH.????????10??2006-12-17?08:33??DS1302時鐘+DS18B20+LCD1602\_desktop.ini
?????文件?????135093??2008-03-13?12:50??DS1302時鐘+DS18B20+LCD1602\效果顯示圖.gif
?????文件?????210930??2008-01-19?19:14??DS1302時鐘+DS18B20+LCD1602\時鐘芯片DS1302_CH.pdf
?????文件?????155418??2011-05-02?20:19??DS1302時鐘+DS18B20+LCD1602\Last?Loaded?DS1302.DBK
?????文件?????155418??2011-05-02?20:19??DS1302時鐘+DS18B20+LCD1602\DS1302.DSN
?????目錄??????????0??2008-03-13?11:43??DS1302時鐘+DS18B20+LCD1602\Keil
?????目錄??????????0??2008-03-13?12:50??DS1302時鐘+DS18B20+LCD1602
-----------?---------??----------?-----??----
??????????????1612059????????????????????26
- 上一篇:數字電路與邏輯設計鄒虹版課后習題答案
- 下一篇:華為射頻基礎知識培訓
評論
共有 條評論