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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

郭天祥的51單片機板子能用DS12C887做鬧鐘嗎?

[復制鏈接]
跳轉到指定樓層
樓主
ID:284187 發表于 2018-2-17 16:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
現有一時鐘芯片和一個郭天祥的51單片機板子不知道怎么組合在一起,唯一的8引腳給了液晶
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2018-2-18 09:02 | 只看該作者
郭天祥視頻第11講就是這個內容
回復

使用道具 舉報

板凳
ID:283987 發表于 2018-2-18 10:03 來自手機 | 只看該作者
在視頻中有講到這個問題
回復

使用道具 舉報

地板
ID:284371 發表于 2018-2-18 13:11 | 只看該作者
可以,視頻中有講到
回復

使用道具 舉報

5#
ID:284187 發表于 2018-2-18 18:39 | 只看該作者
但是要自己另外焊一個板子嗎?然后再用杜邦線組合在一起?
回復

使用道具 舉報

6#
ID:155507 發表于 2018-2-18 21:04 | 只看該作者

基于DS12C887和LCD1602的單片機數字時鐘仿真和源程序
http://www.zg4o1577.cn/bbs/dpj-57165-1.html

  1. #include <AT89X52.h>
  2. #define DSbus P0
  3. #define LCDbus P1

  4. //定義DS12C887和LCD的控制線
  5. sbit DS_CS = P2^7;        //引腳13,片選信號輸入,低電平有效。
  6. sbit DS_AS = P2^4;        //引腳14,地址選通輸入。
  7. sbit DS_RW = P2^5;        //引腳15,讀/寫輸入。
  8. sbit DS_DS = P2^6;        //引腳17,數據選通或讀輸入。
  9. sbit LCD_RS=P2^0;
  10. sbit LCD_EN=P2^2;
  11. //時間變量定義
  12. unsigned char Counter;
  13. unsigned char Hour,Min,Sec,Year,Month,Date,Week;

  14. /*DS12CR887驅動程序---------------------------------------------------------------------------*/
  15. //往DS12CR887寫數據函數
  16. void DS12887write(unsigned char add,unsigned char Date)         
  17. {
  18.         DS_CS=0;
  19.   DS_DS=1;
  20.         DS_RW=1;
  21.   DS_AS=1;
  22.         DSbus=add;
  23.         DS_AS=0;
  24.   DS_RW=0;
  25.         DSbus=Date;
  26.         DS_RW=1;
  27.   DS_AS=1;
  28.         DS_CS=1;
  29. }
  30. //讀取DS12CR887數據函數
  31. unsigned char DS12887read(unsigned char add)
  32. {
  33.         unsigned char z;
  34.         DS_CS=0;
  35.   DS_RW=1;
  36.         DS_DS=1;
  37.   DS_AS=1;
  38.         DSbus=add;
  39.         DS_AS=0;
  40.   DS_DS=0;
  41.   DSbus=0xff;
  42.         z=DSbus;
  43.         DS_DS=1;
  44.   DS_AS=1;
  45.         DS_CS=1;
  46.         return z;
  47. }
  48. //DS12CR887初始化函數
  49. void DS12887LCDinit()
  50. {
  51.         DS_AS=0; DS_DS=0; DS_RW=0;
  52.         DS12887write(0x0a,0x20);//DS12CR887寄存器A功能設置,開啟時鐘振蕩器
  53.         DS12887write(0x0b,0x06);//寄存器B功能設置,不開啟鬧鐘中斷使能,數據模式為二進制,24小時模式。
  54.         //DS12887write(4,0x8);DS12887write(2,0x00);DS12887write(0,0x00); //給DS12CR887的時分秒賦值,開機后顯示8:00:00
  55. }
  56. void Delay(unsigned int z)
  57. {
  58.         unsigned int x,y;
  59.    for(x=z;x>0;x--)
  60.          for(y=110;y>0;y--);
  61. }
  62. void LCDwritecom(unsigned char com)
  63. {
  64.         LCD_RS=0;
  65.         LCDbus=com;
  66.         Delay(5);
  67.         LCD_EN=1;
  68.         Delay(5);
  69.         LCD_EN=0;
  70. }
  71. void LCDwritecomdata(unsigned char dat)
  72. {
  73.         LCD_RS=1;
  74.         LCDbus=dat;
  75.         Delay(5);
  76.         LCD_EN=1;
  77.         Delay(5);
  78.         LCD_EN=0;
  79. }
  80. void LCDinit()
  81. {
  82.         LCD_EN=0;
  83.         LCDwritecom(0x38);
  84.         LCDwritecom(0x0c);
  85.         LCDwritecom(0x06);
  86.         LCDwritecom(0x01);
  87.         LCDwritecom(0x80);
  88. }
  89. void Timedisplay(void)
  90. {
  91.         //LCDwritecom(1);
  92.         LCDwritecom(0x80);
  93. //往液晶屏填寫"小時"數據-----------------------------------------------
  94.         Hour=DS12887read(4);         //讀取DS12CR887的小時數據
  95.         if((Hour/10)==0)LCDwritecomdata(0);
  96.                 else        LCDwritecomdata(Hour/10+0x30);//小時十位
  97.         LCDwritecomdata(Hour%10+0x30); //小時個位
  98.         LCDwritecomdata(':');        //時鐘分隔符":"
  99. //往液晶屏填寫"分鐘"數據-----------------------------------------------
  100.         Min=DS12887read(2);          //讀取DS12CR887的分數據
  101.         LCDwritecomdata(Min/10+0x30);
  102.         LCDwritecomdata(Min%10+0x30);
  103.         LCDwritecomdata(':');        //時鐘分隔符":"                                
  104. //往液晶屏填寫"秒"數據-------------------------------------------------
  105.         Sec=DS12887read(0);          //讀取DS12CR887的秒數據
  106.         LCDwritecomdata(Sec/10+0x30);
  107.         LCDwritecomdata(Sec%10+0x30);
  108.         Delay(100);                                
  109. }
  110. void Datedisplay(void)
  111. {
  112.         //LCDwritecom(1);
  113.         LCDwritecom(0xc0);
  114. //往液晶屏填寫"年"數據-----------------------------------------------
  115.         LCDwritecomdata('2');
  116.         LCDwritecomdata('0');
  117.         Year=DS12887read(9);         //讀取DS12CR887的年數據
  118.         
  119.         LCDwritecomdata(Year/10+0x30);//年十位
  120.         LCDwritecomdata(Year%10+0x30); //年個位
  121.         LCDwritecomdata('/');        //時鐘分隔符":"
  122. //往液晶屏填寫"月"數據-----------------------------------------------
  123.         Month=DS12887read(8);          //讀取DS12CR887的月數據
  124.         LCDwritecomdata(Month/10+0x30);
  125.         LCDwritecomdata(Month%10+0x30);
  126.         LCDwritecomdata('/');        //時鐘分隔符":"                                
  127. //往液晶屏填寫"日"數據-------------------------------------------------
  128.         Date=DS12887read(7);          //讀取DS12CR887的日數據
  129.         LCDwritecomdata(Date/10+0x30);
  130.         LCDwritecomdata(Date%10+0x30);
  131. //往液晶屏填寫"星期"數據-------------------------------------------------
  132.         Week=DS12887read(6);          //讀取DS12CR887的日數據
  133.         LCDwritecomdata(0);
  134.         LCDwritecomdata(Week-1+0x30);
  135.         Delay(100);                                
  136. }
  137. void main()
  138. {
  139. //        unsigned char i;
  140.         LCDinit();
  141.         DS12887LCDinit();
  142.   DS12887write(0x0a,0x00);     //開始調時,DS12CR887關閉時鐘振蕩器
  143.         DS12887write(0,55);         //秒
  144.         DS12887write(2,59);
  145.         DS12887write(4,23);
  146.   DS12887write(6,5);         //星期
  147.         DS12887write(7,22);  //日
  148.         DS12887write(8,9);  //
  149.         DS12887write(9,12);  //
  150.         //display_Date();
  151.         while(1)
  152.         {
  153.                 Timedisplay();
  154.           Datedisplay();
  155.                 Delay(100);
  156.         }
  157. }

