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

標(biāo)題: 基于單片機(jī)51的數(shù)字鐘設(shè)計(jì):內(nèi)容包括完整程序和仿真及實(shí)驗(yàn)報(bào)告 [打印本頁(yè)]

作者: sushe5518    時(shí)間: 2018-5-29 22:58
標(biāo)題: 基于單片機(jī)51的數(shù)字鐘設(shè)計(jì):內(nèi)容包括完整程序和仿真及實(shí)驗(yàn)報(bào)告
一、        實(shí)驗(yàn)名稱(chēng):電子鐘表設(shè)計(jì)
二、        試驗(yàn)任務(wù):
      利用51單片機(jī)、鍵盤(pán)、1602液晶顯示屏等電子元器件,編寫(xiě)電子表的程序,實(shí)現(xiàn)電子表正常工作,顯示時(shí)、分、秒;按鍵可以控制電子表的設(shè)置與調(diào)整。
三、        軟件設(shè)計(jì):利用isis軟件仿真進(jìn)行電子表的仿真圖如下
     
四、        實(shí)驗(yàn)步驟:
1.    運(yùn)用仿真軟件isis畫(huà)實(shí)驗(yàn)原理圖,擺放所需要的電子元器件并進(jìn)行連線。
2.    按照任務(wù)要求進(jìn)行程序模塊兒的分析,大概需要函數(shù)聲明、1602初始化函數(shù)、延時(shí)函數(shù)、中斷函數(shù)、按鍵程序、主程序等部分。
3.    按照軟件原理圖的接口,定義相應(yīng)的單片機(jī)I/O口。

五、        實(shí)驗(yàn)程序
  1. #include<reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit wela=P2^7;
  5. sbit dula=P2^6;
  6. sbit lcdrs=P2^1;
  7. sbit lcden=P1^6;
  8. sbit lcdrw=P1^5;
  9. sbit shezhi=P3^2;
  10. sbit jia=P3^3;
  11. sbit jian=P3^4;
  12. uchar count,num;
  13. char shi,fen,miao;
  14. uchar code table[]="  2012.11.1 Wed";
  15. uchar code table1[]="    00:00:00  ";
  16. void delay(uint z)
  17. {
  18. uint x,y;
  19. for(x=0;x<z;x++)
  20.      for(y=0;y<110;y++);
  21. }
  22. voidwrite_com(uchar com)
  23. {
  24.   lcdrs=0;
  25.   lcdrw=0;
  26.   lcden=0;
  27.   P0=com;
  28.   delay(5);
  29.   lcden=1;
  30.   delay(5);
  31.   lcden=0;
  32. }
  33. voidwrite_data(uchardate)
  34. {
  35.   lcdrs=1;
  36.   lcdrw=0;
  37.   lcden=0;
  38.   P0=date;
  39. delay(5);
  40. lcden=1;
  41. delay(5);
  42. lcden=0;
  43. }
  44. voidinit()
  45. {
  46. uchar num;
  47. dula=0;
  48. wela=0;
  49. lcden=0;
  50. write_com(0x38);    //功能設(shè)置,8位數(shù)據(jù)接口,2行顯示,5*7點(diǎn)陣
  51. write_com(0x0c);    //顯示開(kāi)關(guān)控制,開(kāi)顯示,關(guān)光標(biāo),關(guān)閃爍
  52. write_com(0x06);    //輸入方式設(shè)置,AC自動(dòng)增一,畫(huà)面不動(dòng)
  53. write_com(0x01);    //清屏
  54. write_com(0x80);    //首地址為第一行
  55. for(num=0;num<15;num++)
  56. {
  57. write_data(table[num]);
  58. delay(20);
  59. }
  60. write_com(0x80+0x40);//第二行
  61. for(num=0;num<15;num++)
  62. {
  63. write_data(table1[num]);
  64. delay(20);
  65. }
  66. /* 定時(shí)器做中斷設(shè)置*/
  67. TMOD=0X01;    //定時(shí)器0的方式1
  68. TH0=(65536-50000)/256;
  69. TL0=(65536-50000)%256;
  70. EA=1;
  71. ET0=1;
  72. TR0=1;
  73. }
  74. /*刷新地址及數(shù)據(jù)*/
  75. void write_sfm(uchar
  76. add,uchar date)
  77. {
  78. uchar shi,ge;
  79. shi=date/10;
  80. ge=date%10;
  81. write_com(0x80+0x40+add);
  82. write_data(0x30+shi);
  83. write_data(0x30+ge);
  84. }
  85. /*功能鍵控制函數(shù)*/
  86. voidkeyscan()
  87. {
  88. if(shezhi==0)
  89. {
  90. delay(5);
  91. if(shezhi==0)
  92. {
  93. num++;
  94. while(!shezhi);
  95. if(num==1)
  96. {
  97. TR0=0;
  98. write_com(0x80+0x40+10);
  99. write_com(0x0f);
  100. }
  101. if(num==2)
  102. {
  103. write_com(0x80+0x40+7);
  104. }
  105. if(num==3)
  106. {
  107. write_com(0x80+0x40+4);
  108. }
  109. if(num==4)
  110. {
  111. num=0;
  112. write_com(0x0c);
  113. TR0=1;
  114. }
  115. }
  116. }
  117. if(shezhi!=0)
  118. {
  119. if(jia==0)
  120. {
  121. delay(5);
  122. if(jia==0)
  123. {
  124.   while(!jia);
  125.   if(num==1)
  126.   {
  127.   miao++;
  128.   if(miao==60)
  129.   miao=0;
  130.     write_sfm(10,miao);
  131. write_com(0x80+0x40
  132. +10);
  133.   }
  134. if(num==2)
  135.   {
  136.      fen++;
  137.      if(fen==60)
  138.      fen=0;
  139. write_sfm(7,fen);
  140. write_com(0x80+0x40+7);  
  141. }
  142. if(num==3)
  143. {
  144. shi++;
  145. if(shi==24)
  146. shi=0;
  147. write_sfm(4,shi);
  148. write_com(0x80+0x40+4);
  149. }
  150. }
  151. }
  152. if(jian==0)
  153. {
  154. delay(5);
  155. if(jian==0)
  156. {
  157. while(!jian);
  158. if(num==1)
  159. {
  160. miao--;
  161. if(miao==-1)
  162. miao=59;
  163. write_sfm(10,miao);
  164. write_com(0x80+0x40+10);
  165. }
  166. if(num==2)
  167. {
  168. fen--;
  169. if(fen==-1)
  170. fen=59;
  171. write_sfm(7,fen);
  172. write_com(0x80+0x40+7);
  173. }
  174. if(num==3)
  175. {
  176. shi--;
  177. if(shi==-1)
  178. shi=23;
  179. write_sfm(4,shi);
  180. write_com(0x80+0x40+4);
  181. }
  182. }
  183. }
  184. }
  185. }
  186. /*主函數(shù)*/
  187. void main()
  188. {
  189.   init();
  190.   while(1)
  191.   {
  192.      keyscan();
  193.   }
  194. }
  195. /*定時(shí)器中斷函數(shù)*/
  196. oid timer0()interrupt 1
  197. {
  198. TH0=(65536-50000)/256;
  199. TL0=(65536-50000)%256;
  200. count++;
  201. if(count==20)
  202. {
  203.   count=0;
  204.   miao++;


  205. {
  206.   if(miao==60)
  207. miao=0;
  208. fen++;
  209. if(fen==60)
  210. {
  211. fen=0;
  212. shi++;
  213. if(shi==24)
  214. {
  215.   shi=0;
  216. }
  217. write_sfm(4,shi);    //時(shí)時(shí)鐘動(dòng)作
  218. }
  219. write_sfm(7,fen);     //分時(shí)鐘動(dòng)作
  220. }
  221. write_sfm(10,miao);   //秒時(shí)鐘動(dòng)作
  222. }
  223. }
