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

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

QQ登錄

只需一步,快速開(kāi)始

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

簡(jiǎn)易頻率計(jì)+AD原理圖+單片機(jī)代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)簡(jiǎn)易頻率計(jì)原理圖如下:



----------------------------------------------------------------------------------------------------
第一部分:文件夾命名規(guī)則
----------------------------------------------------------------------------------------------------
APP        應(yīng)用程序文件夾
BRD        板載設(shè)備驅(qū)動(dòng)與使用文件夾
CPU        微控制器相關(guān)文件夾
CPU-CFF    微控制器內(nèi)存等配置文件夾
CPU-STP    微控制器啟動(dòng)代碼文件夾
ELS        其他代碼文件夾
FUC        通用自定義代碼文件夾
GEN        通用標(biāo)準(zhǔn)代碼文件夾
PRJ        工程文件夾
PRJ-EXE    IAR工程輸出可執(zhí)行文件文件夾
PRJ-OBJ    工程輸出文件文件夾
PRJ-LST    工程輸出鏈表文件夾
SYS        操作系統(tǒng)文件夾

51單片機(jī)源程序
  1. //==================================================================================================
  2. //  工程功能:
  3. //  工程等級(jí):工程級(jí)/驅(qū)動(dòng)級(jí)
  4. //  工程硬件:STC89C52RC
  5. //  工程軟件:Keil C51 uVision4
  6. //  工程作者:智心科技(ZhiXinKeJi)(http://bengbucollege.taobao.com/)
  7. //  工程創(chuàng)建:2014-10-31
  8. //  工程版次:1
  9. //  工程修改:2014-10-31
  10. //  修改內(nèi)容:
  11. //==================================================================================================

  12. //==============================包含的頭文件========================================================
  13. #include"MAIN.H"                            // 包含全局頭文件,

  14. //==============================定義全局變量========================================================
  15. unsigned long Freq_CUNT;

  16. //==================================================================================================
  17. //  實(shí)現(xiàn)功能:主函數(shù)
  18. //  函數(shù)說(shuō)明:
  19. //  函數(shù)備注:
  20. //==================================================================================================
  21. void main(void)
  22. {
  23.         TIME_Cnfg();                // 配置 定時(shí)器(TIME)
  24.         SEGx4_Init();                // 初始化 SEGx4

  25.         while(1)
  26.         {        
  27.                 if(Freq_CUNT<=10000)                        
  28.                 {
  29.                         SEGx4_ShowNumbx4(Freq_CUNT);                // 1Hz單位
  30.                         LEDx2_Sets(LEDc1,LEDs0);                        // 黃燈亮
  31.                         LEDx2_Sets(LEDc2,LEDs1);                        // 綠燈滅
  32.                 }
  33.                 else if(Freq_CUNT<=400000)
  34.                 {
  35.                         SEGx4_ShowNumbx4(Freq_CUNT/1000);        // 1KHz單位
  36.                         LEDx2_Sets(LEDc1,LEDs1);                        // 黃燈滅
  37.                         LEDx2_Sets(LEDc2,LEDs0);                        // 綠燈亮
  38.                         DELAY_nMS(1000);
  39.                 }
  40.                 else
  41.                 {
  42.                         SEGx4_ShowStrg("----");                                //
  43.                         LEDx2_Sets(LEDc1,LEDs1);                        // 黃燈滅
  44.                         LEDx2_Sets(LEDc2,LEDs1);                        // 綠燈滅
  45.                 }
  46.         }
  47. }
