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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于DSP的鍵盤接口設計報告 含仿真與源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:348166 發表于 2018-7-21 21:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
電子與通信工程學院
專業課程設計報告
2017 ~ 2018 學年第2學期
基于DSP的鍵盤接口設計
專       業:    電子與通信工程         
班       級:      通信151

課程設計報告


【課題名稱】基于DSP的鍵盤接口設計

【摘    要】隨著21世紀的到來,電子信息行業將是人類社會的高科技行業之一,式設施現代化的基礎,也是人類通往科技巔峰的直通路。電子行業的發展從長遠來看很重要,但最主要的還是科技問題。行列式鍵盤提高效率進行按鍵操作管理有效方法,它可以提高系統準確性,有利于資源的節約,降低對操作者本身素質的要求。是它能準時、實時、高效地顯示按鍵信息,以提高工作效率和資源利用率。行列式鍵盤乃是當今使用最為廣泛的鍵盤模式之一,該系統以8個端口連接控制4*4個按鍵,即時在LCD數碼管上。單片機控制的據這是鍵盤顯示系統,該系統可以對不同的按鍵進行實時顯示,其核心是插上2407主控板的DSP實驗箱和鍵盤矩陣電路部分,主要對按鍵與顯示電路的關系、矩陣式技術及設備系統的硬件、軟件等各個部分進行實現。4*4矩陣式鍵盤采用插上2407主控板的DSP實驗箱為核心,主要由矩陣式鍵盤電路、譯碼電路、顯示電路等組成,軟件選用匯編語言編程。單片機將檢測到的按鍵信號轉換成數字量,顯示于LCD顯示器上。該系統靈活性強,易于操作,可靠性高,將會有更廣闊的開發前景。


一、引言
便攜式嵌入設備包括各種手持設備及各種信息家電,在這類產品中既要有實時的信號處 理能力,又需要有強大的操作控制功能,因此基于DSP芯片的設計方案成為這些產品的主流。 目前在便攜音頻處理中,TI公司的TMS320VC54x系列應用最為廣泛[1],但是54x系列芯片屬 于運算高密度型DSP器件,因此其外設控制能力不強,外部接口很少,給各種擴展帶來不便, 本文介紹一種新的基于TMS320VC5416的鍵盤顯示擴展設計方案,利用串行控制的 HD7279A鍵盤顯示擴展芯片,僅占用DSP的2個IO口和1個中斷,能實現64鍵鍵盤和64路LED 的控制。

二、總體方案設計
1、通過4 * 4的行列式鍵盤,TMS320F2407的8個I / O口與之相連,用掃描法來進行按鍵識別。使行線一直處于高電平,在某一時刻只讓一條列線處于低電平,而其余列線處于高電平。那么按下鍵的那列電平就會拉成低電平,判斷出哪列為低電平就可以判斷出按鍵號碼。
2、要求正確掌握CCS2000的安裝和調試方法,以及DSP實驗箱下載調試的步驟; 2.要求正確掌握鍵盤信號的輸入和DSP I/O的使用; 3.要求鍵盤信號之間的時序能正確識別和引入。
3、根據行列式鍵盤的特點,進行鍵盤控制系統的整體研究與設計;
4、熟練掌握CCS2000軟件的使用,并能夠按要求對設計的電路進行仿真,實現相應的功能;
5、.LCD液晶顯示屏實時顯示按鍵的信息;
6、采用軟件編程的方法實現按鍵信息的提取和顯示。

三、設計原理分析
1、設計原理
實驗箱上提供一個4x4的行列式鍵盤。2407的8個I/O口與之相連,這里按鍵的識別方法是掃描法。鍵被按下時,與此鍵相連的行線電平將由與此鍵相連的列線電平決定,而行線的電平在無按鍵按下時處于高電平狀態。如果讓所有的列線也處于高電平,那么鍵按下與否不會引起行線電平的狀態變化,始終為高電平。所以,讓所有的列線處于高電平是無法識別出按鍵的。現在反過來,讓所有的列線處于低電平,很明顯,按鍵所在的行電平將被拉成低電平。根據此行電平的變化,便能判斷此行一定有按鍵被按下,但還不能確定是哪個鍵被按下。假如是5鍵按下,為了進一步判定是哪一列的鍵被按下,可在某一時刻只讓一條列線處于低電平,而其余列線處于高電平。那么,按下鍵的那列電平就會拉成低電平,判斷出哪列為低電平就可以判斷出按鍵號碼。、
2、實現設備

