仿真版本:Proteus8.6及以上版本
程序編譯:Keil5 C51
編程語言:C語言
設(shè)計編號:【K02】
1.? 簡介
? 本文提出了一種基于51單片機(jī)的秒表計時器。該設(shè)計在硬件方面主要采用AT89C51單片機(jī)作為主控核心,4位數(shù)碼管液晶顯示屏顯示計時信息,同時還具有啟停、復(fù)位等功能。
2.? 主要功能
a.通過4位數(shù)碼管顯示計時器信息,計時范圍:0到99秒。
b.通過獨立按鍵設(shè)置啟停、復(fù)位。
3.? 源程序(Keil5)
本設(shè)計采用keil5 C51軟件(內(nèi)附安裝包)實現(xiàn)程序設(shè)計。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。
#include <reg51.h>
#define uchar unsigned char
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P27=P0^7;
sbit KS=P1^0; //開始
sbit KR=P1^1; //復(fù)位
uchar time,xs,ge,shi,bai,qian;
uchar code tab[ ]= {
0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F,/*9*/
};
void delay_ms(unsigned int ms) //1ms延時
{
uchar a;
while(ms--)
for(a=123;a>0;a--);
}
void display();
void T0intinit( ) //定時器T0初始化
{
TMOD=0x01;
TH0=(65536-10000)/256; //10ms定時
TL0=(65536-10000)%256;
EA=1;
ET0=1;
}
4.? 仿真proteus8.6
? 本設(shè)計采用proteus8.6軟件(內(nèi)附安裝包)實現(xiàn)仿真設(shè)計,如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。
計時界面:
5.? 設(shè)計報告
設(shè)計報告主要包括硬件電路、軟件設(shè)計、仿真調(diào)試等等,僅供參考。
6.? 資料清單
設(shè)計資料主要包括C程序+仿真+設(shè)計報告+使用說明+元件清單+操作視頻等。
7.? 資料獲取鏈接
百度網(wǎng)盤下載鏈接:【K02】百度網(wǎng)盤下載鏈接
更多單片機(jī)仿真設(shè)計合集:單片機(jī)仿真設(shè)計合集