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

          新聞中心

          1602控制forMSP430

          作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
        1. /*************************************************************************
        2. //名稱(chēng):LocateXY
        3. //參數(shù):unsignedcharx,unsignedchary
        4. //返回值:無(wú)
        5. //功能:確定1602寫(xiě)入數(shù)據(jù)的位置,X為行坐標(biāo),Y為列坐標(biāo)(都從0開(kāi)始)
        6. *************************************************************************/
        7. voidLocateXY(ucharx,uchary)
        8. {
        9. uchartemp;
        10. temp=x&0x0f;
        11. y&=0x01;
        12. if(y)temp|=0x40;//如果在第2行
        13. temp|=0x80;
        14. WriteCommand(temp,1);
        15. }
        16. /*************************************************************************
        17. //名稱(chēng):LcdInit
        18. //參數(shù):無(wú)
        19. //返回值:無(wú)
        20. //功能:1602初始化
        21. *************************************************************************/
        22. voidLcdInit(void)
        23. {
        24. CtrlDir|=0x07;//控制線(xiàn)端口設(shè)為輸出狀態(tài)
        25. DataDir|=0xFF;//數(shù)據(jù)端口設(shè)為輸出狀態(tài)
        26. WriteCommand(0x38,0);//規(guī)定的復(fù)位操作
        27. Delay5ms();
        28. WriteCommand(0x38,0);
        29. Delay5ms();
        30. WriteCommand(0x38,0);
        31. Delay5ms();
        32. WriteCommand(0x38,1);//顯示模式設(shè)置
        33. WriteCommand(0x08,1);//顯示關(guān)閉
        34. WriteCommand(0x01,1);//顯示清屏
        35. WriteCommand(0x06,1);//寫(xiě)字符時(shí)整體不移動(dòng)
        36. WriteCommand(0x0c,1);//顯示開(kāi),不開(kāi)游標(biāo),不閃爍
        37. }
        38. /*************************************************************************
        39. //名稱(chēng):WriteStr
        40. //參數(shù):待寫(xiě)入數(shù)組的首地址,unsignedintn,unsignedcharx,unsignedchary
        41. //返回值:無(wú)
        42. //功能:在給定位置顯示一個(gè)數(shù)組,長(zhǎng)度為l
        43. *************************************************************************/
        44. voidWriteStr(uchar*a,uintl,ucharx,uchary)
        45. {
        46. uchari;
        47. LocateXY(x,y);
        48. for(i=0;i
        49. WriteData(a[i]);
        50. }
        51. /*************************************************************************
        52. //名稱(chēng):WriteNum
        53. //參數(shù):待寫(xiě)入數(shù)字,unsignedcharx,unsignedchary
        54. //返回值:無(wú)
        55. //功能:在給定位置顯示一個(gè)數(shù)字(不超過(guò)5位且小于65536)
        56. *************************************************************************/
        57. voidWriteNum(uintn,ucharx,uchary)
        58. {
        59. ucharfive,four,three,two,one;
        60. LocateXY(x,y);
        61. if((n>=10000)&&(n<=65535))
        62. {
        63. five=n/10000;
        64. four=(n%10000)/1000;
        65. three=((n-five*10000)%1000)/100;
        66. two=((n-five*10000)%1000-three*100)/10;
        67. one=((n-five*10000)%1000-three*100)%10;
        68. WriteData(NUM[five]);
        69. WriteData(NUM[four]);
        70. WriteData(NUM[three]);
        71. WriteData(NUM[two]);
        72. WriteData(NUM[one]);
        73. }
        74. if((n>=1000)&&(n<=9999))
        75. {
        76. four=n/1000;
        77. three=(n%1000)/100;
        78. two=(n%1000-three*100)/10;
        79. one=(n%1000-three*100)%10;
        80. WriteData(NUM[four]);
        81. WriteData(NUM[three]);
        82. WriteData(NUM[two]);
        83. WriteData(NUM[one]);
        84. }
        85. if((n>=100)&&(n<=999))
        86. {
        87. three=n/100;
        88. two=(n-three*100)/10;
        89. one=(n-three*100)%10;
        90. WriteData(NUM[three]);
        91. WriteData(NUM[two]);
        92. WriteData(NUM[one]);
        93. }
        94. if((n>=10)&&(n<=99))
        95. {
        96. two=n/10;
        97. one=n%10;
        98. WriteData(NUM[two]);
        99. WriteData(NUM[one]);
        100. }
        101. if((n>0)&&(n<=9))WriteData(NUM[n]);
        102. }
        103. /*************************************************************************
        104. //名稱(chēng):WriteFloat
        105. //參數(shù):待寫(xiě)入浮點(diǎn)數(shù),unsignedcharx,unsignedchary
        106. //返回值:無(wú)
        107. //功能:在給定位置顯示一個(gè)浮點(diǎn)數(shù)(整數(shù)部分和小數(shù)部分都不超過(guò)兩位)
        108. *************************************************************************/
        109. voidWriteFloat(floatn,ucharx,uchary)
        110. {
        111. uintInteger,Decimal;//Integer用于存放整數(shù)部分,Decimal用于存放小數(shù)部分
        112. Integer=(uint)(n/1);
        113. Decimal=(uint)(n*100-Integer*100);
        114. WriteNum(Integer,x,y);
        115. WriteData(NUM[10]);
        116. WriteNum(Decimal,x+3,y);
        117. }


        118. 上一頁(yè) 1 2 下一頁(yè)

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