当前位置: 首页 > news >正文

响水哪家专业做网站怎样查网站的注册地点

响水哪家专业做网站,怎样查网站的注册地点,做网站宽高怎么决定,深圳网站seo教程基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器… 基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器列表基于STC12C5A60S2系列1T 8051单片机串口通信用到的特殊功能寄存器STC12C5A60S2系列1T 8051单片机辅助寄存器AUXRSTC12C5A60S2系列1T 8051单片机辅助寄存器AUXR1串口1控制寄存器SCON串口电源控制寄存器PCON串口数据缓冲寄存器SBUF串口辅助寄存器AUXR串口中断寄存器 基于STC12C5A60S2系列1T 8051单片机串口1通信工作模式串口1通信模式0串口1通信模式1串口1通信模式2串口1通信模式3 串口通信波特率设置基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能介绍串口通信简单介绍基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能电路连接及工作原理电路连接工作原理 基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能编程主单片机程序从单片机程序 基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能实现结果 STC12C5A60S2系列1T 8051单片机管脚图 # STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置# STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍 STC12C5A60S2系列1T 8051单片机串口通信介绍 STC12C5A60S2系列1T 8051单片机串口通信的结构 基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器列表 基于STC12C5A60S2系列1T 8051单片机串口通信用到的特殊功能寄存器 STC12C5A60S2系列1T 8051单片机辅助寄存器AUXR 作用:用来设置STC12C5A60S2系列1T 8051单片机串口通信类型、波特率 STC12C5A60S2系列1T 8051单片机辅助寄存器AUXR1 作用:用来设置STC12C5A60S2系列1T 8051单片机串口通信引脚切换 串口1控制寄存器SCON 作用:用来设置STC12C5A60S2系列1T 8051单片机串口通信以下功能 (1)、设置串口通信工作模式 (2)、设置串口方式2或方式3多机通信 (3)、设置串口通信允许接收 (4)、设置串口通信在方式2或方式3下发送第9位数据 (5)、设置串口通信通信在方式2或方式3下接收第9位数据 (6)、设置串口通信发送中断请求 (7)、设置串口通信接收中断请求 串口电源控制寄存器PCON 作用:用来设置STC12C5A60S2系列1T 8051单片机串口通信以下功能 (1)、设置串口通信波特率选择 (2)、设置串口通信帧错误检测有效控制 串口数据缓冲寄存器SBUF 作用:用来设置STC12C5A60S2系列1T 8051单片机串口通信发送或接收数据 串口辅助寄存器AUXR 作用:用来设置STC12C5A60S2系列1T 8051单片机串口通信类型、波特率 串口中断寄存器 作用:用来设置STC12C5A60S2系列1T 8051单片机串口通信中断允许、中断优先级 基于STC12C5A60S2系列1T 8051单片机串口1通信工作模式 串口1通信模式0 串口1通信模式1 串口1通信模式2 串口1通信模式3 串口通信波特率设置 基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能介绍 串口通信简单介绍 基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能电路连接及工作原理 电路连接 工作原理 主单片机先给从单片机发送数据 从单片机接收主单片机发送来的数据后 再把这个数据返回给主单片机发送数据 基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能编程 主单片机程序 main.c #include stc12c5a60s2.h #include "Uart.h" #include "Timer0.h" #include "Key.h" //#include "Digitron.h" #include "stdio.h" #define uchar unsigned char//自定义无符号字符型为uchar #define uint unsigned int//自定义无符号整数型为uint sbit LED = P1^6;//声明单片机P1.6端口为LED接口 void PortModeSet()//端口模式设置函数 {P0M1 = 0x00;P0M0 = 0x00;P1M1 = 0x00;P1M0 = 0x00;P2M1 = 0x00;P2M0 = 0x00;P3M1 = 0x00;P3M0 = 0x00;P4M1 = 0x00;P4M0 = 0x00;}void main()//主函数 { // uchar Data0 = 88;//定义数据变量为88 // uint Data1 = 1250;//定义数据变量为1250 // uint Data2 = 12.5;//定义数据变量为12.5 // uint Data = 55;//定义数据变量为55 // uchar ShiWeiData = Data / 10 + '0';//定义十位数值变量 取Data = 55 把数字55的十位数字5分解出来 注意分解出来的5是'5'表示字符5不是数字5 把字符5写入单片机数据缓存器 单片机数据缓存器会把字符5发送给串口调试助手软件接收区 如果串口调试助手软件接收区选十六进制数模式显示 那么字符5以ASCII码对应的十六进制数模式给显示出0x35来 如果串口调试助手软件接收区选文本模式显示 那么字符5以文本模式给显示出数字5来 为什么数据分解后+'0'? 因为单片机运算字符是字符对应的ASCII码的二进制数值或十进制数值或十六进制数值 这里取单片机运算字符对应的ASCII码十进制数值 如:字符'0'的ASCII码的十进制数是48 字符'1'的ASCII码的十进制数是49 字符'2'的ASCII码的十进制数是50 .... 字符'9'的ASCII码的十进制数是57 而编译器对于'0'会自动视为是'0'ASCII码的十进制数48 举例:拿Data = 251来分解 则有:Data/100=2 Data/10%10=5 data%10=1 要把数据型251转化成字符串为"251" 可拆开看成'2' '5' '1' 它们对应的ASCII码十进制数分别为50 53 49 而Data/100=2+'0'=2+48=50 Data/10%10=5+'0'=5+48=53 data%10=1+'0'=1+48=49 算出50 53 49这三个十进制数分别对上字符'2' '5' '1'的ASCII码十进制数为50 53 49 这就是为什么数据分解后+'0'的原因 // uchar GeWeiData = Data % 10 +'0';//定义个位数值变量 取Data = 55 把数字55的个位数字5分解出来 注意分解出来的5是'5'表示字符5不是数字5 把字符5写入单片机数据缓存器 单片机数据缓存器会把字符5发送给串口调试助手软件接收区 如果串口调试助手软件接收区选十六进制数模式显示 那么字符5以ASCII码对应的十六进制数模式给显示出0x35来 如果串口调试助手软件接收区选文本模式显示 那么字符5以文本模式给显示出数字5来 为什么数据分解后+'0'? 解释同上PortModeSet();//端口模式设置函数Uart1Init();//串行口1工作模式1的8位串行口波特率可变初始化函数 波特率为9600bps 晶振为12MHzTimer0Init();//定时器0的16位定时模式1用12分频定时2ms初始化函数 晶振为12MHz // DigitronBootDisplay();//数码管开机显示函数 // printf("Wait For Serial Communication Test Start....\r\n");//打印提示语句 // printf("Please Send a Frame Of Data....\r\n");//打印提示语句while(1)//主循环{ KeyScanResult();//按键扫描结果函数 // SendData('8');//注意'8'表示字符8不是数字8 把字符8写入单片机数据缓存器 单片机数据缓存器会字符8发送给串口调试助手软件接收区 如果串口调试助手软件接收区选十六进制数模式显示 那么字符8以ASCII码对应的十六进制数模式给显示出0x38来 如果串口调试助手软件接收区选文本模式显示 那么字符8以文本模式给显示出数字8来 // SendData('\r');//回车 ASCII码对应的十六进制数为0x0a // SendData('\n');//换行 ASCII码对应的十六进制数为0x0d // SendString("Hello World!\r\n");//发送字符串函数 // printf("Hello World!\r\n");//打印字符串 // printf("Data0 = %bu\r\n",Data0);//打印无符号字符型数据 // printf("Data1 = %u\r\n",Data1);//打印无符号整数型数据 // printf("Data2 = %f\r\n",Data2);//打印单精度浮点型数据 // SendData('a');//把字符a写入单片机数据缓存器 单片机数据缓存器会字符a发送给串口调试助手软件接收区 如果串口调试助手软件接收区选十六进制数模式显示 那么字符a以ASCII码对应的十六进制数模式给显示出0x61来 如果串口调试助手软件接收区选文本模式显示 那么字符a以文本模式给显示出字符a来 // SendData('1');//注意'1'表示字符1不是数字1 把字符1写入单片机数据缓存器 单片机数据缓存器会字符1发送给串口调试助手软件接收区 如果串口调试助手软件接收区选十六进制数模式显示 那么字符1以ASCII码对应的十六进制数模式给显示出0x31来 如果串口调试助手软件接收区选文本模式显示 那么字符1以文本模式给显示出数字1来 // SendData(ShiWeiData);//发送数据Data的十位数 // SendData('\r');//换行 // SendData('\n');//回车 // SendData(GeWeiData);//发送数据Data的个位数if(ReceiveOverDataFlag == 1)//判断接收完数据标志位变量是否置1 即主单片机串行口数据缓存器已经接收完从单片机发送来的数据{ReceiveOverDataFlag = 0;//接收完数据标志位变量清0LED = 0;//点亮LED灯KeyPressNumber = ReceiveData;//接收数据变量含有的数值赋给按键按下数值变量 即主单片机串行口数据缓存器接收从单片机发送来的数据赋给按键按下数值变量 // RS485DIR = 1;//启动RS485发送数据控制 // ReceiveData = ReceiveData + 1;//接收数据变量累加 // SendData(ReceiveData);//单片机通过串行口通信把来自计算机串口调试助手软件从发送区发送来的数据发回给计算机串口调试助手软件接收区显示出来 // RS485DIR = 0;//启动RS485接收数据控制 准备下一次收发数据循环 // printf("\r\n");//打印换行回车 // printf("%bd\r\n",ReceiveData);//打印整数数据}}}Uart.c /*****关于8051系列单片机定时器溢出率、波特率和定时器初值(定时计数初值)之间计算的知识点*****/ /**** 一、定时器溢出率计算公式 1、定时器溢出率:定时器每秒溢出的次数 2、定时器溢出率计算公式表定时方式 分频方式 公式 方式1:16位定时器 12分频(即12T 默认值) Ft=晶振频率/12/(65536-定时器初值) 方式2:8位定时器 12分频(即12T 默认值) Ft=晶振频率/12/(256-定时器初值) 方式1:16位定时器 1分频(即1T) Ft=晶振频率/1/(65536-定时器初值) 方式2:8位定时器 1分频(即1T) Ft=晶振频率/1/(256-定时器初值) 二、波特率计算公式 1、波特率:每秒传输二进制位数的多少 2、波特率计算公式表定时方式 分频方式 公式 方式1:16位定时器T1 12分频(即12T 默认值) 波特率=晶振频率/12/(65536-定时器初值)/4 方式2:8位定时器T1 12分频(即12T 默认值) 波特率=晶振频率/12/(256-定时器初值)*2^SMOD/32 方式1:16位定时器T2 12分频(即12T 默认值) 波特率=晶振频率/12/(65536-定时器初值)/4 方式1:16位定时器T1 1分频(即1T) 波特率=晶振频率/1/(65536-定时器初值)/4 方式2:8位定时器T1 1分频(即1T) 波特率=晶振频率/1/(256-定时器初值)*2^SMOD/32 方式1:16位定时器T2 1分频(即1T) 波特率=晶振频率/1/(65536-定时器初值)/4 三、根据波特率计算定时器初值(定时器定时计数)定时方式 分频方式 公式 方式1:16位定时器T1 12分频(即12T 默认值) 定时器初值(定时计数)=65536-晶振频率/(48*波特率) 方式2:8位定时器T1 12分频(即12T 默认值) 定时器初值(定时计数)=256-晶振频率*2^SMOD/(384*波特率) 方式1:16位定时器T2 12分频(即12T 默认值) 定时器初值(定时计数)=65536-晶振频率/(48*波特率) 方式1:16位定时器T1 1分频(即1T) 定时器初值(定时计数)=65536-晶振频率/(4*波特率) 方式2:8位定时器T1 1分频(即1T) 定时器初值(定时计数)=256-晶振频率*2^SMOD/(32*波特率) 方式1:16位定时器T2 1分频(即1T) 定时器初值(定时计数)=65536-晶振频率/(4*波特率) *****/ #include "Uart.h" #include "stdio.h" #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整形 bit ReceiveOverDataFlag = 0;//定义接收完数据标志位变量为0 uint ReceiveData = 0;//定义接收数据变量为0void Uart1Init()//串行口1工作模式1的8位串行口波特率可变初始化函数 波特率为9600bps 晶振为12MHz {SCON = 0x50;//工作模式1的8位串行口波特率可变AUXR = 0xBF;//定时器时钟12T模式AUXR = 0xFE;//串口1选择定时器1为波特率发生器PCON = 0x7f;//波特率不加倍TMOD = 0x0f;//定时器/计数器工作模式清0TMOD |= 0x20;//设定定时器/计数器为定时器 工作模式为8位自动重装定时器1模式2TH1 = 0xfd;//设定定时器1高八位初值TL1 = 0xfd;//设定定时器1低八位初值ET1 = 0;//禁止定时器1中断ES = 1;//允许串行口1中断EA = 1;//开总中断TR1 = 1;//打开定时器1 // RS485DIR = 0;//启动RS485接收数据控制}void MasterSendData(uint Data)//主单片机发送数据函数 即主单片机给从单片机发送数据 {SBUF = Data;//把数据变量Data含有数据写入主单片机数据缓存器 主单片机数据缓存器会把数据变量Data含有数据发送给从单片机数据缓存器while(!TI)//当数据发送结束标志位变量TI为0 表示数据还没发送完 若数据发送结束标志位变量TI为1 表示数据已发送完 从而触发串口中断 最后需在串口中断程序中或者在其他程序中把数据发送结束标志位变量TI清0 才能进行下一次发送TI = 0
http://www.yayakq.cn/news/1412/