復(fù)制代碼



作者: 5011996    時(shí)間: 2019-12-18 10:38
能說(shuō)一下wela  dula是什么嗎
作者: 5011996    時(shí)間: 2019-12-18 17:24
有沒(méi)有硬件連接圖啊,方便學(xué)習(xí)!
作者: 獨(dú)醉笑清風(fēng)    時(shí)間: 2021-11-27 18:54
有原理圖嗎,方便學(xué)習(xí)!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜精品一区二区三区在线观看 | 亚洲精品一区二区三区在线 | 免费午夜电影 | 色伊人 | 久久福利电影 | 欧美日日 | 国产特级毛片aaaaaa喷潮 | 日日碰狠狠躁久久躁96avv | 刘亦菲国产毛片bd | 国产 欧美 日韩 一区 | 国产精品日韩欧美一区二区三区 | 精品一区二区不卡 | 91在线观看 | 久久久婷 | 亚洲不卡 | 日韩精品一区二区三区在线播放 | 狠狠爱网址 | 国产一区二区三区 | 亚洲视频精品在线 | 欧美亚洲视频 | 日韩超碰在线 | 中文天堂在线一区 | 久久国产精品视频 | 久久久av中文字幕 | 日韩精品视频在线 | 欧美成人免费在线视频 | 久久网亚洲 | 国产成人网 | 亚洲精品久久久一区二区三区 | 奇米四色影视 | 成人免费一区二区三区视频网站 | 亚洲综合在线视频 | 神马九九| 99re国产| 91精品国产91久久久久久吃药 | 国产一区二区在线播放 | 99精品免费视频 | 国产ts人妖另类 | 亚洲精品成人在线 | 亚洲精品大全 | 国内久久精品 |