2.1、一臺裝有CCS2000軟件的計算機;

CCS2000具有以下特性:TI編譯器的完全集成的環境:CCS2000目標管理系統,內建編輯器,所有的調試和分析能力集成在一個Windows環境中。對c和DSP匯編文件的目標管理:目標編輯器保持對所有文件及相關內容的跟蹤。它只對最近一次編譯中改變過的文件重新編譯,以節省編譯時間。高集成的編輯器調整C和DSP匯編代碼:CCS2000的內建編輯器支持C和匯編文件的動態語法加亮顯示。使用戶能很容易地閱讀代碼和當場發現語法錯誤,對編輯和調試時的后臺編輯:用戶在使用編譯器和匯編器時沒有必要退出系統到DOS環境中,因為CCS2000會自動將這些工具裝載在它的環境中。在其窗口中,錯誤會加亮顯示只要雙擊錯誤就可以直接到達出錯處。PDM允許將命令傳播給所有的或選擇的處理器。在任何算法點觀察信號的圖形窗口探針,圖形顯示窗口使用戶能夠觀察時域或頻域內的信號。

2.2、 插上2407主控板的DSP實驗箱;(仿真器模塊,顯示控制模塊,DSP評估板模塊,行列式鍵盤模塊)

ICETEK-LF2407-A板是一塊很獨立的目標板,它非常適合檢驗LF2407DSP的性能,此外,本目標板提供了LF240x系列芯片進行擴展和運行軟件的標準平臺。 ICETEK-LF2407-A板使用了TMS320LF2407DSP芯片,兼容所有LF2407的使用代碼,它具有2.5K字節的片上數據存儲器,128K板上存儲器,片上UART,DAC7625模數轉換器。此EVM板還提供了DSP的擴展引腳,方便了用戶外搭所需電路。許多用戶接口可利用簡單的代碼進行擴展,從而縮短了調試時間。 ICETEK-LF2407-A 板功能:它主要的接口包括目標存儲器接口、模擬接口、CAN總線接口、并口、用戶指示燈和開關、外部擴展接口。

LF2407提供了128K的靜態存儲器,外部I/O口支持相應的64k I/O端口,片上的CAN總線和RS232端口可用做擴展連接。


五、總結和體會

