• 方案介紹
    • 1.? 簡(jiǎn)介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設(shè)計(jì)報(bào)告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的12864萬年歷設(shè)計(jì)(二)

04/15 08:49
560
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf

共1個(gè)文件

資料清單:C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5 C51

編程語言:C語言

設(shè)計(jì)編號(hào):【J03】

1.? 簡(jiǎn)介

? 本文提出了一種基于51單片機(jī)的LCD12864電子萬年歷。此萬年歷在硬件方面主要采用AT89C51單片機(jī)作為主控核心,由DS1302時(shí)鐘芯片提供時(shí)鐘,DS18B20芯片顯示溫度、LCD12864液晶顯示屏顯示,同時(shí)電子萬年歷還具有時(shí)間校準(zhǔn)、鬧鐘提醒等功能。

2.? 主要功能

a.通過LCD12864顯示年月日、時(shí)分秒、溫度、星期、鬧鐘等信息。

b.通過獨(dú)立按鍵設(shè)置年月日、時(shí)分秒、鬧鐘。

c.通過DS1302時(shí)鐘芯片提供系統(tǒng)時(shí)鐘。

d.通過DS18B20芯片提供實(shí)時(shí)溫度。

e.通過蜂鳴器提示鬧鐘狀態(tài)。

3.? 源程序(Keil5)

本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。

#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
#include "value.h"
#include "nongli.h"

uchar n_nian,n_yue,n_ri;
bit flag_200ms = 1;
uchar menu_1;
uchar flag_clock_en;	//鬧鐘標(biāo)志位
uchar flag_clock_kai;	//鬧鐘開標(biāo)志位
uchar flag_c_en;
bit flag_100ms;
sbit beep=P2^7;	//蜂鳴器IO口

sbit dq=P3^2;	  //18b20 IO口的定義
uint temperature ;    //溫度變量

/************ 延時(shí)函數(shù)  *****************/
void delay_uint(uint z)
{
   while(z--);
}
/********************************************************************
* 名稱 : delay_1ms()
* 功能 : 延時(shí)1ms函數(shù)
* 輸入 : q
* 輸出 : 無
***********************************************************************/
void delay_1ms(uint q)
{
	uint i,j;
	for(i=0;i<q;i++)
		for(j=0;j<115;j++);
}
uchar dis_lcd[10];

#include "lcd12864bu.h"
/******************顯示時(shí)間函數(shù)***************************/
void dis_shijian()	//顯示時(shí)間
{
	write_shu16(3*2,1*8,shi,0);
	write_shuzi(1,3*2,3*8,fuhao[1],0);		
	write_shu16(3*2,4*8,fen,0);	
	write_shuzi(1,3*2,6*8,fuhao[1],0);		
	write_shu16(3*2,7*8,miao,0);


	write_shu16(1*2,6*8,nian,0);	
	write_shu16(1*2,10*8,yue,0);	
	write_shu16(1*2,14*8,ri,0);
		
	write_shu16(2*2,4*8,n_yue,0);
	write_shuzi(1,2*2,6*8,fuhao[0],0);		
	write_shu16(2*2,7*8,n_ri,0);

	if(week==0)
    {
     write_yhanzi(1,4,7*16,xingqi[0]);   
    }
    if(week==1)
    {
     write_yhanzi(1,4,7*16,xingqi[1]);  
    }
    if(week==2)
    {
     write_yhanzi(1,4,7*16,xingqi[2]);   
    }
    if(week==3)
    {
     write_yhanzi(1,4,7*16,xingqi[3]);   
    }
    if(week==4)
    {
     write_yhanzi(1,4,7*16,xingqi[4]);   
    }
    if(week==5)
    {
     write_yhanzi(1,4,7*16,xingqi[5]);   
    }
    if(week==6)
    {
     write_yhanzi(1,4,7*16,xingqi[6]);   
    }
    if(week==7)
    {
     week=0;
     write_yhanzi(1,4,7*16,xingqi[0]);  
    }	
	write_shu18b20(3*2,10*8,temperature,0);	
	write_shuzi(1,3*2,12*8,dian,0);	
}

4.? 仿真proteus8.6

? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請(qǐng)盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

時(shí)鐘界面:

時(shí)鐘設(shè)置:

5.? 設(shè)計(jì)報(bào)告

設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。

6.? 資料清單

設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網(wǎng)盤下載鏈接:【J03】百度網(wǎng)盤下載鏈接

更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集

  • 單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf
    下載

相關(guān)推薦