• 方案介紹
    • 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萬(wàn)年歷設(shè)計(jì)(五)!!!

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

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

共1個(gè)文件

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

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

程序編譯:Keil5 C51

編程語(yǔ)言:C語(yǔ)言

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

1.? 簡(jiǎn)介

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

2.? 主要功能

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

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

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

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

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

3.? 源程序(Keil5)

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

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

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

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

4.? 仿真proteus8.6

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

時(shí)鐘界面:

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

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

6.? 資料清單

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

7.? 資料獲取鏈接

百度網(wǎng)盤(pán)下載鏈接:【J06】百度網(wǎng)盤(pán)下載鏈接

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

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

相關(guān)推薦