1. 程式人生 > >基於51微控制器計數器進行定時的記秒器

基於51微控制器計數器進行定時的記秒器

平臺STC89C52    時鐘晶振11.0592MHZ     軟體keil4 

程式碼如下:

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define WEI1 P2=0xfe
#define WEI2 P2=0xfd
#define WEI3 P2=0xfb
#define WEI4 P2=0xf7
uchar NUM_WEI1,NUM_WEI2,NUM_WEI3,NUM_WEI4,state_cnt;
uint i,NUM,time_count;
uchar NUM_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void SEG_display();
void timer0_init();

void SEG_display()
{
	switch(state_cnt)
	{
		case 0x01:	P0=0xff;WEI1;P0=NUM_code[NUM_WEI1];
					state_cnt++;break;
		case 0x02:	P0=0xff;WEI2;P0=NUM_code[NUM_WEI2];
					state_cnt++;break;
		case 0x03:	P0=0xff;WEI3;P0=NUM_code[NUM_WEI3];
					state_cnt++;break;
		case 0x04:	P0=0xff;WEI4;P0=NUM_code[NUM_WEI4];
					state_cnt=1;break;
		default: break;
	}
	for(i=0;i<10;i++);
}

void timer0_init()
{
	TMOD=0x02;
	TH0=0x19;
	TL0=0x19;
	ET0=1;
	EA=1;
	TR0=1;
	time_count=0;
}

void main()
{
	timer0_init();
	NUM=0;
	state_cnt=1;
	while(1)
	{
		NUM_WEI1=NUM/1000;
		NUM_WEI2=(NUM-NUM_WEI1*1000)/100;
		NUM_WEI3=(NUM%100)/10;
		NUM_WEI4=NUM%10;
		SEG_display();
	}
}

void time0() interrupt 1
{
	time_count++;
	if(time_count==4000)
	{
		NUM++;
		time_count=0;
	}
	if(NUM==9999)
		NUM=0;		
}

 其中P0是控制的數碼管段選,P2 0~3控制位選

選用的數碼管為F3461BH共陽極數碼管。

相關推薦

基於51微控制器計數器進行定時

平臺STC89C52    時鐘晶振11.0592MHZ     軟體keil4  程式碼如下: #include <reg52.h> #define uchar unsigned char #define uint unsigned int #define

基於51微控制器的矩陣計算器設計

      當初本科的畢業設計不是很完美,一直想把它完善一下,這學期剛開始有點時間,就以一個小專案的方式,綜合自己這一年多來的程式碼閱讀收穫,重寫了這個工程。 一,平臺的重新搭建 Ø  在win7上重新安裝了proteus7.8用於模擬階段的測試,並從以前

基於51微控制器的交通燈控制系統設計

第一章 硬體設計與原理 以AT89C51微控制器為核心,起著控制作用。系統包括數碼管顯示電路、復位電路、時鐘電路、發光二級管電路和按鍵電路。設計思路分為六個模組:復位電路、晶振電路模組、AT89C51、數碼管顯示電路、發光二級管電路和按鍵電路這六個模組。 1.2 硬體設計分析 1.

基於51微控制器的簡易電子琴設計

轉載地址: https://blog.csdn.net/zy010101/article/details/80538312                   

基於51微控制器的科學計算器

