基於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