通過本次CCS2000環境下矩陣鍵盤掃描LCD顯示的仿真實驗,讓我了解并熟悉了CCS2000軟件的安裝和調試方法,DSP實驗箱下載調試的步驟以及CCS環境下的DSP的匯編語言程序編寫方法,對于液晶顯示模塊控制程序的編寫和矩陣鍵盤的信號識別原理也有了更深的認識,對今后DSP的進一步學習奠定了應用基礎。運行程序后,在按下鍵盤上的按鍵時,會顯示相對應的鍵號(鍵號為:0-9、A-D、#、* 共十六的鍵號),其顯示是通過液晶顯示器顯示出來。了解了4*4矩陣鍵盤的設定及其IO口的配置方式,進一步掌握用匯編語言編寫DSP程序的方法,及編譯、除錯能力。


程序:

  1. #include "tms320uc5402.h"
  2. ioport short port8002;       //寫lcd指令地址
  3. ioport short port8003;       //寫lcd數據地址
  4. unsigned int p;
  5. char send_buff=0x00;
  6. char rece_buff=0x00;
  7. unsigned int data_buff=0x0000;
  8. void sys_ini()                   //系統初始化子程序
  9. {
  10.     /*全局禁止所有可屏蔽中斷*/
  11.      asm(" ssbx INTM");
  12.     /*(DRAM映射到程序空間和數據空間)向量表映射到0x0080空間*/         
  13.      PMST&=0x00FF;
  14.     /*io空間7個等待周期,程序與數據空間0個等待周期*/            
  15.      SWWSR=0x7000;
  16.     /*設置pll為div模式*/      
  17.     CLKMD=0x0000;              
  18.     /*等待設置完成*/
  19.      while(CLKMD==0x0001);      
  20.     {
  21.      }
  22.     /*CLKOUT=(3+1)*CLKIN=40M,自動延時最長時間*/
  23.      CLKMD=0x37FA;  
  24.     /*CLKOUT=(1+1)*CLKIN=20M,自動延時最長時間*/            
  25.      //CLKMD=0x17FA;                           
  26. }
  27. void delay_ms()            //延時40ms
  28. {
  29.   unsigned int k;
  30.   for(k=0;k<60000;k++);
  31. }

  32. void delay_us()           //延時100us
  33. {
  34.   unsigned int k;
  35.   for(k=0;k<200;k++);
  36. }
  37. void  delay(int number)
  38. {
  39. unsigned  int i,k;
  40. for(i=0;i<50;i++);
  41. for(k=0;k<number;k++);
  42. }
  43. void McBSP1_ini()               //初始化多通道緩存串口1為通用IO
  44. {
  45.     /*復位多通道串口0的接收*/
  46.      SPSA2=SPCR1;
  47.      SPSD2=0x0000;
  48.     /*復位多通道串口0的發送*/
  49.      SPSA2=SPCR2;
  50.      SPSD2=0x0000;
  51. /*定義CLKXM腳為io輸出腳初始值0,BFSX腳為io輸出腳初始值1,CLKRM腳為io輸出腳初始值1*/
  52.      SPSA2=PCR;
  53.      SPSD2=0x3B09;
  54. }  
  55. void lcd_show(char a[])
  56. {
  57.   int x;
  58.   char * string=a;  for(x=0;x<strlen(a);x++)
  59.   {
  60.      port8003=* string;
  61.      string++;
  62.      delay_us();
  63.   }
  64. }
  65. void lcd_ini()
  66. {
  67.   delay_ms();                //延時40ms
  68.   port8002=0x0030;           //8位控制界面,基本指令集
  69.   delay_us();
  70.   port8002=0x0030;           //8位控制界面,基本指令集
  71.   delay_us();
  72.   port8002=0x000C;           //整體顯示,顯示游標 ,顯示游標位置
  73.   delay_us();
  74.   port8002=0x0001;           //清除顯示
  75.   delay_ms();
  76.   port8002=0x0006;           //光標右移
  77.   delay_us();
  78. }
  79. void int3_ini()                 //中斷3初始化子程序
  80. {
  81.     /*使能外部中斷3*/
  82.      IMR=0x0100;               
  83.     /*清除所有中斷標志位*/
  84.      IFR=0xFFFF;     
  85.     /*全局使能可屏蔽中斷*/
  86.      asm(" rsbx INTM");        
  87. }
  88. void delay_8us()                //延時8us子程序
  89. {
  90.      unsigned int i;
  91.      for(i=0;i<30;i++);
  92. }
  93. void delay_50us()               //延時50us子程序
  94. {
  95.      unsigned int j;
  96.      for(j=0;j<170;j++);
  97. }
  98. void delay_25ms()               //延時25ms子程序
  99. {
  100.      unsigned int k;
  101.      for(k=0;k<50000;k++);
  102.      for(k=0;k<45000;k++);
  103. }
  104. void delay_long()               //長延時子程序
  105. {
  106. unsigned int n,s;
  107. for(n=0;n<6000;n++)
  108.    for(s=0;s<600;s++);     
  109. }
  110. void cs_high()                   //7279cs置高子程序
  111. {
  112.      SPSA2=PCR;
  113.      SPSD2|=0x0001;
  114. }
  115. void cs_low()                    //7279cs置高子程序
  116. {
  117.      SPSA2=PCR;
  118.      SPSD2&=0xFFFE;
  119. }
  120. void send()
  121. {        
  122. unsigned int m;
  123.     cs_low();
  124.     delay_50us();              
  125.     for(m=0;m<8;m++)
  126.     {
  127.           SPSA2=PCR;
  128.           switch(send_buff&0x80)
  129.           {
  130.                 /*7279data置低*/
  131.                 case 0x00:SPSD2&=0xFFF7;break;
  132.                   /*7279data置高*/
  133.                   case 0x80:SPSD2|=0x0008;
  134.            }
  135.          /*7279clk置高*/
  136.          SPSA2=PCR;
  137.          SPSD2|=0x0002;
  138.          delay_8us();
  139.          /*7279clk置低*/
  140.          SPSA2=PCR;
  141.          SPSD2&=0xFFFD;
  142.          delay_8us();
  143.          send_buff<<=1;
  144.     }
  145. }
  146. void receive()
  147. {
  148.          unsigned int s;
  149.        /*將BFSX腳配置為io輸入腳*/
  150.          SPSA2=PCR;
  151.          SPSD2&=0xF7FF;
  152.         /*7279發數據*/
  153.          asm(" rsbx xf");
  154.          delay_50us();
  155.          for(s=0;s<8;s++)
  156.          {
  157.            /*7279clk置高*/
  158.             SPSA2=PCR;
  159.             SPSD2|=0x0002;
  160.             delay_8us();
  161.             SPSA2=PCR;
  162.             data_buff=data_buff|((SPSD2&0x0008)<<(12-s));//讀BFSX引腳數據;
  163.            /*7279clk置低*/
  164.             SPSA2=PCR;
  165.            SPSD2&=0xFFFD;
  166.             delay_8us();
  167.          }   
  168.          rece_buff=data_buff>>8;
  169.         /*清除data_buff*/
  170.          data_buff=0x0000;           
  171.         /*將BFSX腳配置為io輸出腳*/
  172.          SPSA2=PCR;
  173.          SPSD2|=0x0800;
  174.         /*7279收數據*/
  175.          asm(" ssbx xf");
  176. }
  177. interrupt void int3()
  178. {   
  179. char b[]="a    ";
  180. /*讀鍵值指令*/
  181.       send_buff=0x15;   
  182.       send();
  183.       receive();
  184.       /*數據左移指令*/
  185.       send_buff=0xA1;   
  186.       send();
  187.      send_buff=0xC8;
  188.      send();
  189.     /*將接收到的鍵值送顯示*/
  190.      send_buff=rece_buff;
  191.     //send();
  192.       if (rece_buff>=10)
  193.    {
  194.        b[0]=rece_buff+30+30+30-42+7;}
  195.       // return;
  196.    else
  197.      b[0]=rece_buff+30+30+30-42;//-43-7;
  198.      //b[1]=' ';
  199.      lcd_show(b);
  200.      delay(10000);
  201.      delay(10000);
  202.     // delay(10000);
  203. //              delay(10000);
  204.     // delay(10000);
  205.     // delay(10000);
  206.     port8002=0x0001;           //清除顯示   
  207.     delay(6000);
  208.     lcd_show(b);
  209.     return;
  210. void main(void)
  211. {
  212.       sys_ini();   
  213.       McBSP1_ini();
  214.       int3_ini();         
  215.       lcd_ini();        
  216.       delay_25ms();
  217.       /*測燈指令*/
  218.        // send_buff=0x00;   
  219.        //send();
  220.        //delay_long();
  221.        // delay_long();
  222.        /*清除指令*/
  223.        send_buff=0xA4;   
  224.        send();
  225.        /*送出數據0x00~0x0F*/
  226.        //for(p=0;p<3;p++)
  227.        //{
  228.            // send_buff=0xC8;   
  229.            // send();
  230.            // send_buff=p;
  231.             //send();
  232.             // delay_long();
  233.             /*數據左移指令*/
  234.             // send_buff=0xA1;
  235.              //send();   
  236.          // }
  237.         /*清除指令*/
  238.         send_buff=0xA4;   
  239.         send();
  240.         cs_high();
  241.         for(;;);
  242.      }
  243. }
復制代碼



  1. /*  
  2. ;* 文件名稱 : keyboard.c        
  3. ;* 適用平臺 : EXPIII+實驗系統
  4. ;* CPU類型  : DSP TMS320VC54X
  5. ;* 軟件環境 : CCS3.1 (5000系列)
  6. ;* 試驗接線 : 1、實驗箱的撥碼開關SW2.4置OFF(54x的譯碼有效);54x CPU板的跳線J2的1、2短接
  7. ;*              (HPI 8位模式);SW1的2、6置ON,其余置OFF(HPI使能;DSP工作微處理器方式;
  8. ;*               CPU_CS=0);SW2全部置ON(FLASH工作在數據空間,LED燈D5的工作狀態處于滅狀態);
  9. ;*            2、SW2的sw2=OFF,sw1=OFF;對應2X的pdpintb和5X的int3中斷分配給鍵盤中斷使用;
  10. ;*               語音小板的撥碼開關全部置OFF;
  11. ;* 試驗現象 : LED全部點亮后,LED13和LED14顯示出0123456789等字符,并逐漸左移,直到"F"出現后,
  12. ;*            LED 全部變暗。此時按鍵,便可從LED13和LED14上顯示出123456789等按鍵對應的鍵值,
  13. ;*            每個鍵對應一個數,當按下一鍵時LED就會顯示出相對應的數,且向左移動一位。
  14. ;*************************************************************/
  15. /************************文件預處理***************************/
  16. #include "tms320uc5402.h"
  17. /*************************************************************/
  18. ioport short port8002;       //寫lcd指令地址
  19. ioport short port8003;       //寫lcd數據地址

  20. /********************全局變量定義與初始化*********************/
  21. unsigned int p;
  22. char send_buff=0x00;
  23. char rece_buff=0x00;
  24. unsigned int data_buff=0x0000;
  25. /*************************************************************/

  26. /*******************函數、子程序聲明與定義********************/
  27. void sys_ini()                   //系統初始化子程序
  28. {
  29.     /*全局禁止所有可屏蔽中斷*/
  30.      asm(" ssbx INTM");
  31.     /*(DRAM映射到程序空間和數據空間)向量表映射到0x0080空間*/           
  32.      PMST&=0x00FF;  
  33.     /*io空間7個等待周期,程序與數據空間0個等待周期*/            
  34.      SWWSR=0x7000;
  35.     /*設置pll為div模式*/        
  36.      CLKMD=0x0000;               
  37.     /*等待設置完成*/
  38.      while(CLKMD==0x0001);      
  39.      {
  40.      }
  41.     /*CLKOUT=(3+1)*CLKIN=40M,自動延時最長時間*/
  42.      CLKMD=0x37FA;   
  43.     /*CLKOUT=(1+1)*CLKIN=20M,自動延時最長時間*/            
  44.      //CLKMD=0x17FA;                           
  45. }
  46. void delay_ms()            //延時40ms
  47. {
  48.   unsigned int k;
  49.   for(k=0;k<60000;k++);
  50. }

  51. void delay_us()           //延時100us
  52. {
  53.   unsigned int k;
  54.   for(k=0;k<200;k++);
  55. }

  56. void  delay(int number)
  57. {

  58. unsigned  int i,k;
  59. for(i=0;i<50;i++);

  60.   for(k=0;k<number;k++);
  61.   }
  62. void McBSP1_ini()               //初始化多通道緩存串口1為通用IO
  63. {
  64.     /*復位多通道串口0的接收*/
  65.      SPSA2=SPCR1;
  66.      SPSD2=0x0000;
  67.     /*復位多通道串口0的發送*/
  68.      SPSA2=SPCR2;
  69.      SPSD2=0x0000;
  70.     /*定義CLKXM腳為io輸出腳初始值0,BFSX腳為io輸出腳
  71.       初始值1,CLKRM腳為io輸出腳初始值1*/
  72.      SPSA2=PCR;
  73.      SPSD2=0x3B09;
  74. }  

  75. void lcd_show(char a[])
  76. {
  77.   int x;
  78.   char * string=a;
  79.   for(x=0;x<strlen(a);x++)
  80.   {
  81.     port8003=* string;
  82.     string++;
  83.     delay_us();
  84.   }
  85. }
  86.    

  87. void lcd_ini()
  88. {
  89.   delay_ms();                //延時40ms
  90.   port8002=0x0030;           //8位控制界面,基本指令集
  91.   delay_us();
  92.   port8002=0x0030;           //8位控制界面,基本指令集
  93.   delay_us();
  94.   port8002=0x000C;           //整體顯示,顯示游標 ,顯示游標位置
  95.   delay_us();
  96.   port8002=0x0001;           //清除顯示
  97.   delay_ms();
  98.   port8002=0x0006;           //光標右移
  99.   delay_us();
  100. }  
  101. void int3_ini()                 //中斷3初始化子程序
  102. {
  103.     /*使能外部中斷3*/
  104.      IMR=0x0100;               
  105.     /*清除所有中斷標志位*/
  106.      IFR=0xFFFF;      
  107.     /*全局使能可屏蔽中斷*/
  108.      asm(" rsbx INTM");         
  109. }

  110. void delay_8us()                //延時8us子程序
  111. {
  112.      unsigned int i;
  113.      for(i=0;i<30;i++);
  114. }

  115. void delay_50us()               //延時50us子程序
  116. {
  117.      unsigned int j;
  118.      for(j=0;j<170;j++);
  119. }

  120. void delay_25ms()               //延時25ms子程序
  121. {
  122.      unsigned int k;
  123.      for(k=0;k<50000;k++);
  124.      for(k=0;k<45000;k++);
  125. }

  126. void delay_long()               //長延時子程序
  127. {
  128.      unsigned int n,s;
  129.      for(n=0;n<6000;n++)
  130.      {
  131.        for(s=0;s<600;s++)
  132.        {
  133.        }
  134.      }     
  135. }

  136. void cs_high()                   //7279cs置高子程序
  137. {
  138.      SPSA2=PCR;  
  139.      SPSD2|=0x0001;  
  140. }

  141. void cs_low()                    //7279cs置高子程序
  142. {
  143.      SPSA2=PCR;  
  144.      SPSD2&=0xFFFE;
  145. }

  146. void send()
  147. {         
  148.           unsigned int m;
  149.           cs_low();
  150.           delay_50us();               
  151.           for(m=0;m<8;m++)
  152.           {
  153.                SPSA2=PCR;
  154.                switch(send_buff&0x80)
  155.                {
  156.                   /*7279data置低*/
  157.                    case 0x00:SPSD2&=0xFFF7;break;
  158.                   /*7279data置高*/
  159.                    case 0x80:SPSD2|=0x0008;
  160.                }
  161.               /*7279clk置高*/
  162.                SPSA2=PCR;
  163.                SPSD2|=0x0002;
  164.                delay_8us();
  165.               /*7279clk置低*/
  166.                SPSA2=PCR;
  167.                SPSD2&=0xFFFD;
  168.                delay_8us();
  169.                send_buff<<=1;
  170.            }

  171. }

  172. void receive()
  173. {
  174.          unsigned int s;
  175.         /*將BFSX腳配置為io輸入腳*/
  176.          SPSA2=PCR;
  177.          SPSD2&=0xF7FF;
  178.         /*7279發數據*/
  179.          asm(" rsbx xf");
  180.          delay_50us();
  181.          for(s=0;s<8;s++)
  182.          {
  183.            /*7279clk置高*/
  184.             SPSA2=PCR;
  185.             SPSD2|=0x0002;
  186.             delay_8us();
  187.             SPSA2=PCR;
  188.             data_buff=data_buff|((SPSD2&0x0008)<<(12-s));//讀BFSX引腳數據;  
  189.            /*7279clk置低*/
  190.             SPSA2=PCR;
  191.             SPSD2&=0xFFFD;
  192.             delay_8us();
  193.          }   
  194.          rece_buff=data_buff>>8;
  195.         /*清除data_buff*/
  196.          data_buff=0x0000;            
  197.         /*將BFSX腳配置為io輸出腳*/
  198.          SPSA2=PCR;
  199.          SPSD2|=0x0800;  
  200.         /*7279收數據*/
  201.          asm(" ssbx xf");
  202. }   
  203. /*************************************************************/

  204. /*****************中斷服務子程序聲明與定義********************/
  205. interrupt void int3()
  206. {   char b[]="a    ";
  207. /*讀鍵值指令*/
  208.      send_buff=0x15;     
  209.     send();
  210.      receive();
  211.     /*數據左移指令*/
  212.      send_buff=0xA1;     
  213.     send();
  214.      send_buff=0xC8;
  215.     send();
  216.     /*將接收到的鍵值送顯示*/
  217.      send_buff=rece_buff;
  218.     //send();
  219.      
  220.     if (rece_buff>=10)
  221.    {
  222.        b[0]=rece_buff+30+30+30-42+7;}
  223.     // return;
  224.    else
  225.    b[0]=rece_buff+30+30+30-42;//-43-7;
  226.     //b[1]=' ';
  227.     lcd_show(b);
  228.     delay(10000);
  229.     delay(10000);
  230.    // delay(10000);
  231. //        delay(10000);
  232.    // delay(10000);
  233.   // delay(10000);
  234.   port8002=0x0001;           //清除顯示   
  235.   delay(6000);
  236.   lcd_show(b);
  237.      return;
  238. }
  239. /*************************************************************/

  240. /**************************主程序*****************************/
  241. void main(void)
  242. {
  243.          sys_ini();   
  244.          McBSP1_ini();
  245.           int3_ini();         
  246.           lcd_ini();         
  247.           delay_25ms();
  248.          /*測燈指令*/
  249.         // send_buff=0x00;   
  250.          //send();
  251.           //delay_long();
  252.          // delay_long();
  253.          /*清除指令*/
  254.          send_buff=0xA4;   
  255.           send();  
  256.          /*送出數據0x00~0x0F*/
  257.           //for(p=0;p<3;p++)  
  258.           //{
  259.            // send_buff=0xC8;   
  260.            // send();
  261.            // send_buff=p;
  262.             //send();
  263.             // delay_long();
  264.             /*數據左移指令*/
  265.             // send_buff=0xA1;
  266.              //send();   
  267.          // }
  268.          /*清除指令*/
  269.          send_buff=0xA4;   
  270.          send();
  271.           cs_high();
  272.           for(;;);
  273.       /*    char b[]="玉林師范學院";
  274.   sys_ini();
  275. ……………………

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





全部資料51hei下載地址:
DSP課程設計201508402146.zip (125.09 KB, 下載次數: 35)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩在线视频一区 | 国产成人精品一区二区三区 | 伊人爽| 国产三级| 国户精品久久久久久久久久久不卡 | 亚洲国产欧美一区 | 91亚洲国产 | 免费国产一区 | 欧美精品一区二区三区在线四季 | 亚洲一级二级三级 | 日韩在线视频一区二区三区 | 日本一二区视频 | 成人免费精品 | 日操夜操| 欧美精品久久久久 | 日韩一区二区三区四区五区六区 | 99精品欧美一区二区三区综合在线 | 午夜电影一区二区 | 午夜精品| 免费a大片 | 国产精品不卡一区二区三区 | 欧美a在线观看 | 久久激情视频 | 久久精品国产久精国产 | av在线电影网站 | 成人精品久久久 | 黄色一级毛片免费看 | 欧美日韩精品久久久免费观看 | 国产在线一区二区 | 91在线最新 | 欧美综合一区二区三区 | 亚洲成人一区二区 | 精品视频在线一区 | 美女毛片免费看 | 一区二区三区免费 | 中文字幕二区三区 | 精品少妇一区二区三区在线播放 | 成人午夜高清 | 四虎影院在线播放 | 成人国产精品久久久 | 天天澡天天操 |