登录
首页 » Others » STM32 4*4矩阵键盘(扫描方式)

STM32 4*4矩阵键盘(扫描方式)

于 2020-12-05 发布
0 221
下载积分: 1 下载次数: 1

代码说明:

主要实现矩阵键盘的功能。矩阵键盘使用PB8到PB15引脚,其中,PB8到PB11固定为推挽输出,PB12到PB15固定为下拉输入。即,无键按下时,对应PB12到PB15为0,有键按下时,PB12到PB15中,对应的引脚为高。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 软件开发详细设计文档模板
    详细设计文档
    2020-12-06下载
    积分:1
  • 随动硬化本构
    各向同性随动硬化本构UMAT,可直接调用,便于UMAT初学者学习
    2021-05-06下载
    积分:1
  • RS纠错码原理及其实现方法.pdf
    RS纠错编码原理及其实现方法。Zhengzhou Oriole Xinda Electronic Information Cc., Ltd前言随着越来越多的系统采用数字技术来实现,纠错编码技术也得到了越来越广泛的应用。RS码既可以纠正随机错误,又可以纠正突发错误,具有很强的纠错能力,在通信系统中应用广泛。近些年来,随着软件无线电技术的发展,RS编码、译码一般都在通用的硬件平台上实现。通常采用基于FPGA的ⅦHDL编码硬件实现,或者在DSP、单片机上用C和汇编编程软件实现。RS纠错编码涉及的领域很广,特别是设计到很多数学知识。这对那些对数学不太感冒的工程技术人员来书是个不小的挑战。尽管讲RS编码的书籍很多但是那些书都是采用循序渐进,逐步引人的方式从汉明码到循环码,从循环码到BCH码,BCH码再引入悶S码。对亍工程技术人员他们需要的是简明扼要的讲解,和详细的实现方法。本人写这篇文章的宗旨就是尽量最简单的语言最简短的篇幅来讲RS纠错编码原理,把重点来放在实现方法上。为了便于读者仿真,本文采样MLAB程序实现,程序尽量符合硬件C语言写法,读者经过简单修改即可应用到工程中去。本文读者对象本文是为那些初识瑙编码的学生、工程技术人员而写,并不适合做理论研究,如果你是纠错编码方面的学者、专家,那么本文并不适合你。由于作者水平有限,错误在所难免,恳请读者批评指正。不得更改陈文礼2008-01于郑州Zhengzhou Oriole Xinda Electronic Information Cc., Ltd必备的一些代数知识1、在纠错编码代数中,把以二进制数字表示的一个数据系列看成一个多项式。例如二进制数字序列1010111,可以表示成:M(x)=ax+a5x0+a5不5+a+4 TasK +ax+a,x+ank式中的x表示代码的位置,或某个二进制数位的位置,X前面的系数表示码的值。若a;是一位二进制代码,则取值是0或1。dM()称为信息代码多项式多项式次数称系数不为0的x的最高次数为多项式/(x)的次数,记为Of(x)2、域域在R编码理论中起着至关重要的作用。简单点说域GF(2)有2设2个符号[0,n,a2…22且具有以下性质域中的每个元素都可以用a",a,a2,om的和来表示。a←la为本原多项式p(x)的根。运算规则有:在纠错编码运算过程中,加减、乘和除的运算是在伽罗华域中进行。现以GF(2)域中运算为例:加法例:a+a=0010+0110101(模2加法相当于0005与011或减法运算与加法相同乘法例:a·a0=a(8+10)modl5除法例:cs/a0=a-2=a-2+5=a不理解没关系,下面的例子也许对你有帮助。例:mF=4,p(x)=x4+x+1求GF(2")的所有元素因为a为p(x)的根得到a4+a+1=0或a4=a+1(根据运算规则)Zhengzhou Oriole Xinda Electronic Information Cc., Ltd由此可以得到域的所有元素元素二进制对应十进制对应码值000000101000a+100l⊥0110a(a+1)=a+a(mod p(a))12a(a+a=a+a(mod p(a)1011a(a+l(modula))+a+1)10C(a+1=a+a(mod p(a )a(a23+a)a+I(mod p(a)1110a(a+a+D=aa+a(modp(a)tatI(mod p(a))11a(a3+a2+a+1)=a34a2+1(modp(a)1001a(a+a+1=a+l(mod p(a)a(a+1=l(mod(a))由此可以看岀本原多项式是求解域的全部元素的关键。读者也许会有这样的疑问我们如何得到p(x)呢?本原多城式p(x)的特性是2+得到的余式等于0O(X由于作者也是工程技术人员,具体怎么得到p(x),也没有深究过。Zhengzhou Oriole Xinda Electronic Information Cc., Ltd作者在设计RS编码时候都是根据 MATLAB指令rsgeηpoly来得到p(x)。其格式为 rsgenpoly(n,k)参数n为码长一般n=2"-1,k为信息码元个数。例如m4,码长n=15,信息码元长度为9GF(2)的本原多项式可以根据指令>>rsgenpoly(15, 9)得到ans= GF(2 4)array. Primitive polynomial =D 4+D+1 (19 decimal)有读者来信问:我要做一个(158的RS编码,在 MATLAB中输入命令 rsgenpoly(158,128),结果MAB报错Error using =- rsgenpolyN must equal 2m-1 for some integer m这里做一下解释我们S编码时普先要根据码长选取mλ选择原则是2若码长为6那么我们可以选择n=8, rsgenpey命令的第少个参数必须为2"-1,第二个参数司以随便选择只要小于2”-1就形了在此给出m∈(2,16)的所有本原多项式(m=2)P[m+1]={1,1,1}/米1+x+x3*/P[m+1]-{1,1,0,1}/米1+x+x4*/P[m11]={1,1,0,0,1}/米1+x2+x5*/P|m+1={1,0,1,0,0,1};Zhengzhou Oriole Xinda Electronic Information Cc., Ltd(m=6)/米1+x+x6*/P[m+1]={1,1,0,0,0,0,1}7)/来1+x3+x7*P[m+1]={1,0,0,1,0,0,0,1}(m=8)/米14x2+x31x4+x8*/P[m+1]-{1,0,1,1,1,0,0,0,1/*1+x4+x9半P[m1]={1,0,0,0,1,0,0,0,(m=10)/1+x3+x10*/P|m+1={1,0,0,1,0,0,0,0,/*1+x2+x11P[m+1]={1,0,0,0,0,0,0,1}(m=12)/*1+x+x4+x6+x12P[m+1]-{1,1,0,0,、1,0,0,(m=13)/*1+x+x^3+x4+x^13*/P[m+1]={1,1,0,1,1,0,0,00,0,1};(m=14)/*1+x+x6+x10+x14来P[m+1]={1,1,0,0,0,0,1,0,0,0,1,0,0,0,1}(m=15)/米14x+x15*/P[m+1]={1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1};(m=16)/*1+x+x3+x12+x16*/P[m+1]={1,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1};Zhengzhou Oriole Xinda Electronic Information Cc., Ltd二、线性分组码的一些基本概念1、线性分组码一般用(n,)或(n,k,d)表示n为码长,k为信息码元的数目,n-k为监督码元的数目。d表示码元距离。定义:两个码组上对应位置上数字不同的个数称为码组的距离。发送的码字C=(1,C2C3,…C接收的矢量r=(,2,信道错误图样:e=c+r例如c=(1,1,0,0,0)(1,0,001)e=(1+1,1+0,0+0,0+0,0+1)(0,1,0,0,1)从而可以看出从左端起第2位和第5位是错误的2、校验矩阵概念码长为n,信息数为k,监督数为r。这样的一组码形式为:m:m2,P,P2Pm表示第个信息码,P表示第j个校验码各个校验码可从下列线性方程组求得hm+h2m2+…+n+1B1+012+0h2m1+2m2+…+h2m+0p1p20hmn+h,2m2+…+hm+O+0+…+1p,=0式中h;是常数校验方程组可写成校验矩阵100h21h2…,h2k010h000该矩阵具有r行和n列故式(1-1)可以写成c=0或c=08Zhengzhou Oriole Xinda Electronic Information Cc., LtdH矩阵称为[n,k,r码的校验矩阵。发送矢量为C接收矢量为F若rH≠0则说明接收到的码有错误。设错误图样为e则可写成以下关系式r=c+e为了纠错必须知道那些位上存在错误。这可由校正子(又称伴随式)s来确定s=rH=cH +eh=eh译码器的主要任务就是如何从中得到最像e的错误图样e从而译出c=r-e设第讠个是错误的因此e=(00..0第个有错误s=rH=(00…0、100000)00计算出的矢量示出i是出错误的位置。3、生成矩阵概念生成矩阵G,它是一个k行,n列的矩阵若已知信息组m,通过生存矩阵可求得相应的码字。c=mxG(m是k个信息元组成的信息组)这个应该比较容易理解,在此就不做过多解释。、RS码的一些重要性质1、RS码生成多项式:码长n=2”-1,监督元数目r=n-k=2t,能纠正t个错误。Zhengzhou Oriole Xinda Electronic Information Cc., Ltd定义:在(n,k,d)的RS码中,存在唯一的n-k次多项式g(x),使得每一个码多项式c(x)都是g(x)的倍式。g(x)称为n,k,d]RS码的生成多项式一般情况下g(x)=(x-a)(x-a2)…(x-a2)2、定理:在GF(2m)中,每个非0元素(1,a,a2…a22)均满足x2=1,反之x21-1=0的根必在GF(2")中。所以x-1=(x-a)(x-a)x3、RS码的校验多项式由于生成多项式g(x)是x-1的因式g(rh(g(x)为n-k次多项式,则h(x)为k次多项式,k3x+g)hx+…+x+4)由右式可以看出x"1,x2,x的系数均等于0即gg0010h1+g1bo=0g0h+g1h11+…+8nkh2(2k)=0∴.+n-kk-10n-kk式中g0+81h1+…+8nkh1(n=k)(表示X的系数10
    2020-12-08下载
    积分:1
  • 关于移动机器人路径规划的ppt,参考了大量文献,涵盖了几乎可以看到的所有成熟路径规划算法并且加入了很多作者本人的理解。希望对需要的朋友有所帮助
    关于移动机器人路径规划的ppt,参考了大量文献,涵盖了几乎可以看到的所有成熟路径规划算法并且加入了很多作者本人的理解。希望对需要的朋友有所帮助。-on mobile robot path planning ppt reference to the vast body of literature, cover almost all can see the maturity path planning algorithm and to the many authors I understand. Hope to a friend in need of help.
    2021-05-06下载
    积分:1
  • 基于C6000系列DSP的C序包
    里面含有数十个C语言程序,基于C6711和C6200系列DSP,对于DSP初学者而言,无疑提供了一条捷径
    2020-12-08下载
    积分:1
  • 中文新闻类分类语料,共4个类别,分别文化,财经,军事,运动
    文本分训练和测试集,每个类别2000条新闻,简单做分类,测试效果 是足够了
    2020-11-27下载
    积分:1
  • 泰坦尼克号数据集
    Kaggle平台泰坦尼克号数据集+源代码+注释
    2020-12-11下载
    积分:1
  • 华中8型系统二次开发手册
    华中数控8型系统二次开发文档,使用语言C++或C#,实测可用牛屮型数控系统二次开发手册报警简介接口列表升级备份简介接口列表事件简介接口列表代码程序管理简介接口列表网络简介接凵列表牛屮型数控系统二次开发手册修订说明新增报警、升级备份、网络接口牛屮型数控系统二次开发手册二次开发简介通过二次开发,用户可以仅关注需要的东西,通过接口定制软件功能,而不用了解底层功能到底如何实现,能够加快开发进度,提高开发效率。二次开发流程华中型数控系统二次开发软件提供接口,能够采集并设置下位机数据,从而实现对下位机的控制。用户只需要自己开发自己关注的功能界面,然后通过调用封装好的二次开发接口,来调用底层数据,调用成功后将值返回给用户。牛屮型数控系统二次开发手册网络版开发网络版开发,可以脱离下位机,比如开发的软件可以独立到用户的电脑,实现上位机和下位机的个相互独立的部分之间通信。电脑上运行的客户端二次开发软件可以采集或者设置到卜位机的数据如下所小运行在用户电脑上,用户可以自己选择要连接的下位机,连接成功后,可以实现对下位机的实时监控等架作。● Net Server楼回自动co连按2014-061214:35:37信息奇存器变量l参数升级备分轴信息机实买尔机床指令没置是示列信息X284340毫米4916毫米F11Y376080享米-37.6271米G200毫米∠17.8500毫米17.8500亳米7.8500毫米00Q度0.000加工程忘名图1 NetServer运行界面牛屮型数控系统二次开发手册软件包配置及使用日前针对的主流开发平台和,提供了不同的二次开发软件包软件包的介绍对于开发,根据开发环境是或者分别提供两种不冋的软件包。只体如下图所小表1软件包列表开发环境SDK包文件动态Lib库文件( HncNetDillib、 HncNetdildl)C++nclude头文件文件夹WindowsHncApi.CS接口文件HncNetdlldl!动态链接库文件Windows下软件包配置及使用在平台下进行的二次开发,需将的二次开发提供的相关软件包文什加入自己的工程文件夹中。下面就分别介绍中的使用环境下开发库、开发库的配置及使用。二次开发库配置配置开发环境步骤:启动新建一个应用程序工程在工程目录下新建一个目录,将二次开发包中的平台的库文件拷贝到新建的目录下将二次开发包中的头文件目录拷贝到工程目录下右键点击⊥程名称,在弹出菜单中选择属性,弹山属性页;选择酉置属性,,常规,在右边附加包含目录中加入头文件路径。牛屮型数控系统二次开发手册++Demo届性页BC.动D)平含活M2笆运蛋〔D通用属性# USInc到式仨三格式用于“端国实”的程序数兵宇(ZI公共语言运行时支持VC-+三录耿消显示疟动版权标志言等级esCw3优化多处理器编译预处理器为编望序列表用 Unicode代巧生成图2配置 include路径选择酉置属性,,预处理器,在右边预处理定义添加宏定义置C:动 Chur台P:活定in37)「配管理()通卫星性预处理定义WIN52-WINDoWHNC DLL IMP A pEBUG: 9%(Preprace!取所有预处理器宇义否忽暗标唯包含路位否页处西到文件页处理取消显示行号否保密注选择配置属性,链接器,输入,在右边附加依赖项中输入,库文件所在路径在忽略特定目录库中输入C+Deme性页(C)后动 Debue)≌(:活动ir32配置兰理稀p通用唐性加农酸项lib/HncNtDIl lib: %(Additional Dcps置属性忽暗所有默认库常规忽路持正默认库c凵 BCD. LIl调过vC++E录标模块忝序哉入托曾资源文件穿规强制符号引用加载的DLL穿规调式图3配置lib路径牛屮型数控系统二次开发手册在生成目标文件所在的文件夹中,加入文件在应用程序文件中加入凼数库头文件的声明,例如至此,用户就可以在中调用网络模块的函数,开始编写应用程序。具体代码可参见以及二次开发范例。二次开发库配置配置开发环境步骤启动新建一个应用程序工程在工程日录下新增文件将该文件添加至工程,并修改域名使与该程序致ec机!盘G),t计!mn年,tm分‖索dea文件编(E)打开新建女件beImu C#demo2014/522151g文件灾J Debug2014/52316:38文件灾o Debuy2014/5/2315:18文件灾U obj2014/5231510文件lAramanI Properties2014/52315:10文件夹CclbFur_LS2014/5/26 10: 27 VisUal C# SuLIL1 cema C++kc demo s2014/528 14: 32 Visual C+ Project5K8C++De吧 emo scf2014/512614:02 SQL Server Com42,530K82014/5/23 10: 38 Microsoft vis Ia-g Form Maincs2014/5/26 13: 47 Visual C#Sourc.2014(5/23 16: 36 Visi al Cf Soure.13 KR二++602014/5/23 16: 36 NE Managed5K82014/5 28 14: 39 Visual C# Sourc.142 KBD U cnum EXCITICN2014/5/26 9: 51 Visual C+ SourC.bs 9 exteuLliur4 PeNter. D2014/5/265: 52 Visual C+ Sourc.5K8图4添加cs文件将复制到目标文件夹北比,m,bm小Db4提 Debug文件(F编辑(E童看织包含到库平≡新∨出I demo_C*修改日期类丑214/5/2613:47立用程序86KB2J14/5/ 2613: 4/ Program Debug100 KBdemo vshost.ex2014/5/2814:29用程序12 KBdemo, shost. exe. manifest221031722:39 MANIFEST文件E KBPerenan2014/5/2811;34用程序扩晨397KB+-DemD3t3山AA⊥I牛屮型数控系统二次开发手册图5添加d文件至此,用户就可以在中调用网络模块的函数,开始编写应用程序。具体代码可参见以及二次开发范例。二次开发接口范例介绍二次开发范例为例,该次开发程序连接下位机后可实时显示:坐标值进给速度主轴速度;进给修条、主轴修条、快移修条:代码当前运行行号,当前运行代码路径及名称;主轴功率、主轴负荷;下位机当前状态;当前程序运行时间;历史报警个数:报警详细信息;从上位杋加载代码到下位机;获取宏变量值。具体功能实现,可参见代码。配置成功后,运行程序,生成界面。红栏状态主接坐标显示生标佰主轴久苛z丛柝坐标值运行时时间Stat进给速度坐标值警历史个数tatC主袖束度斗标值振警详细言息进给修条坐标值仅移诊录生标佰物修杀坐标值当前运行行号坐标直当前运行程序乞序名方克里值选督程尸乞图6运行界面点击连接后,界面显示当前设备运行状态。若连接成功,将显示网络已连接。点击获取宏变量值,显示当前坐标值。选择程序名,输入电脑上待加载的代码路径后,点击确认,将从电脑加载代码到设备。如下所示。
    2020-12-07下载
    积分:1
  • 数字电压表的设计(protues原理图+论文)
    本科毕设,数字电压表,protues仿真原理图加答辩论文。
    2020-12-10下载
    积分:1
  • 异步电机FOC控制simulink仿真模型
    异步电机的矢量控制仿真,Simulink模型,已仿真无报错。
    2020-12-06下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载