復(fù)制代碼
  1. /*================================================================================================*/
  2. /*  文件功能:SEGx4-四位數(shù)碼管                                                                    */
  3. /*  文件說(shuō)明:端口直接連接方式                                                                    */
  4. /*  硬件平臺(tái):STC89C52RC                                                                          */
  5. /*  軟件平臺(tái):Keil uVision4-C51 V9.0                                                              */
  6. /*================================================================================================*/

  7. //==============================包含的頭文件========================================================
  8. #include"MAIN.H"                            // 包含全局頭文件,
  9. #include"SEGx4.H"                           // 包含外設(shè)頭文件,SEGx4-四位數(shù)碼管
  10. #include"SEGx4_FONT.H"                      // 包含外設(shè)頭文件,SEGx4-四位數(shù)碼管/字庫(kù)文件


  11. //==============================硬件端口定義========================================================
  12. #define SEGx4_DATAPORT P0                   // 定義 SEGx4 段碼 8位端口
  13. sbit SEGx4_BIT0=P2^4;                       // 定義 SEGx4 位碼 0號(hào)端口
  14. sbit SEGx4_BIT1=P2^5;                       // 定義 SEGx4 位碼 1號(hào)端口
  15. sbit SEGx4_BIT2=P2^6;                       // 定義 SEGx4 位碼 2號(hào)端口
  16. sbit SEGx4_BIT3=P2^7;                       // 定義 SEGx4 位碼 3號(hào)端口


  17. //==============================宏自定義聲明========================================================
  18. //  SEGx4 位數(shù)
  19. #define SEGx4_UNIT              4           // 數(shù)據(jù)引腳,數(shù)據(jù)端口使用的數(shù)量。


  20. //==============================定義引用變量========================================================
  21. unsigned char SEGx4_ShowData[SEGx4_UNIT];   // 定義字符數(shù)組,存放待顯示字符編碼



  22. //==================================================================================================
  23. //  函數(shù)功能:SEGx4 初始化
  24. //  函數(shù)標(biāo)記:應(yīng)用函數(shù),完成,
  25. //  函數(shù)說(shuō)明:   
  26. //--------------------------------------------------------------------------------------------------
  27. //  輸入?yún)⒘浚簾o(wú)
  28. //  輸出參量:無(wú)
  29. //==================================================================================================
  30. void SEGx4_Init(void)
  31. {        

  32. }

  33. //==================================================================================================
  34. //  函數(shù)功能:SEGx4 顯示字符串
  35. //  函數(shù)標(biāo)記:應(yīng)用函數(shù),完成,
  36. //  函數(shù)說(shuō)明:   
  37. //--------------------------------------------------------------------------------------------------
  38. //  輸入?yún)⒘浚篲STRG:待顯示的字符串;
  39. //  輸出參量:無(wú)
  40. //==================================================================================================
  41. void SEGx4_ShowStrg(unsigned char *_STRG)
  42. {
  43.         unsigned char i=0;        //定義局部變量,一定賦予初始值為0
  44.         unsigned char j;                //定義局部變量,用于循環(huán)
  45.         while(*_STRG)
  46.         {
  47.                 for(j=0;j<32;j++)                                                        //循環(huán)32次,查詢(xún)數(shù)碼管字模位置
  48.                 {
  49.                         if(SEGx4_CODE[j].CHAR==*_STRG)        //判斷第k個(gè)字符的編碼是否與輸入字符相等
  50.                         {
  51.                                 SEGx4_ShowData[i]=SEGx4_CODE[j].CODE;        
  52.                                 i++;
  53.                                 break;
  54.                         }
  55.                 }
  56.                 _STRG++;
  57.         }        
  58. }

  59. //==================================================================================================
  60. //  函數(shù)功能:SEGx4 顯示 4位整型數(shù)字
  61. //  函數(shù)標(biāo)記:應(yīng)用函數(shù),完成,
  62. //  函數(shù)說(shuō)明:   
  63. //--------------------------------------------------------------------------------------------------
  64. //  輸入?yún)⒘浚篲STRG:待顯示的字符串;
  65. //  輸出參量:無(wú)
  66. //==================================================================================================
  67. void SEGx4_ShowNumbx4(unsigned int _NUMB)
  68. {
  69.         unsigned char i,j;                                //定義局部變量,用于循環(huán)計(jì)數(shù)
  70.         unsigned char Numb_Arry[4];        //定義局部數(shù)組,用于存儲(chǔ)變量

  71.         Numb_Arry[0]=_NUMB/1000 %10+0x30;
  72.         Numb_Arry[1]=_NUMB/100  %10+0x30;
  73.         Numb_Arry[2]=_NUMB/10   %10+0x30;
  74.         Numb_Arry[3]=_NUMB/1    %10+0x30;

  75.         for(i=0;i<4;i++)
  76.         {
  77.                 for(j=0;j<32;j++)                                                                        //循環(huán)32次,查詢(xún)數(shù)碼管字模位置
  78.                 {
  79.                         if(SEGx4_CODE[j].CHAR==Numb_Arry[i])        //判斷第k個(gè)字符的編碼是否與輸入字符相等
  80.                         {
  81.                                 SEGx4_ShowData[i]=SEGx4_CODE[j].CODE;
  82.                                 break;        
  83.                         }
  84.                 }
  85.         }
  86. }

  87. //==================================================================================================
  88. //  函數(shù)功能:SEGx4 T2 中斷服務(wù)函數(shù)
  89. //  函數(shù)標(biāo)記:中斷函數(shù),完成,
  90. //  函數(shù)說(shuō)明:   
  91. //--------------------------------------------------------------------------------------------------
  92. //  輸入?yún)⒘浚簾o(wú)
  93. //  輸出參量:無(wú)
  94. //==================================================================================================
  95. void SEGx4_IRQHandler(void)
  96. {
  97.         static unsigned char SEGx4_BITS=0;                // 定義全局變量,用于循環(huán)數(shù)碼管位數(shù)         
  98.         SEGx4_BIT0=1;
  99.         SEGx4_BIT1=1;
  100.         SEGx4_BIT2=1;
  101.         SEGx4_BIT3=1;
  102.         //----------------------------------------------------------------------------------------------
  103.         // 段碼
  104.         //----------------------------------------------------------------------------------------------        
  105.         SEGx4_DATAPORT=SEGx4_ShowData[SEGx4_BITS];        

  106.         //----------------------------------------------------------------------------------------------
  107.         // 位碼
  108.         //----------------------------------------------------------------------------------------------
  109.         switch(SEGx4_BITS)                                       
  110.         {
  111.                 case 0:SEGx4_BIT0=0;SEGx4_BIT1=1;SEGx4_BIT2=1;SEGx4_BIT3=1;break;
  112.                 case 1:SEGx4_BIT0=1;SEGx4_BIT1=0;SEGx4_BIT2=1;SEGx4_BIT3=1;break;
  113.                 case 2:SEGx4_BIT0=1;SEGx4_BIT1=1;SEGx4_BIT2=0;SEGx4_BIT3=1;break;
  114.                 case 3:SEGx4_BIT0=1;SEGx4_BIT1=1;SEGx4_BIT2=1;SEGx4_BIT3=0;break;
  115.                 default:break;
  116.         }

  117.         //----------------------------------------------------------------------------------------------
  118.         // 循環(huán)移位
  119.         //----------------------------------------------------------------------------------------------
  120.         SEGx4_BITS++;
  121.         if(SEGx4_BITS>5)
  122.         {

  123. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………

復(fù)制代碼

下載:
簡(jiǎn)易頻率計(jì)-第01A版.zip (451.63 KB, 下載次數(shù): 45)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品美女www爽爽爽 | 久久精品国产亚洲 | 日韩一区二区久久 | 欧美黄色小视频 | 久久鲁视频 | 精品亚洲一区二区 | 91国内在线观看 | 古典武侠第一页久久777 | 中文字幕视频一区 | 国产区第一页 | 国产美女高潮 | 日本免费视频 | 日本一二三区高清 | 亚洲欧美另类在线观看 | 亚洲91视频 | 午夜亚洲 | 欧美日韩视频在线播放 | 久久99精品久久久久 | 亚洲综合中文字幕在线观看 | 国内精品视频在线观看 | 欧美精品久久 | 中文字幕视频在线免费 | 国产精品1区| 91天堂| 国产91综合一区在线观看 | 国产精品一区二区免费看 | 亚洲一区二区视频在线播放 | 亚洲欧洲在线视频 | 好姑娘高清在线观看电影 | av免费网站在线观看 | 亚洲免费视频网址 | 91av在线电影 | 91一区二区三区 | 紧缚调教一区二区三区视频 | 99国产精品久久久久老师 | 精品免费国产一区二区三区 | 成人妇女免费播放久久久 | 一区二区在线 | 性网站免费 | 久久国产一区二区 | 人人精品 |