当前位置:首页 > a51
  • 外媒:三星今年将推出更便宜的5G智能手机

    外媒:三星今年将推出更便宜的5G智能手机

    3月27日消息 来自外媒phonearena的报道,三星预计未来几个月对5G芯片的需求将会增加,尽管由于冠状病毒的爆发,三星智能手机的销售在过去几周有所放缓,但这家韩国公司仍计划在一年中推出更多的5G智能手机产品,并且并不是所有5G手机都是旗舰产品。除了Galaxy S20系列,三星有望马上推出另一款5G智能手机——Galaxy A71,在22日的时候曾报道过这款产品。不过A71 5G并非是三星目前最便宜的5G智能手机,Galaxy A51 5G已经登录了Geekbench,并且出现了三星官网同样的代号SM-A516N。需要注意的是,Galaxy A51的4G版本去年年底已经发布,搭载了Exynos 9611和8GB的RAM,运行基于Android 10的One UI 2.0,并具有128GB的内置存储空间;此外还带有microSD卡插槽,可将存储扩展到512GB。而5G版本的A51,将搭载三星5G SoC Exynos 980。其余配置方面,三星Galaxy A51具有6.5英寸20:9的Infinity-O Super AMOLED中置打孔屏,采用屏下指纹,前置摄像头为3200万像素。L型四摄像头为48MP主镜头+12MP超广角(123度),还有两个5MP摄像头。电池容量为4000mAh电池,具有15W快速充电。

    时间:2020-04-24 关键词: a51 三星a51

  • 三星Galaxy A51 配置规格曝光:5G已通过Wi-Fi联盟认证

    三星Galaxy A51 配置规格曝光:5G已通过Wi-Fi联盟认证

    4月6日, 型号为SM-A516N的三星Galaxy A51 5G已通过Wi-Fi联盟认证,支持页面揭示了Galaxy A51 5G的完整配置规格。三星Galaxy A51 5G预计将配备6GB RAM和至少64GB的内部存储。在设计上,Galaxy A51 5G采用了中置打孔屏设计,后摄为L形四镜头组成的矩形模块,可能保留3.5mm音频插孔,采用屏下指纹识别。 Wi-Fi联盟列表确认了Galaxy A51 5G支持双频Wi-Fi连接,并将运行Android 10系统,除了芯片组有望采用Exynos 980中端5G处理器外,其他方面的配置和设计基本与4G LTE版本的三星Galaxy A51相同。 据报道,Exynos 980 SoC是一款中端处理器,是支持5G的芯片,去年12月在中国正式上市的Vivo X30和Vivo X30 Pro 5G智能手机是首款搭载该处理器的手机。 三星Galaxy A51具有6.5英寸20:9的Infinity-O Super AMOLED中置打孔屏,采用屏下指纹,前置摄像头为3200万像素。L型四摄像头为48MP主镜头+12MP超广角(123度),还有两个5MP摄像头。电池容量为4000mAh电池,具有15W快速充电。 其4G版本已经于去年年底发布,在配置方面,三星Galaxy A51(4G)搭载Exynos 9611和8GB的RAM,运行基于Android 10的One UI 2.0,并具有128GB的内置存储空间;此外还带有microSD卡插槽,可将存储扩展到512GB。

    时间:2020-04-06 关键词: 三星 galaxy 5G a51

  • 三星Galaxy A51获得Wi-Fi认证

    三星Galaxy A51获得Wi-Fi认证

    型号为SM-A516N的三星Galaxy A51 5G最近通过了Wi-Fi Alliance认证,并将正式上市。 该机的渲染图展示了Galaxy A51 5G的完整设计,Wi-Fi Alliance列表确认Galaxy A51 5G支持双频Wi-Fi并运行具有自定义UI 2.0外观的Android 10。 除了预计将使用中端Exynos 980 5G处理器的芯片组,还将保留与4G LTE模型相似的规格和设计。 三星Galaxy A51 5G预计还将配备6GB RAM和至少64GB内部存储。Galaxy A51 5G将在中央位置放置一个用于自拍相机的打孔前置,并在矩形模块中设置L形四镜头。它应该具有显示屏指纹传感器,以确保安全,并可能保留3.5mm音频插孔。三星Galaxy A51装有4,000mAh电池,并支持15W快速充电。三星Galaxy A51 5G即将发布,因此我们会了解到更多信息。

    时间:2020-04-06 关键词: Wi-Fi 三星 galaxy android10 a51

  • 三星朝鲜发布新机:A71、A51

    三星朝鲜发布新机:A71、A51

    这篇文章中,小编将为大家介绍三星昨日在朝鲜发布的两款手机——A71/A51。它们的具体情况如何呢?一起来看看吧。 先看A71,6.7寸Infinity-O AMOLED屏,2400x1080分辨率,屏下光学指纹,骁龙730八核处理器,6/8GB RAM,128GB ROM,最大512GB扩展,电池容量4500mAh(25W快充),机身厚度7.7mm。 A51则是6.5寸屏,屏下光学指纹,Exynos 9611处理器,4+64GG或6+128GB存储,最大512GB扩展(三卡槽),电池容量4000mAh(15W快充),机身厚度7.7mm,重172g。 A71后置矩形L形四摄的配置是6400万(F1.8)+1200万广角+500万深感+500万微距,正面是3200万自拍镜头;A51的主摄调整为4600万、F2.0,其它保持一致。 两款手机还都预装基于Android 10的OneUI 2.0系统、USB-C接口、保留3.5mm耳机孔、杜比全景声扬声器。 以上便是此次小编想要和大家分享的内容,希望大家喜欢本文。最后,十分感谢大家的阅读。

    时间:2019-12-14 关键词: 三星 a71 a51

  • C51指针与A51汇编接口之间关系研究

    最近在研究单片机C51对汇编的接口问题。char和int等都比较简单,使用寄存器或固定地地址传值都是可以的,具体可以参考keil的C51 user‘s guide。本篇短文主要重点讨论一下A51下如何遵循C51的接口标准来实现C51的指针。主要原因是,现在用C51的人越来越多,大家都图省事和方便。网上面有关A51的资料少得可怜,知道用汇编来实现代码优化的少之又少。本人是一直坚持用汇编写东西的。在嵌入式领域,很多东西都与硬件有关,多知道点底层东西还是有好处。使用工具主要为keil,在windows 7环境下。C51测试程序如下:#includeunsignedpos;bitabc(unsigned*pos){*pos=100;return0;}voidmain(){while(1){abc(&pos);}这是测试用源程序,很明显程序中使用了int型指针 pos。为了能够生成汇编代码,加入编译器控制:#pragmaSRC#pragmaSMALL#includeunsignedpos;bitabc(unsigned*pos){*pos=100;return0;}voidmain(){while(1){abc(&pos);}} 注意,#pragma必需在文件的开始位置,否则会报错。另外编译器可能会跳“ EXCEPTION 0021H: PATH OR FILE NOT FOUND:main.obj”,没有关系,我们的目标是生成汇编的src文件。编译后生成src如下:;main.SRCgeneratedfrom:main.c;COMPILERINVOKEDBY:;D:ProgramFilesKeilC51BINC51.EXEmain.cBROWSEDEBUGOBJECTEXTENDTABS(2)$NOMOD51NAMEMAIN;寄存器及内存声明P0DATA080HP1DATA090HP2DATA0A0HP3DATA0B0HT0BIT0B0H.4ACBIT0D0H.6T1BIT0B0H.5T2BIT090H.0EABIT0A8H.7IEDATA0A8HEXF2BIT0C8H.6RDBIT0B0H.7ESBIT0A8H.4IPDATA0B8HRIBIT098H.0INT0BIT0B0H.2CYBIT0D0H.7TIBIT098H.1INT1BIT0B0H.3RCAP2HDATA0CBHPSBIT0B8H.4SPDATA081HT2EXBIT090H.1OVBIT0D0H.2RCAP2LDATA0CAHC_T2BIT0C8H.1WRBIT0B0H.6RCLKBIT0C8H.5TCLKBIT0C8H.4SBUFDATA099HPCONDATA087HSCONDATA098HTMODDATA089HTCONDATA088HIE0BIT088H.1IE1BIT088H.3BDATA0F0HCP_RL2BIT0C8H.0ACCDATA0E0HET0BIT0A8H.1ET1BIT0A8H.3TF0BIT088H.5ET2BIT0A8H.5TF1BIT088H.7TF2BIT0C8H.7RB8BIT098H.2TH0DATA08CHEX0BIT0A8H.0IT0BIT088H.0TH1DATA08DHTB8BIT098H.3EX1BIT0A8H.2IT1BIT088H.2TH2DATA0CDHPBIT0D0H.0SM0BIT098H.7TL0DATA08AHSM1BIT098H.6TL1DATA08BHSM2BIT098H.5TL2DATA0CCHPT0BIT0B8H.1PT1BIT0B8H.3RS0BIT0D0H.3PT2BIT0B8H.5TR0BIT088H.4RS1BIT0D0H.4TR1BIT088H.6TR2BIT0C8H.2PX0BIT0B8H.0PX1BIT0B8H.2DPHDATA083HDPLDATA082HEXEN2BIT0C8H.3RENBIT098H.4T2CONDATA0C8HRXDBIT0B0H.0TXDBIT0B0H.1F0BIT0D0H.5PSWDATA0D0H?PR?_abc?MAINSEGMENTCODE?PR?main?MAINSEGMENTCODE?DT?MAINSEGMENTDATAEXTRNCODE(?C?ISTPTR)EXTRNCODE(?C_STARTUP)PUBLICposPUBLICmainPUBLIC_abcRSEG?DT?MAINpos:DS2;#pragmaSRC;#pragmaSMALL;#include;;unsignedpos;;;bitabc(unsigned*pos){RSEG?PR?_abc?MAIN_abc:;SOURCELINE#7;----Variable'pos?040'assignedtoRegister'R1/R2/R3'----;*pos=100;;SOURCELINE#8;---------关键代码-------------------CLRAMOVB,#064HLCALL?C?ISTPTR;return0;;SOURCELINE#9CLRC;};SOURCELINE#10?C0001:RET;ENDOF_abc;;voidmain(){RSEG?PR?main?MAINmain:USING0;SOURCELINE#12?C0002:;while(1){;SOURCELINE#13;abc(&pos);;SOURCELINE#14;---------关键代码-------------------MOVR3,#00HMOVR2,#HIGH(pos)MOVR1,#LOW(pos)LCALL_abc;};SOURCELINE#15SJMP?C0002;ENDOFmainEND对于A51的程序格式,这里不多解释,有兴趣可以自己去Keil官网学习。这里主要说一下指针的C51汇编接口。代码中内存和寄存器声明,这个不重要,可以跳过。主要看标记为关键代码的部分。我们可以看到,在main中,在调用abc函数前,主程序初始了三个寄存器,分别是R1R2R3,代码如下: MOVR3,#00HMOVR2,#HIGH(pos)MOVR1,#LOW(pos)这里得着重讲一下。很明显,这是寄存器传值。依据C51规定,指针传递使用R1R2R3寄存器。其中,Mem type in R3, MSB in R2, LSB in R1。也就是说,R3表指针类型,R1为指针内容低位,R2为内容高位。从上面三个语句可以看出,程序将类型设为0,将pos地址高位传给R2,低位给R1。接下来再看abc函数中的操作 CLR A

    时间:2018-12-28 关键词: a51 c51指针 汇编接口

  • 利用全局及外部变量实现C51无能数化调用A51函数

    阐述了ASM51无参数化调用C51 函数的实现原理并给出实例来验证该方法的优越性和可行性。作者在文章中表明这样一种观点:“利用汇编语言对I/O接口、中断向量及程序空间分配的巨大优势,让程序员对MCS51内的每一字节甚至是每一比特(可位寻址空间)全部进行统筹安排,设计好各个程序模块,包括I/O口地址和中断向量地址的处理;同时在具体数据处理、通信等不需要过多与硬件打交道的程序模块中,充分利用C51语言强大高效的编程能力”。上述观点并没有错,但是对I/O接口、中断向量及程序空间分配及MCS-51内的每一个字节甚至是每一比特(可位寻址空间)全部进行统筹安排,对于大多数程序员来讲恰恰是件不容易的事。地址空间、栈的起始地址和中断向量地址的分配等,经常顾此失彼,这边可行,那边又出问题。其实完全可以把上述繁重的工作交给C51去完成,由C51定义各个变量并自动分配各个变量的空间,而集中精力完成所需功能的A51程序设计。笔者在研制基于C51、插拔式DFLASH存储器的无纸记录仪中,就是利用全局及外部变量实现C51无参数化调用A51函数的,取得了很好的效果。 1 C51无参数化调用A51函数的实现原理 为了说明其原理,必须理解局部变量、全局变量和外部变量的意义。 局部变量:是在函数内部定义的变量,只在定义它的函数内部有效,仅在使用它时,才为它分配内存单元。 全局变量:又称外部变量,是在函数外部定义的变量,可以为多个函数共同使用,其有效作用范围是从它定义的位置开始直到整个程序文件结束。若一个全局变量不是在程序文件开始处定义的,但又希望在它的定义点之前的函数中引用该变量,这时应在引用该变量的函数中用关键字EXTERN将其说明为外部变量。此外如果一个程序模块文件中应用另一个程序模块中定义的变量时,也必须用EXTERN进行说明。全局变量在整个程序的执行过程中都要占用内存单元。 外部变量(EXTERN):使用存储种类说明符EXTERN定义的变量称为外部变量。按照缺省规则,凡在所有函数之前,在函数外部定义的变量都是外部变量,定义时可以不写EXTERN说明符。但是,在一个函数体内说明一个在该函数体外或别的程序模块文件中定义过的外部变量时,则必须使用EXTERN说明符。一个外部变量被定义之后,它就被分配了固定的内存空间。外部变量的生存期为程序的整个执行时间。 C语言允许将大型的程序分解为若干个独立的程序模块,各个模块可分别进行编译,然后将它们连接在一起。如果某个变量需要在所有程序模块文件中使用,只要在一个程序模块中将该变量定义成全局变量,而在其它程序模块中用EXTERN说明该变量是已被定义过的外部变量就可以了。 在C51中定义函数时如果冠以关键字EXTERN即将其明确定义为一个外部函数。 具体方法是:在C51用unsigned char定义的变量,则在A51中必须对应声明该变量在DATA区;在C51用bit定义位变量,则在A51中必须对应声明该变量在可位选区。A51中用关键字EXTRN表示外部变量,对应关系如下: C51 定义 A51声明 unsigned char varible_name<->EXTRN DATA(varible_name) bit bit_name <->EXTRN BIT (bit_name) 此外,C51编译器支持在C语言源程序中直接编写8051单片机的中断服务程序,从而减轻采用汇编语言编写中断服务程序的繁锁程度。C51编译器对函数的定义进行了扩展,增加了一个扩展关键字interrupt。定义中断服务函数的一般格式为: 函数类型 函数名(形式参数表) [interrupt n] [using n] 关键了interrupt后面的n是中断号,取值为0~31,编译器从8n+3处产生中断向量。Using后的n取值为0~3,表示选择那一组寄存器。 2 C51无参数化调用A51函数的实例 研制的无纸记录仪实现的功能是:记录仪有4个通道,每秒采样1次,每个通道每次采样需记录两个字节,根据各个通道的转储速率(从1~255可设定),把采样的数据写入外部数据存储器62256,一旦满512字节,就把512字节一次性写入FLASH MEMORY中。 主程序用C51编程,每秒中断采样程序由A51实现。主程序的主要工作是:把采集到的数据按曲线、棒图和数据送到液晶显示器显示;根据一公平的条件查询数据等。中断程序就是采样4个通道,把在A51采样所写入的单元及所需要的一些位变量在C51定义为全局变量,在A51中这些变量声明为外部变量,在C51调用A51的中断函数必须声明为外部函数。这样就实现了C51无参数化调用A51。 C51主程序如下: 程序名为MYMAIN.C #include <reg51.h> #include <absacc.h> #include <intrins.h> #define uchar unsigned char //以下3个函数在采样程序模块ZTDJLY.A51中,名称就是标号 extern void sample(); //中断采样程序 extern void initial(); //AD7715初始化 extern void res_ram(); //外部存储器62256地址指针复位 //以下变量为采样程序模块ZTDJLY.A51中所用到的变量 bit write_alw,vz_bit,fs_bit;//write_alw=1,写放FLASH允许,vz_bit,fs_bit是零标定及满刻度标定的标志 uchar sample_w[12];//4路连零点采样值,每路2个字节共10个字节,另外2个字节作定改62256前把采样值添加通道号处理所需单元 uchar xdata *ram_point;//62256的指针 uchar sa_p,sa_vzt[8];//sa_p为采样当前路,sa_vzt[8]为4路的零点 uchar sa_timer[8]={1,1,1,1,1,1,1,1}; //4路的转储速率,前为子,后为母本 …… void disp_int0() interrupt 0 using 2 //用中断0,使用寄存器2组 { sample();//C51无参数化调用A51函数 } main() { … initial(); while(1) //主循环 { …… } } A51程序如下: NAME ztdjly.a51 ram_cs bit 090h.2 ;p1.2 ;62256片选 b373 bit 090h.1 ;p1.1 bit_dog bit 0b0h.4 ;3.4 ;以上3个是AD7715的引脚定义 data_bit bit 0a0h.6 ;P2.6 adsclk_bit bit 0b0h.5 ;P3.5 drdy_bit bit 0b0h.3 ;P3.3 ?PR?sample?SAMPLE SEGMENT CODE ;定义程序代码段 EXTRN DATA (sample_w) ;声明外部变量,在C51程序定义分配在DATA区 EXTRN DATA(sa_p) EXTRN DATA(ram_point) EXTRN DATA (sa_timer) EXTRN DATA (sa_vzt) EXTRN BIT (write_alw) ;声明外部变量,在C51程序定义分配在可位寻址区 EXTRN BIT (vz_bit) EXTRN BIT (fs_bit) PUBLIFC sample ;分用符号说明 PUBLIC initial,res_ram RSEG ?PR?sample?SAMPLE using 0 initial:;AD7715初始化,该标号即是C51定义外部函数 ;initial()的入口地址 …… ret ; sample: ;采样程序,该标号即是C51定义外部函数 ;sample()的入口地址 …… ret …… res_ram: ;62256指针复位,该标号即是C51定义外部函数res_ram()的入口地址 …… ret end 在研制无纸记录仪之前,作者用MASM51开发了其他仪表,采样部分有些相同,因此这次A51采样程序并不是重新编写,而是把以前的MASM51程序按A51的规则来修改。以前ASM的程序(数据段部分)如下所示: bseg ; write_alw bit 00h; vz_bit bit 01h fs_bit bit 02h ce_bit bit p1.6 ram_cs bit p1.2 b373 bit p1.1 bit_dog bit p1.4 data_bit bit P2.6 sclk_bit bit P3.4 drdy_bit bit p3.3 ends ; dseg org 08h org 28h sample_w; ds 12 sa_p: ds 1 ;当前通道号 ram_point: ds 2 sa_timer: ds 8 ;0,1,2,3每通道两字节 sa_vzt: ds 8 ;0,1,2,3 vz ends ; cseg org 0h begin: reti org 03h lcall sample reti sample: …… ends 从上述程序可以看出,在采样程序中所用到的变量并不少,定义在数据存储区28H单元起始的空间中。这样安排,对汇编程序没什么问题,但与C51主程序连接的时候,并不一定好,很多时候碰到地址空间溢出的问题(C51主程序编译连接后将近16K字节,CPU采用ATMEL公司的AT89C55WD)。如何调整这些变量的分配,并非容易。另外,C51随时要用到采样单元sample_w[12]的值,如果采用一般的参数传递,将是相当复杂而繁琐的;而采用全局及外部变量实现C51无参数经调用A51函数,极大简化了这些工作,大大提高了工作效率。 本文第2部分的程序,采用Keil公司的Keil C V6.10集成开发工具包完成。所研制的无纸记录仪已经通过福建省科技厅的鉴定。  

    时间:2012-03-08 关键词: 全局 C51 变量 a51

发布文章

技术子站

更多

项目外包