找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3566|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)時(shí)鐘,鬧鐘,溫度,農(nóng)歷PCB文件+Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
51單片機(jī)時(shí)鐘,鬧鐘,溫度,農(nóng)歷仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機(jī)源程序如下:
#include<reg52.h>
#include <string.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define wd 1                        //定義是否有溫度功能  =0時(shí)無溫度,=1時(shí)有溫度


#define yh 0x80 //LCD第一行的初始位置,因?yàn)?/font>LCD1602字符地址首位D7恒定為1100000000=80
#define er 0x80+0x40 //LCD第二行初始位置(因?yàn)榈诙械谝粋(gè)字符位置地址是0x40

//液晶屏的與C51之間的引腳連接定義(顯示數(shù)據(jù)線接C51P0口)
sbit en=P2^6;
sbit rw=P2^5;   //如果硬件上rw接地,就不用寫這句和后面的rw=0
sbit rs=P2^4;


//校時(shí)按鍵與C51的引腳連接定義

sbit menu=P3^0;           //菜單鍵
sbit set=P3^1;       //設(shè)置鍵
sbit add=P3^2;     //加鍵
sbit dec=P3^3;      //減鍵
sbit ensure=P3^4;   //確認(rèn)鍵

sbit DQ=P2^0;              //
sbit buzzer=P1^4;   //蜂鳴器,通過三極管8550驅(qū)動(dòng),端口低電平響

sbit led=P2^4;              //LCD背光開關(guān)
bit led1=1;

unsigned char temp_miao;
unsigned char bltime;  //背光亮的時(shí)間

//DS1302時(shí)鐘芯片與C51之間的引腳連接定義
sbit IO=P1^1;
sbit SCLK=P1^2;
sbit RST=P1^0;


uchar a,miao,shi,fen,ri,yue,nian,week,setn,temp;
uint flag;
//flag用于讀取頭文件中的溫度值,和顯示溫度值
bit c_moon;

ucharnz_shi=12,nz_fen=0,nz_miao=0,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 ucharyear_moon,month_moon,day_moon,week;



sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
/************************************************************
ACC累加器=A
ACC.0=E0H

ACC.0就是ACC的第0位。Acc可以位尋址。

累加器ACC是一個(gè)8位的存儲(chǔ)單元,是用來放數(shù)據(jù)的。但是,這個(gè)存儲(chǔ)單元有其特殊的地位,
是單片機(jī)中一個(gè)非常關(guān)鍵的單元,很多運(yùn)算都要通過ACC來進(jìn)行。以后在學(xué)習(xí)指令時(shí),
常用A來表示累加器。但有一些地方例外,比如在PUSH指令中,就必須用ACC這樣的名字。
一般的說法,A代表了累加器中的內(nèi)容、而ACC代表的是累加器的地址。
***************************************************************/



//********陽歷轉(zhuǎn)換陰歷表************************************

1 原理圖及PCB.rar

533.66 KB, 下載次數(shù): 57, 下載積分: 黑幣 -5

2 程序.rar

134.85 KB, 下載次數(shù): 75, 下載積分: 黑幣 -5

3 protues仿真.rar

85.65 KB, 下載次數(shù): 73, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表