久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3884|回復: 0
打印 上一主題 下一主題
收起左側

lcd1602顯示的單片機萬年歷的制作

[復制鏈接]
跳轉到指定樓層
樓主
ID:248123 發表于 2017-11-17 21:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
原理圖:
1602萬年歷電路圖.doc (58 KB, 下載次數: 18)


單片機源程序如下:
  1. #include<reg52.h>
  2. //#include"DS18B20_3.H"
  3. #include <string.h>
  4. #include <intrins.h>
  5. #define uint unsigned int
  6. #define uchar unsigned char
  7. #define wd 1                                //定義是否有溫度功能  =0時無溫度,=1時有溫度
  8. #include "eeprom52.h"

  9. #define yh 0x80 //LCD第一行的初始位置,因為LCD1602字符地址首位D7恒定為1(100000000=80)
  10. #define er 0x80+0x40 //LCD第二行初始位置(因為第二行第一個字符位置地址是0x40)

  11. //液晶屏的與C51之間的引腳連接定義(顯示數據線接C51的P0口)
  12. sbit en=P2^7;
  13. sbit rw=P2^6;   //如果硬件上rw接地,就不用寫這句和后面的rw=0了
  14. sbit rs=P2^5;


  15. //校時按鍵與C51的引腳連接定義

  16. sbit set=P3^0;          //設置鍵
  17. sbit add=P3^1;          //加鍵
  18. sbit dec=P3^2;          //減鍵
  19. sbit seeNL_NZ=P3^3;        //查看農歷/鬧鐘

  20. sbit DQ=P3^7;                //
  21. sbit buzzer=P2^0;        //蜂鳴器,通過三極管8550驅動,端口低電平響

  22. sbit led=P2^4;                 //LCD背光開關
  23. bit  led1=1;
  24. bit NZ_sdgb=1;
  25. unsigned char temp_miao;
  26. unsigned char bltime;  //背光亮的時間

  27. //DS1302時鐘芯片與C51之間的引腳連接定義
  28. sbit IO=P1^1;
  29. sbit SCLK=P1^0;
  30. sbit RST=P1^2;


  31. char a,miao,shi,fen,ri,yue,nian,week,setn,temp;
  32. uint flag;
  33. //flag用于讀取頭文件中的溫度值,和顯示溫度值
  34. bit c_moon;

  35. char nz_shi,nz_fen,setNZn;            //定義鬧鐘變量
  36. uchar shangyimiao,bsn,temp_hour;                        //記錄上一秒時間
  37. uchar T_NL_NZ;                                                        //計數器
  38. bit timerOn=0;                                                        //鬧鐘啟用標志位
  39. bit baoshi=0;                                                        //整點報時標志位
  40. bit  p_r=0;                                                                 //平年/潤年  =0表示平年,=1表示潤年
  41. data uchar year_moon,month_moon,day_moon;

  42. sbit ACC0=ACC^0;
  43. sbit ACC7=ACC^7;
  44. /************************************************************
  45. ACC累加器=A
  46. ACC.0=E0H

  47. ACC.0就是ACC的第0位。Acc可以位尋址。

  48. 累加器ACC是一個8位的存儲單元,是用來放數據的。但是,這個存儲單元有其特殊的地位,
  49. 是單片機中一個非常關鍵的單元,很多運算都要通過ACC來進行。以后在學習指令時,
  50. 常用A來表示累加器。但有一些地方例外,比如在PUSH指令中,就必須用ACC這樣的名字。
  51. 一般的說法,A代表了累加器中的內容、而ACC代表的是累加器的地址。
  52. ***************************************************************/

  53. /******************把數據保存到單片機內部eeprom中******************/
  54. void write_eeprom()
  55. {
  56.         SectorErase(0x2000);
  57.         byte_write(0x2000, nz_shi);
  58.         byte_write(0x2001, nz_fen);
  59.         byte_write(0x2002, timerOn);
  60.         byte_write(0x2060, a_a);        
  61. }

  62. /******************把數據從單片機內部eeprom中讀出來*****************/
  63. void read_eeprom()
  64. {
  65.         nz_shi   = byte_read(0x2000);
  66.         nz_fen = byte_read(0x2001);
  67.         timerOn = byte_read(0x2002);
  68.         a_a      = byte_read(0x2060);
  69. }

  70. /**************開機自檢eeprom初始化*****************/
  71. void init_eeprom()
  72. {
  73.         read_eeprom();                //先讀
  74.         if(a_a != 1)                //新的單片機初始單片機內問eeprom

  75. ……………………

  76. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
1-程序.zip (125.83 KB, 下載次數: 19)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品日韩一区二区 | 龙珠z在线观看 | 日韩欧美三级在线 | 一区二区三区免费 | 欧美一区二区三区四区五区无卡码 | 欧美日韩综合精品 | 日韩在线一区二区 | www.成人.com| 欧美日韩精品国产 | 久久精品免费观看 | 欧美日韩精选 | 欧美日韩亚洲一区 | 欧美视频区| 国产精品久久久久久久久久免费看 | 你懂的av | 日韩在线观看网站 | 国产资源在线观看 | 久久久精品一区 | 女朋友的闺蜜3韩国三级 | 国产一区二区三区在线免费观看 | 欧美黄页 | 欧美亚洲一区二区三区 | 欧美αv | 天天躁日日躁xxxxaaaa | 欧美精品福利视频 | 99久久免费观看 | 久草欧美视频 | 一区二区三区四区电影 | 在线观看av网站 | 亚洲高清视频一区二区 | 亚洲精品二区 | 国产露脸国语对白在线 | 亚欧洲精品在线视频免费观看 | 亚洲国产午夜 | 操一草| 日韩精品一区二区三区中文字幕 | 日本黄色一级片视频 | 孰女乱色一区二区三区 | 亚洲国产一区二区三区 | 国产在线一区二区三区 | 中文字幕色站 |