色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          1602控制forMSP430

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          1. /*****************************************************************
          2. //文件名:1602.h
          3. //描述:該頭文件定義與1602有關(guān)的各種接口、函數(shù),適用于MSP430F149
          4. //編寫人:小邪@清水
          5. //版本號:1.00
          6. *****************************************************************/
          7. #include
          8. #include"1602.h"
          9. #defineucharunsignedchar
          10. #defineuintunsignedint
          11. ucharNUM[]={"0123456789."};
          12. /*****************************************************************
          13. //關(guān)于1602的一些宏定義
          14. //注意:除第三個外都要根據(jù)實(shí)際使用IO口更改
          15. *****************************************************************/
          16. #defineDataDirP4DIR
          17. #defineDataPortP4OUT
          18. #defineBusy0x80
          19. #defineCtrlDirP3DIR
          20. #defineCLR_RSP3OUT&=~BIT0;//RS=P3.0
          21. #defineSET_RSP3OUT|=BIT0;
          22. #defineCLR_RWP3OUT&=~BIT1;//RW=P3.1
          23. #defineSET_RWP3OUT|=BIT1;
          24. #defineCLR_ENP3OUT&=~BIT2;//EN=P3.2
          25. #defineSET_ENP3OUT|=BIT2;
          26. /*************************************************************************
          27. //名稱:delay
          28. //參數(shù):無
          29. //返回值:無
          30. //功能:延時5ms的時間
          31. *************************************************************************/
          32. voidDelay5ms(void)
          33. {
          34. uinti=40000;
          35. while(i!=0)
          36. {
          37. i--;
          38. }
          39. }
          40. /*************************************************************************
          41. //名稱:WaitForEnable
          42. //參數(shù):無
          43. //返回值:無
          44. //功能:等待直到1602完成當(dāng)前操作
          45. *************************************************************************/
          46. voidWaitForEnable(void)
          47. {
          48. P4DIR&=0x00;//將P4口切換為輸入狀態(tài)
          49. CLR_RS;
          50. SET_RW;
          51. _NOP();
          52. SET_EN;
          53. _NOP();
          54. _NOP();
          55. while((P4IN&Busy)!=0);//檢測忙標(biāo)志
          56. CLR_EN;
          57. P4DIR|=0xFF;//將P4口切換為輸出狀態(tài)
          58. }
          59. /*************************************************************************
          60. //名稱:WriteCommand
          61. //參數(shù):cmd--命令,chk--是否判忙的標(biāo)志,1:判忙,0:不判
          62. //返回值:無
          63. //功能:向1602寫指令
          64. *************************************************************************/
          65. voidWriteCommand(ucharcmd,ucharchk)
          66. {
          67. if(chk)WaitForEnable();//檢測忙信號
          68. CLR_RS;
          69. CLR_RW;
          70. _NOP();
          71. DataPort=cmd;//將命令字寫入數(shù)據(jù)端口
          72. _NOP();
          73. SET_EN;//產(chǎn)生使能脈沖信號
          74. _NOP();
          75. _NOP();
          76. CLR_EN;
          77. }
          78. /*************************************************************************
          79. //名稱:WriteData
          80. //參數(shù):unsignedcharData
          81. //返回值:無
          82. //功能:向1602寫入數(shù)據(jù)
          83. *************************************************************************/
          84. voidWriteData(uchardata)
          85. {
          86. WaitForEnable();//等待液晶不忙
          87. SET_RS;
          88. CLR_RW;
          89. _NOP();
          90. DataPort=data;//將顯示數(shù)據(jù)寫入數(shù)據(jù)端口
          91. _NOP();
          92. SET_EN;//產(chǎn)生使能脈沖信號
          93. _NOP();
          94. _NOP();
          95. CLR_EN;
          96. }

          97. 上一頁 1 2 下一頁

          關(guān)鍵詞: 1602控制MSP43

          評論


          技術(shù)專區(qū)

          關(guān)閉