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

基于51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)(四)!!!

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

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

共1個(gè)文件

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

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

程序編譯:Keil5 C51

編程語言:C語言

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

1.? 簡介

? 本文提出了一種基于51單片機(jī)的電子時(shí)鐘系統(tǒng)。該系統(tǒng)由單片機(jī)系統(tǒng)、數(shù)碼管顯示系統(tǒng)、鍵盤、蜂鳴器等組成,通過單片機(jī)自身的定時(shí)計(jì)數(shù)器溢出標(biāo)志產(chǎn)生最小計(jì)時(shí)單元,經(jīng)過變量的累加和判斷后,將數(shù)據(jù)送入數(shù)碼顯示屏顯示。通過按鍵來控制單片機(jī)實(shí)現(xiàn)數(shù)字時(shí)鐘的時(shí)分秒、溫度顯示等功能,并通過P0口的輸出在數(shù)碼管上顯示。

2.? 主要功能

a.通過74HC138驅(qū)動(dòng)數(shù)碼管顯示時(shí)分秒、溫度顯示,初始狀態(tài):23-59-50。

b.通過獨(dú)立按鍵設(shè)置時(shí)分秒、切換溫度顯示。

3.? 源程序(Keil5)

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

#include <reg51.h>
#include"temp.h"

#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long

sbit L1=P2^2;//138引腳
sbit L2=P2^3;
sbit L3=P2^4;

sbit k1=P3^2;	//減
sbit k2=P3^1;	//加
sbit k3=P3^3;	//切換
sbit k4=P3^0;	//設(shè)置

sbit led=P2^0; //led
uchar key=0;//按鍵標(biāo)志
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//顯示0~9
uchar shuma[8]={0x5b,0x4f,0x40,0x6d,0x6f,0x40,0x6d,0x3f};//時(shí)間顯存
uchar wendu[3]={0x3f,0x3f,0x39};//溫度顯存

uchar time=0,miao=50,fen=59,shi=23;	//計(jì)時(shí)
uchar wen=0;//溫度
uchar time0=0,time1=0;//定時(shí)變量
uchar mode=0;//模式,設(shè)置用

void delay(uint i);//函數(shù)聲明

void display1()	//顯示溫度
{
   uchar i;
  for(i=0;i<3;i++)
  {
  P0=0;
  P2=(P2& 0xe3)+(i<<2);
  P0=wendu[2-i];
  delay(50);
  }
}
void display2()	//顯示時(shí)間
{
  uchar i;
  for(i=0;i<8;i++)
  {
  P0=0;
  P2=(P2& 0xe3)+(i<<2);
  P0=shuma[7-i];
  delay(50);
  }
}
//顯示計(jì)算
void suan()
{
		shuma[0]=smgduan[shi/10];
		shuma[1]=smgduan[shi%10];
		shuma[3]=smgduan[fen/10];
		shuma[4]=smgduan[fen%10];
		shuma[6]=smgduan[miao/10];
		shuma[7]=smgduan[miao%10];
		wen=Ds18b20ReadTemp();//讀取溫度
		wendu[0]=smgduan[wen/10];
		wendu[1]=smgduan[wen%10];
}

4.? 仿真proteus8.6

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

初始界面:

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

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

6.? 資料清單

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

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

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

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

相關(guān)推薦