欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
lcd1602顯示的單片機(jī)萬(wàn)年歷的制作
[打印本頁(yè)]
作者:
@單片機(jī)。。。
時(shí)間:
2017-11-17 21:22
標(biāo)題:
lcd1602顯示的單片機(jī)萬(wàn)年歷的制作
原理圖:
1602萬(wàn)年歷電路圖.doc
(58 KB, 下載次數(shù): 18)
2017-11-17 21:15 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
單片機(jī)源程序如下:
#include<reg52.h>
//#include"DS18B20_3.H"
#include <string.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define wd 1 //定義是否有溫度功能 =0時(shí)無(wú)溫度,=1時(shí)有溫度
#include "eeprom52.h"
#define yh 0x80 //LCD第一行的初始位置,因?yàn)長(zhǎng)CD1602字符地址首位D7恒定為1(100000000=80)
#define er 0x80+0x40 //LCD第二行初始位置(因?yàn)榈诙械谝粋(gè)字符位置地址是0x40)
//液晶屏的與C51之間的引腳連接定義(顯示數(shù)據(jù)線(xiàn)接C51的P0口)
sbit en=P2^7;
sbit rw=P2^6; //如果硬件上rw接地,就不用寫(xiě)這句和后面的rw=0了
sbit rs=P2^5;
//校時(shí)按鍵與C51的引腳連接定義
sbit set=P3^0; //設(shè)置鍵
sbit add=P3^1; //加鍵
sbit dec=P3^2; //減鍵
sbit seeNL_NZ=P3^3; //查看農(nóng)歷/鬧鐘
sbit DQ=P3^7; //
sbit buzzer=P2^0; //蜂鳴器,通過(guò)三極管8550驅(qū)動(dòng),端口低電平響
sbit led=P2^4; //LCD背光開(kāi)關(guān)
bit led1=1;
bit NZ_sdgb=1;
unsigned char temp_miao;
unsigned char bltime; //背光亮的時(shí)間
//DS1302時(shí)鐘芯片與C51之間的引腳連接定義
sbit IO=P1^1;
sbit SCLK=P1^0;
sbit RST=P1^2;
char a,miao,shi,fen,ri,yue,nian,week,setn,temp;
uint flag;
//flag用于讀取頭文件中的溫度值,和顯示溫度值
bit c_moon;
char nz_shi,nz_fen,setNZn; //定義鬧鐘變量
uchar shangyimiao,bsn,temp_hour; //記錄上一秒時(shí)間
uchar T_NL_NZ; //計(jì)數(shù)器
bit timerOn=0; //鬧鐘啟用標(biāo)志位
bit baoshi=0; //整點(diǎn)報(bào)時(shí)標(biāo)志位
bit p_r=0; //平年/潤(rùn)年 =0表示平年,=1表示潤(rùn)年
data uchar year_moon,month_moon,day_moon;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
/************************************************************
ACC累加器=A
ACC.0=E0H
ACC.0就是ACC的第0位。Acc可以位尋址。
累加器ACC是一個(gè)8位的存儲(chǔ)單元,是用來(lái)放數(shù)據(jù)的。但是,這個(gè)存儲(chǔ)單元有其特殊的地位,
是單片機(jī)中一個(gè)非常關(guān)鍵的單元,很多運(yùn)算都要通過(guò)ACC來(lái)進(jìn)行。以后在學(xué)習(xí)指令時(shí),
常用A來(lái)表示累加器。但有一些地方例外,比如在PUSH指令中,就必須用ACC這樣的名字。
一般的說(shuō)法,A代表了累加器中的內(nèi)容、而ACC代表的是累加器的地址。
***************************************************************/
/******************把數(shù)據(jù)保存到單片機(jī)內(nèi)部eeprom中******************/
void write_eeprom()
{
SectorErase(0x2000);
byte_write(0x2000, nz_shi);
byte_write(0x2001, nz_fen);
byte_write(0x2002, timerOn);
byte_write(0x2060, a_a);
}
/******************把數(shù)據(jù)從單片機(jī)內(nèi)部eeprom中讀出來(lái)*****************/
void read_eeprom()
{
nz_shi = byte_read(0x2000);
nz_fen = byte_read(0x2001);
timerOn = byte_read(0x2002);
a_a = byte_read(0x2060);
}
/**************開(kāi)機(jī)自檢eeprom初始化*****************/
void init_eeprom()
{
read_eeprom(); //先讀
if(a_a != 1) //新的單片機(jī)初始單片機(jī)內(nèi)問(wèn)eeprom
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
1-程序.zip
(125.83 KB, 下載次數(shù): 19)
2017-11-17 21:15 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1