仿真版本:Proteus8.6及以上版本
程序編譯:Keil5 C51
編程語言:C語言
設計編號:【L01】
1.? 簡介
? 本文提出了一種基于51單片機的秒表計時器。該設計在硬件方面主要采用AT89C51單片機作為主控核心,2位數(shù)碼管液晶顯示屏顯示計時信息,同時還具有設置倒計時時間、復位等功能。
2.? 主要功能
a.通過2位數(shù)碼管顯示倒計時器信息,倒計時范圍:0到99秒。
b.通過獨立按鍵設置啟動、倒計時時間。
3.? 源程序(Keil5)
本設計采用keil5 C51軟件(內(nèi)附安裝包)實現(xiàn)程序設計。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。
#include <reg51.h>
unsigned char code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共陰數(shù)碼管 0-9
sbit led=P3^0;
sbit s1=P2^2;
sbit s2=P2^3;
sbit k0=P2^0;
sbit k1=P2^1;
int sec=0,i,a,b=20,key1;
/*-----延遲函數(shù)-------*/
void delay(int z)
{
while(z-->0);
}
/*-----顯示函數(shù)-------*/
void display(int n)
{
if(n>0)
{
s2=1;s1=0; //顯示十位
P0=tab[n/10]; //除10,取十位數(shù)值
delay(100); //延遲顯示
s1=1;s2=0; //顯示個位
P0=tab[n%10]; //求余,取個位數(shù)值
delay(100); //延遲
}
else
{ //當輸入值小于0,顯示0
s2=1;s1=0; //顯示十位
P0=tab[0]; //除10,取十位數(shù)值
delay(100); //延遲
s1=1;s2=0; //顯示個位
P0=tab[0]; //求余,取個位數(shù)值
delay(100); //延遲顯示
}
}
/*-----外部中斷0中斷服務函數(shù)----------*/
void RESET() interrupt 0
{
sec=0; //恢復初始值
b=20; //恢復初始值
TR0=0; //關閉定時器
}
/*-----外部中斷1中斷服務函數(shù)----------*/
void START() interrupt 2
{
TR0=1; //打開定時器
}
/*-----定時器T0服務函數(shù),計時功能----------*/
void timer0() interrupt 1
{
i--; //50ms時間到
TH0=(65536-50000)/256; //存放高8位,50ms
TL0=(65536-50000)%256; //存放低8位
if(i==0)
{
i=17; //1s計數(shù)
sec++; //軟件計數(shù)1s
}
}
/*------鍵值掃描函數(shù)----------*/
void key()
{
k0=1;k1=1; //讀按鍵
key1=P2; //將P2的值賦值給key1
key1=key1&0x03; //屏蔽高6位,保留k0,k1的值
while(key1!=0x03) //判斷是否有按鍵按下
{
delay(600); //消抖動
key1=P2;
key1=key1&0X03;
while(key1!=0x03) //當有按鍵按下時
{
if(k0==0) b=b+1; //按下k0按鍵時,初始值加1
else b=b-1; //按下k1按鍵時,初始值減1
k0=1;k1=1; //判斷按鍵是否抬起
key1=P2; //重新將P2的值賦值給key1
key1=key1&0x03;
while(key1!=0x03) //判斷是否有按鍵按下
{
key1=P2;
key1=key1&0x03;
}
}
}
}
4.? 仿真proteus8.6
? 本設計采用proteus8.6軟件(內(nèi)附安裝包)實現(xiàn)仿真設計,如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導出的,所以請盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。
計時界面:
5.? 設計報告
設計報告主要包括硬件電路、軟件設計、仿真調(diào)試等等,僅供參考。
6.? 資料清單
設計資料主要包括C程序+仿真+設計報告+使用說明+元件清單+操作視頻等。
7.? 資料獲取鏈接
百度網(wǎng)盤下載鏈接:【L01】百度網(wǎng)盤下載鏈接
更多單片機仿真設計合集:單片機仿真設計合集