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

標題: stm8紅外避障程序 [打印本頁]

作者: 晴楓    時間: 2017-7-22 16:21
標題: stm8紅外避障程序
stm8紅外避障程序下載:
stm8紅外避障程序.zip (411.73 KB, 下載次數: 9)

  1. /*****************************************************************
  2. * 實驗名稱及內容:趣味實驗之壁障檢測
  3. * 配套書籍:《深入淺出STM8單片機入門、進階與應用實例》
  4. * 交流QQ群: 305348768
  5. * 實驗平臺及編程人員:思修電子工作室"祥云小王子"開發(fā)版 Long
  6. ******************************************************************/
  7. #include "iostm8s208mb.h"//主控芯片的頭文件
  8. #include "stdio.h"//需要使用printf()函數故而包含該頭文件
  9. /************************常用數據類型定義*************************/
  10. #define u8  uint8_t
  11. #define u16 uint16_t
  12. #define u32 uint32_t
  13. typedef unsigned char    uint8_t;
  14. typedef unsigned short   uint16_t;
  15. typedef unsigned long    uint32_t;
  16. /*************************端口/引腳定義區(qū)域***********************/
  17. #define  Obstacle_evading  PE_IDR_IDR6    //連接至避障傳感器引腳
  18. /**************************函數聲明區(qū)域***************************/
  19. void delay(u16 Count);          //延時函數聲明
  20. void UART3_Init(void);         //串口3初始化函數
  21. void UART3_SendByte(u8 data);  //串口3發(fā)送單個字符函數
  22. int putchar(int ch);           //發(fā)送字符重定向函數
  23. /**************************主函數區(qū)域*****************************/
  24. void main(void)
  25. {
  26.   CLK_CKDIVR=0x00;      //選定HSI時鐘源,配置頻率為16MHz
  27.   delay(10);            //延時等待時鐘穩(wěn)定
  28.   UART3_Init();         //初始化串口3
  29.   delay(50);
  30.   PE_DDR_DDR6=0;        //配置PE6端口為輸入模式
  31.   PE_CR1_C16=1;         //配置PE6端口為弱上拉輸入模式
  32.   PE_CR2_C26=1;         //使能PE6端口外部中斷
  33.   while(1)              //死循環(huán)
  34.   {
  35.     if(Obstacle_evading==0)//檢測到障礙物
  36.     {
  37.       //printf("<I>18");  //提示音1
  38.       //delay(1000);
  39.       printf("<G>前方有障礙物\n");
  40.       delay(1000);
  41.       while(!Obstacle_evading);//直到遠離障礙物
  42.     }
  43.   }
  44. }
  45. /****************************************************************/
  46. //延時函數delay(),有形參Count用于控制延時函數執(zhí)行次數,無返回值
  47. /****************************************************************/
  48. void delay(u16 Count)
  49. {
  50.   u8 i,j;
  51.   while (Count--)//Count形參控制延時次數
  52.   {
  53.     for(i=0;i<50;i++)
  54.       for(j=0;j<20;j++);
  55.   }
  56. }
  57. /****************************************************************/
  58. //初始化函數UART3_Init(),無形參和返回值
  59. /****************************************************************/
  60. void UART3_Init(void)
  61. {
  62.   //1.設定通信數據位數,此處設定為8位數據位,無校驗位
  63.   UART3_CR1 = 0x00;
  64.   //2.設定通信停止位位數,此處設定為1位停止位
  65.   UART3_CR3 = 0x00;
  66.   //3.配置通信波特率參數,此處配置為9600bps(16MHz頻率下)
  67.   UART3_BRR2 = 0x03;
  68.   UART3_BRR1 = 0x68;
  69.   //4.使能發(fā)送和接收功能
  70.   UART3_CR2 = 0x0C;
  71. }
  72. /****************************************************************/
  73. //發(fā)送單字符函數UART3_SendByte(),有形參data,無返回值
  74. /****************************************************************/
  75. void UART3_SendByte(u8 data)
  76. {
  77.    UART3_DR=data;//發(fā)送數據到UART3數據寄存器
  78.    while (!(UART3_SR & 0x80));//等待發(fā)送完畢
  79. }
  80. /****************************************************************/
  81. //發(fā)送字符重定向函數putchar(),有形參ch,有返回值
  82. /****************************************************************/
  83. int putchar(int ch)
  84. {  
  85.   while((UART3_SR&0x80)==0x00);
  86.   UART3_SendByte((u8)ch);//將Printf內容發(fā)往串口
  87.   return (ch);
  88. }
復制代碼







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人亚洲网 | 久久久久成人精品免费播放动漫 | 免费观看av网站 | 成人精品国产 | 91精品国产综合久久婷婷香蕉 | 综合网中文字幕 | 综合视频在线 | 精品国产三级 | 精品一区二区三区在线视频 | www.精品国产 | 欧美在线不卡 | 国产ts人妖系列高潮 | 91精品久久久久久久久中文字幕 | .国产精品成人自产拍在线观看6 | 欧美日韩在线综合 | 久久久久久毛片免费观看 | 欧美精品一区二区三区四区 在线 | 中文字幕在线一区二区三区 | 偷拍第一页 | 狠狠干综合视频 | 一区二区三区亚洲 | 成人美女免费网站视频 | 精品毛片在线观看 | 亚洲免费精品 | 欧美成人精品一区二区男人看 | 亚洲一区二区三区四区在线观看 | 国产精品中文字幕一区二区三区 | 亚洲激情一区二区三区 | 亚洲欧美日韩精品久久亚洲区 | 日韩精品视频中文字幕 | 麻豆国产精品777777在线 | 黄色三级免费 | 国产特一级黄色片 | 自拍偷拍亚洲欧美 | 国产视频欧美 | 男女啪啪高潮无遮挡免费动态 | 国产一区2区 | 亚洲视频一区在线观看 | 91社区在线观看播放 | 一区二区三区在线免费观看视频 | 欧美影院|