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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1817|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)定時(shí)器測(cè)量頻率程序 用1602液晶顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:595580 發(fā)表于 2021-4-16 16:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. /*******************************************************************
  2. *                                                                  *
  3. *         555定時(shí)器試驗(yàn) -—— 頻率計(jì)                               *
  4. *                                                                  *
  5. *                                                                  *
  6. * LCD1602顯示                                                      *
  7. *改變VR1電位器的電阻值,觀察液晶屏頻率發(fā)生變化                                                *
  8. *                                                                  *
  9. *******************************************************************/

  10. #include <reg52.h>
  11. #include <intrins.h>
  12. #include "1602.h"

  13. unsigned char code cdis1[] =
  14. {
  15.   "    CYMOMETER   "   //頻率計(jì)
  16. };
  17. unsigned char code cdis2[] =
  18. {
  19.   "FREQ:        Hz "
  20. };

  21. bit sec = 0;
  22. unsigned char msec = 0, Hdata = 0, Ldata = 0, Count = 0;
  23. unsigned long temp = 0;
  24. unsigned char data display[] =
  25. {
  26.   0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  27. };

  28. char code reserve[3]_at_ 0x3b; //保留0x3b開始的3個(gè)字節(jié)

  29. /*********************************************************

  30. us延時(shí)函數(shù)   (4.34us)

  31. *********************************************************/
  32. void delayNOP()
  33. {
  34.   _nop_();
  35.   _nop_();
  36.   _nop_();
  37.   _nop_();
  38. }

  39. /*********************************************************

  40. ms延時(shí)函數(shù)

  41. *********************************************************/
  42. void delayms(unsigned int ms)
  43. {
  44.   unsigned char n;
  45.   while (ms--)
  46.   {
  47.     for (n = 0; n < 114; n++)
  48.       ;
  49.   }
  50. }

  51. /**********************************************************
  52. *                                                         *
  53. * 顯示函數(shù)                                                *
  54. *                                                         *
  55. **********************************************************/
  56. void play()
  57. {
  58.   unsigned char n;

  59.   for (n = 0; n <= 4; n++)
  60.   //數(shù)據(jù)轉(zhuǎn)換
  61.   {
  62.     display[n] = temp % 10+0x30;
  63.     temp = temp / 10;
  64.   }
  65.   display[5] = temp + 0x30;

  66.   for (n = 5; n > 0; n--)
  67.   //高位為"0"不顯示
  68.   {
  69.     if (display[n] == 0x30)
  70.       display[n] = 0x20;
  71.     else
  72.       break;
  73.   }

  74.   lcd_pos(0x46); //顯示實(shí)際頻率值
  75.   for (n = 5; n != 0xff; n--)
  76.     lcd_wdat(display[n]);
  77. }

  78. /*********************************************************
  79. *                                                        *
  80. * 主函數(shù)                                                 *
  81. *                                                        *
  82. *********************************************************/
  83. void main()
  84. {
  85.   unsigned char m;
  86.   unsigned long frq_num;

  87.   P3 = 0xff;

  88.   lcd_init();
  89.   lcd_pos(0x00); //設(shè)置顯示位置為第一行
  90.   for (m = 0; m < 16; m++)
  91.     lcd_wdat(cdis1[m]);
  92.   //顯示字符
  93.   lcd_pos(0x40); //設(shè)置顯示位置為第二行
  94.   for (m = 0; m < 16; m++)
  95.     lcd_wdat(cdis2[m]);
  96.   //顯示字符

  97.   TMOD = 0x51; //定時(shí)器0工作在定時(shí)方式
  98.   //定時(shí)器1工作在計(jì)數(shù)方式
  99.   TH0 = 0x4c; //50ms定時(shí)
  100.   TL0 = 0x00;
  101.   TH1 = 0x00; //計(jì)數(shù)初值
  102.   TL1 = 0x00;
  103.   ET0 = 1; //使能TIMER0中斷
  104.   ET1 = 1; //使能TIMER1中斷
  105.   EA = 1; //允許中斷
  106.   PT1 = 1; //定義TIMER1中斷優(yōu)先
  107.   TR0 = 1;
  108.   TR1 = 1;

  109.   while (1)
  110.   {
  111.     if (sec)
  112.     {
  113.       Hdata = TH1; //取計(jì)數(shù)值
  114.       Ldata = TL1;
  115.       frq_num = ((Count *65535+Hdata * 256+Ldata) *108 / 100);
  116.       TH1 = 0;
  117.       TL1 = 0;
  118.       sec = 0;
  119.       Count = 0;
  120.       TR1 = 1;
  121.       TR0 = 1;
  122.     }
  123.     temp = frq_num;
  124.     play();
  125.   }
  126. }

  127. /**********************************************************
  128. *                                                         *
  129. * Time0中斷函數(shù)                                           *
  130. *                                                         *
  131. **********************************************************/
  132. void Time0()interrupt 1
  133. {
  134.   TH0 = 0x4c; //50ms定時(shí)
  135.   TL0 = 0x00;
  136.   msec++;
  137.   if (msec == 20)
  138.   //50*20=1S
  139.   {
  140.     TR0 = 0; //關(guān)閉TIMER0
  141.     TR1 = 0; //關(guān)閉TIMER1
  142.     msec = 0;
  143.     sec = 1; //置秒標(biāo)記位
  144.   }
  145. }

  146. /**********************************************************
  147. *                                                         *
  148. * Time1中斷函數(shù)                                           *
  149. *                                                         *
  150. **********************************************************/
  151. void Time1()interrupt 3
  152. {
  153.   Count++;
  154. }

  155. /*********************************************************/
復(fù)制代碼

hex文件: 21 555脈沖發(fā)生器.rar (172.81 KB, 下載次數(shù): 13)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久免费 | 国产精品视频网址 | 四虎成人免费电影 | 国内自拍真实伦在线观看 | 日韩国产精品一区二区三区 | 最近中文字幕在线视频1 | 狼人伊人影院 | www久久99| 精品久久一区二区 | 亚洲欧美一区二区在线观看 | a级免费视频 | 亚洲日本中文字幕在线 | 国产精品一区二区福利视频 | 欧美日韩高清一区二区三区 | 精品国产欧美 | 男女网站视频 | 日韩精品欧美精品 | 综合久久久久 | 久久国产一区二区三区 | 九色视频网站 | 国产成人自拍av | 免费午夜视频在线观看 | 日本成人一区二区 | 国产精品日韩欧美一区二区 | 亚洲精品一区在线 | 日韩成人一区 | www.日韩| 99久久精品免费看国产高清 | 欧美一级欧美三级在线观看 | 亚洲精品视频久久 | 日本三级日产三级国产三级 | 欧美日韩在线精品 | 国产一区二区三区 | 久久久久久九九九九 | 四虎首页 | 亚洲精品一区中文字幕乱码 | 91久久久久久久久久久 | 中国一级特黄真人毛片免费观看 | 亚洲精选久久 | 四虎成人精品永久免费av九九 | 欧美色a v|