復制代碼
回復

使用道具 舉報

7#
ID:321156 發表于 2018-12-1 14:54 | 只看該作者
angmall 發表于 2018-2-18 21:04
基于DS12C887和LCD1602的單片機數字時鐘仿真和源程序
http://www.zg4o1577.cn/bbs/dpj-57165-1.html

如果LCD的總線和12c887的總線都一樣會怎么樣?
回復

使用道具 舉報

8#
ID:437135 發表于 2018-12-1 15:09 | 只看該作者
可以的,我試過了沒有問題
回復

使用道具 舉報

9#
ID:426007 發表于 2019-11-19 23:48 | 只看該作者
郭天祥視頻第11講就是這個內容
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 福利二区| 99在线精品视频 | 亚洲精品一区二区三区中文字幕 | 青青99 | 久久久久久中文字幕 | 天天综合永久入口 | 午夜精品在线观看 | 国产在线视频在线观看 | 日韩成年人视频在线 | 91超碰在线观看 | 亚洲国产成人精品女人久久久 | 欧美成视频 | 一级黄色片网站 | 精区3d动漫一品二品精区 | 久久久成人网 | 欧美黑人一级爽快片淫片高清 | 麻豆精品久久久 | 国产精品久久二区 | 日韩另类视频 | 天天弄 | 亚洲看片网站 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 欧美a级成人淫片免费看 | 一区二区三区四区不卡 | 免费h视频 | 97人人超碰 | 天天操天天射综合网 | 自拍偷拍中文字幕 | 精品久久久久香蕉网 | 久久99蜜桃综合影院免费观看 | 亚洲精品一区中文字幕乱码 | 国产精品日日做人人爱 | 亚洲自拍一区在线观看 | 国产乱码精品一区二区三区中文 | av在线影院 | 91在线观看视频 | 日本三级网站在线观看 | 91中文字幕| 午夜精品久久久久久久久久久久 | 欧美日韩精品一区二区 | 九九热国产视频 |