科學計算器1.任務 設計製作一個科學計算器。 2. 要求 (1)按數字 0-9 時應發出蜂鳴器聲音,數越大,頻率越高。 (20 分) (2) 完成任意兩位數(範圍 0-99)的加減乘除運算,結果只需顯示整數部分,但如果結果為負數應顯示負號。 (20 分) (3) 完成任意兩位數(範圍 0-

IIC協議解讀——基於51微控制器

#include<reg52.h> #define uchar unsigned char sbit sda=P2^0; sbit scl=P2^1; uchar a; void delay() {     ;; } void start() &

基於51微控制器的秒錶設計

  #include<reg52.h>   #define uchar unsigned char   #define uint unsigned int   void init();//hanshushengming   void de

基於51微控制器的巡線小車

#include <reg52.h> #define uint unsigned int #define uchar unsigned char uint time,left, right,pwm0,pwm1,pwm2,pwm3; sbit IN1 = P1^0; sbit IN

基於51 微控制器的串列埠收發資料

在進行串列埠的收發資料過程中一定要注意波特率的問題。 大多數51微控制器用的都是11m晶振而只有少部分用的是奇葩的12m(樓主的就是),在12m晶振進行串列埠通訊時切忌要將波特率設定為4800以下,應為12m晶振的波特率在9600以上誤差很大容易丟失資料,動手能力強的可以折騰一下用定時器輸出96

基於51微控制器的簡易計算器

 //S4:+    S8:-   S12:*   S16:/   S15: =   S13:  REMOVE // #include<reg51.h

基於51微控制器的簡易密碼鎖

一個基於51微控制器的簡易密碼鎖,廢話不多說,直接貼圖貼程式碼 1.電路圖 電路組成:5V電源+51微控制器最小系統+LCD1602顯示屏+4*4矩陣鍵盤 2.程式分析 (1)LCD1602驅動程式 #include "1602.h" #include "delay.h" #

基於51微控制器的LCD1602電子時鐘

摘要: 51系列微控制器是各微控制器中最為典型和最有代表性的一種。由RAM ,ROM,CPU構成,定時,計數和多種介面於一體的微控制器。本次設計的數位電子時鐘採用了STC89C52晶片進行控制,使用DS1302時鐘晶片產生時鐘資料,通過LCD1602液晶顯示屏進行重新整理顯示。同時,使用4*

超聲波測距模組(LCD顯示)—基於51微控制器

#include <reg52.h> #define uint unsigned int #define uchar unsigned char sbit Trig = P1^0; //控制端 sbit Echo = P1^1; //接收端

基於51微控制器的溫度控制系統畢設

基於51微控制器的溫度控制系統畢設 分享一下微控制器畢設課程計參考資料33個,獻給大四的朋友,畢業設計就不用愁了,如果有什麼不懂的地方可以加群大家一起交流:813238832資料下載的地址:https://bbs.usoftchina.com/thread-208012-1-1.html 1、CDMA通訊

基於51微控制器的LCD液晶屏

``` #include"reg52.h" sbit lcden=P1^0; sbit lcdrs=P1^1; sbit lcdrw=P1^2; void delay_ms(unsigned int t); void lcd_write_com(unsign

基於51微控制器的簡單計算器

在上一篇中,我們已經說過了基於51微控制器的簡單撥號器,在下邊,我們將寫一個計算器程式,原理很簡單,只需要在撥號器的基礎上,算出撥號器所表示的數字,並進行計算即可。 程式碼如下; #include"reg51.h" #include<intrins

基於51微控制器的步進電機的控制

前面筆者分享過基於51微控制器的兩種小車製作,我們利用的是L298N驅動控制電機轉動,那麼接下來,筆者給大家介紹兩種利用51微控制器控制步進電機的小程式。 首先我們要如何使電機轉動呢,源程式如下: #include <reg52.h> u

基於51微控制器的8x8 LED點陣

最近學了LED點陣,並用了三種方式顯示字母組,分別為按鍵控制顯示,自動變換顯示,和滾動顯示 第一種 #include"reg51.h" #include<intrins.h> typedef unsigned char u8; typede

基於51微控制器的電子時鐘(數碼管顯示)

     此次對於數碼管進行一個簡單的應用,同時可以設計一個電子小時鐘,增加趣味性。 首先我們先進行原理圖的講解,這裡我們直接使用的開發板,其原理連線圖如下: 其中D(0~1)是連線在微控制器的P0口上的。    從圖中,我們可

基於51微控制器ADC0809的基礎使用

  對於ADC0809這種基礎的模擬轉數字的晶片,在現實生活中是很常用的,所以本人再此講一講自己做的心得體會。     首先我們的框架圖如下:                 &nb