相关文章:

  • 企业做网站公司怎么样天琥设计培训学校官网
  • 芒市网站建设公司青岛有没有做网站的
  • 做网站文字编辑累吗用源码做自己的网站
  • 网站建设风景课程设计报告深圳网站设计比较好的公司有哪些
  • 网站页面优化分析网站代理浏览器一
  • 企业网站建站系统网站宣传需要多少钱
  • 做h5页面网站有哪些域名多少钱一年
  • 深圳中高端网站建设怎么样网站建设服务器 几核
  • 腾讯云域名备案需要提供网站建设方案书怎么建立一个公众号
  • 网站建设公司哪家好智搜宝微信公众号被收费299
  • 可信赖的扬中网站建设江苏缘生源建设工程有限公司网站
  • 没有虚拟主机怎么建网站专业优定软件网站建设
  • 怎么做公司销售网站wordpress添加幻灯片
  • 工程公司手机网站wordpress调用最近发布的文章
  • 怎样优化网站自然排名慈溪建设网站
  • 武隆专业网站建设公司怎么用软件做原创视频网站
  • 购物网站html代码东莞网站搭建建站公司
  • vps 上传网站莱芜金点子招工招聘
  • 高性能网站建设进阶做网站的流程图
  • 南宁市做网站的公司自己写的html放入wordpress
  • 建公司网站报价良精企业网站管理系统源码 后台不能编辑产品
  • 怎样做instergram网站营销c2c平台怎么下载
  • 广州新塘网站seo优化深圳网站营销seo多少费用
  • 建设银行申请信用卡网站王也的八奇技是什么
  • 电子商务网站设计说明书做公司网站哪里好
  • 网站建设公司的排名网站建设免费视屏教程
  • 网站建设实验七莆田专业建站公司
  • 电子元件做的比较好的网站门户网站团队建设
  • 用织梦同时做两个网站wordpress 图片旋转代码
  • php网站开发考试国外设计文章的网站