單片機設計LCD數字鐘(萬年曆)

2020-12-22 電子產品世界

單片機設計LCD數字鍾(萬年曆)程序與電路如下:

本文引用地址:http://www.eepw.com.cn/article/172587.htm

#include
#include //庫函數頭文件,代碼中引用了_nop_()函數
// 定義控制信號埠
sbit RS=P2^4; //P2.4
sbit RW=P2^5; //P2.5
sbit E=P2^6; //P2.6
sbit set=P3^4; //設置鍵
sbit enter=P3^5; //確認鍵
sbit add1=P3^6; //加1鍵
sbit sub1=P3^7; //減1鍵
bit k=0,f=0;//k為0表示運行狀態,k為1表示設置狀態;f為0表示第一行顯示,f為1表示第二行顯示
char sec,min,hour,week,day,month,year,n,m;
unsigned char count,key;
unsigned char lcdd[]=0123456789;
/*聲明調用函數*/
void dispd(); //日期顯示函數
void dispt(); //時間顯示函數
unsigned char keys();//按鍵掃描函數
void lcd_w_cmd(unsigned char com); //寫命令字函數
void lcd_w_dat(unsigned char dat); //寫數據函數
unsigned char lcd_r_start(); //讀狀態函數
void int1(); //LCD初始化函數
void delay(unsigned char t); //可控延時函數
void delay1(); //軟體實現延時函數,5個機器周期
/*主函數*/
void main()
{
TMOD=0x01; //設置為定時器模式1
TH0=0x3c; //晶振6MHz,定時時間100ms
TL0=0xb0;
IE=0x82; //開全局中斷和定時中斷
TR0=1; //啟動定時器
sec=0; //秒
min=0; //分
hour=0; //時
week=0; //星期
day=1; //日
month=1; //月
year=0; //年
count=0; //中斷次數清0
n=-3; //設置鍵按下次數,第一行日期
m=-3; //設置鍵按下次數,第二行時間
P0=0xff; // 送全1到P0口
int1(); // 初始化LCD
delay(255);

while(1)
{
key=keys(); //讀取按鍵
switch(key)
{
case 0xe0: //按下設置鍵
{
TR0=0;
k=1;
if(f==0)
{
n=n+3;
if(n==9)
{
n=0;
m=0;
f=1;
}

}
else
{
m=m+3;
if(m==12)
{
m=0;
n=0;
f=0;
}

}
if(f==0)
{
lcd_w_cmd(0x0d);
lcd_w_cmd(0x86+n);
}
else
{
lcd_w_cmd(0x0d);
lcd_w_cmd(0xc4+m);
}
} break;


相關焦點

  • 基於51單片機的漢字LCD智能顯示模塊設計
    而lcd智能型顯示模塊則是一種低功耗、低損耗、低價值的顯示器件,它不但可以顯示各式各樣的字符、漢字和圖形,同時具有可編程能力,且與單片機接口方便,基於以上優點,lcd智能顯示模塊獲得了廣泛的應用。 系統組成本文引用地址:http://www.eepw.com.cn/article/21534.htm 本系統主要由三部分組成,分別為單片機,lcd模塊和flash字庫,圖1所示是該系統的硬體原理框圖,由於顯示所需要佔用的資源過多(本設計採用的是16×16點陣,每個漢字存儲需要32個字節),而單片機內部ram資源及其有限,所以系統設計時有必要擴展—
  • lcd1602中文資料分享:lcd1602接線圖_lcd1602與單片機連接圖
    lcd1602中文資料----lcd1602與單片機連接圖   LCD1602如何接單片機了?給大家分享一個LCD1602接單片機原理PCB圖如下:   與單片機連接圖----LCD1602與8051單片機接線圖   下圖是LCD1602與8051單片機的接口圖,圖中LCD1602的數據線與8051的P2口相連,RS與8051的P1.7相連,R/W與8051的P1.6相連,E端與8051的P1.5相連。
  • (進階篇)51單片機之電子萬年曆設計、LCD1602滾動顯示、控制數碼管顯示數字
    一、實操演示- 電子萬年曆設計1、圖文詳細LCD1602硬體電路
  • 利用華邦四位機實現帶農曆24節氣萬年曆的低成本設計
    [摘要]: 本文描述了一種利用華邦四位機來設計帶有農曆24節氣的萬年曆的設計方法,同時對於其中軟體的算法和硬體的電路設計進行了計算和分析。 [關鍵字]:節氣, 列表法, 微處理器, 單片機, 算法   在當前的產品設計中,人們在追求產品高性能的同時,也在追求產品的低成本。
  • OLED顯示模塊與C8051F單片機的接口設計
    下面以vgs12864e顯示模塊為例,介紹c8051f020單片機與它的接口設計及軟體編程方法。 本文引用地址:http://www.eepw.com.cn/article/20717.htm 1 vgs12864e顯示模式 vgs12864是128×64行點陣的oled單色、字符、圖形顯示模塊。
  • 【Proteus】單片機配合矩陣鍵盤LCD1602製作簡易計算器
    在之後想出一個關於Protues仿真的系列,回想起在大學時做課程設計,大多數是用這個來做,這個系列就圍繞一些常用的外設或者說課程設計題目來進行對以前知識的回顧
  • 全方位解析LCD1602特性及單片機顯示應用
    這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼  從上表可以看出最左邊一列是供用戶自定義字符的,共有16個,實際只有8個字節可以用,字符碼為00000000—00000111這8個地址  LCD1602—顯示應用(單片機學習)  LCD1602是51單片機中很重要的模塊之一,為了方便新手學習1602,筆者把自己學習
  • ADC0804模數轉換51單片機程序與電路
    打開APP ADC0804模數轉換51單片機程序與電路 發表於 2017-11-12 09:46:13   操作時序圖   分析圖可知,CS先為低電平,WR隨後置低,經時間tw(WR)L後,WR置高,隨後AD轉換器被啟動,並且在經過一段時間後,模數轉換完成,轉換結果存入數據鎖存器,同時INTR自動變為低電平,通知單片機本次轉換已結束
  • 單片機畢設(課設)題目匯總
    基於單片機的交流調功器設計16. 基於單片機的數字電壓表的設計17. 單片機的數字鐘設計18. 智能散熱器控制器的設計19. 單片機打鈴系統設計20. 基於單片機的交通信號燈控制電路設計21. 基於單片機的電話遠程控制家用電器系統設計22. 基於單片機的安全報警器23.
  • 基於單片機的多功能數字鐘系統設計與分析
    關鍵詞:單片機;I/O口;多功能;數字鐘;模塊0 引言隨著科技的發展,電子技術也在不斷地向前飛速發展。本設計是製作一款多功能數字鐘,其具有顯示年、月、日,時、分、秒、星期及鬧鐘功能,而且秒、分、時、日、月、年可自動關聯進位。
  • 51單片機開發之LCD1602顯示屏
    圖4-11-10示例代碼:#include <reg51.h>sbit lcd_1602_RS=P2^6; sbit lcd_1602_R_W=P2^5; sbit lcd_1602_E=P2^7; #define lcd_1602_data_cmd P0
  • 51單片機學習筆記——液晶
    ()與寫數據lcd_write1()函數的區別在於RS電平不同。(uchar m);void lcd_write1(uchar n);void delay(uint z);uchar i,j;void main(){ init(); lcd_write(0x80); for(i=0;i<=6;i++) {
  • 基於瑞薩R7F0C002單片機的JJY數字電波鐘設計(上)
    2 系統構建  基於日本低頻時碼授時信號 JJY 的數字電波鐘設計,以瑞薩 16 位單片機R7F0C002 LCD顯示屏相關文章:lcd
  • 基於瑞薩R7F0C002單片機的JJY數字電波鐘設計(下)
    主程序的設計思想為在實現時鐘的時間設置、時間顯示等基本功能的基礎上,融合加入JJY 解碼程序,並將解碼後的標準時間信息更新到實時時鐘,然後繼續走時顯示,以達到與標準時間的高度同步。程序主要分為時間顯示子程序、時間設置子程序、鬧鐘設置子程序、鬧鐘響鈴子程序以及手動(自動)接收電波子程序。
  • PIC單片機驅動LCD1602液晶顯示字符串程序
    .***"};//顯示公司電話號碼char tel[ ] = {" 110 " };void init(); //申明I/O口初始化函數void lcd_init(); //申明LCD初始化函數void write(char x); //申明顯示1位元組數據函數void lcd_enable(); //申明LCD顯示設置函數void
  • ESkill LCD2004液晶模塊ARDUINO連接應用
    (0x3F,20,4); // set the LCD address to 0x3F for a 20 chars and 4 line displayvoid setup(){// Serial.begin(57600);lcd.init(); // initialize the lcdlcd.backlight();
  • 單片機3種時鐘電路方案對比
    作為單片機研發設計的項目,它的最小電路工作系統包含電源電路、復位電路、時鐘頻率電路;其中電源電路與復位電路,相信工程師都非常容易理解與設計。然而時鐘頻率電路,由於不同的開發項目功能需求不一樣,設計的方案選擇也不盡相同,很難得到有效的統一設計。
  • 第十例:溫控小風扇的設計
    具體實現效果可以看前面發布的視頻溫控小風扇的設計主要實現的是當溫度低於0度時藍色小燈亮起主要原理:51單片機讀取仔細看下圖就可以發現,當DS18B20溫度為40攝氏度是,Q5端也就是單片機控制端輸出信號為高電平,此時在電機兩端的電壓均在4.8V附近,此時直流電機兩端沒有電壓差因此會停止轉動。仔細觀察下圖,當DS18B20溫度超過40攝氏度時,電機左端電壓為2.7V電機右端電壓為4.9V,電機開始轉動從而實現設計要求。
  • 基於STM32的多功能數字鐘(中文版)
    /**************************************************************************************程序功能:基於STM32的多功能數字鐘(中文版)
  • 基於單片機的多功能搶答器設計
    編者按:設計了一種以單片機AT89C51為核心的四路搶答器,從硬體和軟體兩方面詳細介紹了搶答器的設計方法,結合Proteus軟體的仿真結果,根據電路圖焊接實物,軟體仿真及硬體調試結果表明,該搶答器的設計實現了預期的目標。