• 方案介紹
    • 1.? 簡介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設計報告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

基于51單片機的12864萬年歷設計(五)!!!

04/15 09:29
798
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

單片機仿真設計合集資料獲取.pdf

共1個文件

資料清單:C程序+仿真+設計報告+使用說明+元件清單+操作視頻

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

程序編譯:Keil5 C51

編程語言:C語言

設計編號:【J06】

1.? 簡介

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

2.? 主要功能

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

b.通過獨立按鍵設置年月日、時分秒、鬧鐘。

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

d.通過DS18B20芯片提供實時溫度。

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

3.? 源程序(Keil5)

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

/****************************文件包含*************************************/
#include < reg52.h >
#include < character.h >
#include < lcd.h >
#include < clock.h >
#include < sensor.h>
#include < calendar.h >
#include < key.h >

/*****************************預定義**************************************/
#define uchar unsigned char
#define uint unsigned int
/****************************************************************************/
sbit bell = P2 ^ 0; //定義蜂鳴器端口
/*****************************************************************************
* 名稱: Timer0_Service() inturrupt 1
* 功能: 中斷服務程序 整點報時 3聲嘟嘟的聲音
* 入口參數:
* 出口參數:
*****************************************************************************/
void Timer0_Service() interrupt 1
{
   static uchar count = 0;
   static uchar flag = 0; //記錄鳴叫的次數
   count = 0;
   TR0 = 0;      //關閉Timer0
   TH0 = 0x3c;
   TL0 = 0XB0;   //延時 50 ms
   TR0 = 1 ;     //啟動Timer0
   count ++;
   if( count == 20 ) //鳴叫 1 秒 
   {
      bell = ~ bell;
      count = 0;
      flag ++;
   } 
   if( flag == 6 )
   {
      flag = 0;
      TR0 = 0;   //關閉Timer0
   }

}
/*****************************************************************************
* 名稱: Timer2_Servie() interrupt 5
* 功能: 中斷服務程序  整點報時 一分鐘
* 入口參數: 
* 出口參數:
*****************************************************************************/
uchar HexNum_Convert(uchar HexNum)/*時間存儲個位和十位的方式與我們用的十進制不一樣,你懂的,呵呵--BB車*/
{
uchar Numtemp;
Numtemp=(HexNum>>4)*10+(HexNum&0X0F);
return Numtemp;
}

4.? 仿真proteus8.6

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

時鐘界面:

5.? 設計報告

設計報告主要包括硬件電路、軟件設計、仿真調試等等,僅供參考。

6.? 資料清單

設計資料主要包括C程序+仿真+設計報告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網盤下載鏈接:【J06】百度網盤下載鏈接

更多單片機仿真設計合集:單片機仿真設計合集

  • 單片機仿真設計合集資料獲取.pdf
    下載

相關推薦