71彩票app下载: [活动专区] 【赛元95F】 + 5、SC95F8617串口输出

永利游戏开户直营
239|1
楼主


    使用串口输出数据。


    一、电路图

    1.1、串口使用P2.0,71彩票app下载:P2.1为串口通信引脚。
   

    1.2、使用74HC125+74HC138来选择串口通道,这里选择USB-TTL通道。
   

    1.3、使用USB-TTL输出数据
   

    二、驱动程序

   2.1、main.c

  1. #include "config.h"

  2. void main(void)
  3. {
  4.         uint i=0;
  5.         Init_led();
  6.         Init_uart(32, 9600);
  7.         uart_chl(1);   //USB-TTL
  8.         while(1)
  9.         {
  10.                 uart_send_string(" www.socmcu.com sc95f8617 uart test \r\n");
  11.                 LED0=0;
  12.                 LED1=1;
  13.                 LED2=0;
  14.                 LED3=1;
  15.                 for(i=0;i<50000;i++);
  16.                 for(i=0;i<50000;i++);
  17.                 LED0=1;
  18.                 LED1=0;
  19.                 LED2=1;
  20.                 LED3=0;
  21.                 for(i=0;i<50000;i++);
  22.                 for(i=0;i<50000;i++);
  23.         }
  24. }
复制代码
   
    2.2、uart.c
  1. #include "config.h"

  2. bit UartSendFlag = 0; //·¢?í?D??±ê????
  3. bit UartReceiveFlag = 0; //?óê??D??±ê????

  4. void uart_chl(uchar ul)
  5. {
  6.         switch (ul)
  7.   {
  8.           case 0:   //rs485
  9.                         UART_CHA=0;
  10.                   UART_CHB=0;
  11.                   break;
  12.           case 1:   //usb-ttl
  13.                         UART_CHA=1;
  14.                   UART_CHB=0;
  15.                   break;
  16.           default:
  17.                   break;
  18.   }
  19. }

  20. void Init_uart(uint Freq, unsigned long int baud)
  21. {
  22.         P2CON &= ~0x03;   
  23.         P2PH  |= 0x03;
  24.        
  25.         P5CON &= ~0x14  ; //0001 0100
  26.         P5CON |= 0x14  ;
  27.         P5PH  |= 0x14;
  28.        
  29.         SCON  |= 0X50;   
  30.         TMCON |= 0X02;
  31.         TH1 = (Freq*1000000/baud)>>8;          
  32.         TL1 = Freq*1000000/baud;
  33.         TR1 = 0;
  34.         ET1 = 0;
  35.         //EUART = 1;      
  36.         EA = 1;
  37. }

  38. void uart_send_char(uchar ch)  
  39. {
  40.         SBUF=ch;
  41.         while(TI==0);
  42.         TI=0;
  43. }
  44. void uart_send_string(uchar *str)
  45. {
  46.         while(*str )
  47.         {
  48.                 uart_send_char(*str ++);
  49.         }
  50. }

  51. ////uartint
  52. //void UartInt(void) interrupt 4
  53. //{
  54. //        if(TI)
  55. //        {
  56. //                TI = 0;       
  57. //                UartSendFlag = 1;               
  58. //        }
  59. //        if(RI)
  60. //        {
  61. //                RI = 0;       
  62. //                UartReceiveFlag = 1;
  63. //        }       
  64. //}

复制代码


    1.3、uart.h
  1. #ifndef __UART_H__
  2. #define __UART_H__

  3. sbit UART_CHA = P5^2;
  4. sbit UART_CHB = P5^4;

  5. void Init_uart(uint Freq, unsigned long int baud);
  6. void uart_chl(uchar ul);
  7. void uart_send_char(uchar ch);
  8. void uart_send_string(uchar *str);

  9. #endif
复制代码


    三、执行结果

    3.1、串口输出数据
   

   3.2、运行视频
    DL6指示灯闪烁,表示串口有数据输出
   

沙发
| 2020-4-3 18:23 | 只看该作者
非常感谢楼主分享
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
yh91.com 99suncity.com 华夏联盟娱乐平台 菲律宾申博sun1855.com手机客户端下载 永利游戏开户直营
五亿彩票网app下载直营网 赛马会彩票官网 4567彩票正规 彩宝网平台 百合彩票在线开户
cc彩票代理 凤凰888平台 彩票55网站直营网 天王娱乐城电子游戏直营网 大通彩票正规
澳门金沙网上娱乐下载 凤凰888开户直营网 老k游戏官方下载登入 彩13平台 吉祥彩票网站直营网