精华内容
下载资源
问答
  • 这个主芯片就是89C52单片机,有人说,单片机没学过啊,怎么没,没关系,在里,我们就从最简单的入手,然后再慢慢加功能。我们知道学个新程序,一般从HelloWord开始,那单片机同样,也从其本的开始。 51单片机,...

    自己动手做个智能小车(3)

    ——让小电脑运行程序吧

    通了电源,也有了初步的规划,我们就把主芯片给接上,并让其工作起来。

    这个主芯片就是89C52单片机,有人说,单片机没学过啊,怎么没,没关系,在里,我们就从最简单的入手,然后再慢慢加功能。我们知道学个新程序,一般从HelloWord开始,那单片机同样,也从其本的开始。

    51单片机,有40个引脚,其中,芯片从一个U口的左侧开始计数,然后一圈编号,40脚与20脚接电源的正负极。其中,1~8 0~17 39~32 1~28 为单片机的P1 P3 P0 P2口,所谓P口,可以理解为与外界面进行交互的接口,当接口输出1则用万用表接上可以量到5v,当输出0时,则输出0v。同样输入也一样,即可把数字指令,变成电压输出或输入。

    好了,简单介绍后,如何让芯片工作呢,简单电路如下即可:

    注意点:

    18、19 口接上晶振、和两个磁片电容后,再接负极

    9口,接上电容后,再接个开关,这个为重启健,当然这块电路可以不接,可以直接开关电源来重启么。

    31、40口需接上电源正极5v。

    当然,芯片要运行的话,还要写入程序,写程序当然在电脑上,如何存入51芯片,这里我们自制一个烧写器,通过串口方式,电路如下:

     

    开工焊板:

    先找好元件,排列好:

     

    这么大芯片,可不能直接焊上去,所以得焊上底坐,就可以方便插拨了。

    排好元件,反过来,焊吧,焊接时,40个脚不用所有的都焊上,可以只选择要用的先焊。

     

    主板焊好后,就可以焊编程器,这里就不再详细描述焊接过程,比较容易:

    注意点:

    1. 背面的连接,一般直接用元件剪下来的引脚,然后焊接连接,这样比较牢固。
    2. 为了方便插拨,所以在出口出,采用一个排插,然后采用杜邦线连接。同时另一端,在主板上,同样P3.1 P3.0引出,加上正负电源,采用排插引出,方便连入:

     

     

     

    调试:

        写程序,小步快跑,写一段试运行一段,同样,做到这,我们也要运行一下了:

    1. 先调试编程器,(编程器不好,程序怎么写进去?)

      我们知道,编程器,就是一个串口转换器,于是调试,就采用串口调试工具咯,但没有被测的串口设备,怎么办?从自的同时编程器中我们知道,有4根线,2根是电源,正负极,还有2根是数据线,当然就是一个进一个出,于是我们这样做,把编程器的数据线连接上。

    这样,即发出的数据,就立即可以收到了。将USB转串口线插上电脑,安装上驱动,然后在设备管理器中就可以看到:

    记下其串口编号:

    启动串口调试工具:

    在里面输入信息后,点发送,发现立即收到,好,证明完全OK了。

     

    1. 调试单片机

      单片机,直接通电肯定没用,得有程序,所以得先编程。准备开发工具,常用的采用uVersion Keil c51。

      一、安装并启动 (这里略)

        二、新建工程

    输入名称"智能小车",然后点确定:

    选择AT89S52,再点OK:

    这里点NO:

    再点工具栏上的New:

    新建后,会出现一个空白内容页,再按下Ctrl+S 弹保存,名称为main.c:

    再右健SourceGropu1 ,选Add Files to Group "source Group1",在弹出的窗口中选择刚才保存的main.c。

    为了正常生成烧写文件,还需要修改一下,在Target1 右健菜单中,先Options for… 在弹出窗口上,第三页,勾上Create Hex File:

    这样,工程就建好了,就可以编入代码,如下:

    按下F7,编译,在下面可以看到0 Error 0Warnings 表示已经编译成功。

     

    这是个简单的测试程序,功能P0口每秒后值变化一下,0~5~0~5… 这样变。

    附代码如下:

    #include<reg52.h>

     

    /*****************************************************

    * 函数功能:延时若干毫秒

    * 入口参数:j

    ***************************************************/

    void Delay(unsigned int i)

    {

    unsigned int j;

    for(;i>0;i--) //变量i由实际参数传入一个值,因此i不能赋初值

    for(j=0;j<125;j++)

    {;}

    }

     

    void main()

    {

    while(1)

    {

    P0 = 0xFF;

    Delay(1000);

    P0 = 0x00;

    Delay(1000);

    }

    }

        好了,这段代码应该比较容易看懂,不多解释了,还是赶紧让CPU跑这段代码吧。 按下F7,编译生成,最后,在工程文件夹中,可以看到一个"智能小车.hex"的文件这个就是烧写用的。那烧写用什么软件呢,我这里用的是"stc-ispv4.79" 网上可以方便下载到。

    将USB转串口线,连接到电脑上,找到串口几,串口头接上自制烧写器,用杜邦线将烧写器连接到主板上串口上。然后启动软件:

    • 选择CPU:STC89C52
    • 点打开文件,选择"智能小车.hex "
    • 下拉选择COM口
    • 点"Download/下载"按钮
    • 这时,软件等待供电,按下小车主板的电源,就可以看到软件中进度条提示。

     

    好了,写入成功后,小车主板上的单片机就立即运行了。但如何看出来结果呢,别急,有2个办法:

    方式一:拿个万用表,一头接电池负极,一头接单片机39口,扳到直流电压档,可以看到,万用表的指示,一会儿5v, 一会儿0v。 -----OK 看到这效果,说明运行成功了。

    方式二:拿根导线,拿个LED,一头焊上个1K的电阻,电阻另一头接上电池负极,另一头接到单片机39口上,就可以看到小灯一闪一灭的。 ---这样也就说明单片机在运行了。 接小灯时注意正负极,新的可以看出,长脚的是接正极,即要接单片机。

    转载于:https://www.cnblogs.com/zjfstudio/p/3764797.html

    展开全文
  • 实习地点暂定一面(技术)一面相对简单一些,一开始上来面试官让介绍一下自己,五分钟时间讲自己的求学经历(可能是想针对这些经历发问吧),然后问了一下项目过哪些逻辑,如果让你接触一个新的接口逻辑,你怎么去理解...

    首先说一下这个是海思专场,虽然是武长地区的,但是我申请的岗位是深圳的,二面业务主管也说了,这个会同意安排,实习地点暂定

    一面(技术)

    一面相对简单一些,一开始上来面试官让介绍一下自己,五分钟时间讲自己的求学经历(可能是想针对这些经历发问吧),然后问了一下项目做过哪些逻辑,如果让你接触一个新的接口逻辑,你怎么去理解这个逻辑并实现。还问有没有做过异步的逻辑,异步处理的几种方法(FIFO、握手、格雷码、多拍缓存),其次问到控制信号和数据信号传给下游异步器件,是怎么保证控制信号和数据信号经过异步处理后时序还是对齐的(这个没有答上来,她问我也是做过这样的没有,我之前还真没做过)。

    随后为了看看我真的写过代码没有,就给我了一道题,大概像下面这样

    1.always@(posedge clk or negedge rst_n)begin

    if(!rst_n)din_dly<=0;

    else din_dly<=din;

    end

    2.always@(posedge clk)begin

    din_dly<=din;

    end

    3.always@(posedge clk )begin

    if(!rst_n)din_dly<=0;

    else din_dly<=din;

    end

    主要考察的是复位这里,1为异步复位,2为无复位,3为同步复位,同步复位不能在无时钟的时候正常复位,复位键应该是与其他信号无关联的。

    二面(业务主管面)

    二面问的范围比较广吧,一开始也是介绍自己,然后就先问有关C语言的,让你写一下20个随机数的排序(对于那些C++研发大佬而言随便写,我还是卡了一下),我用的最简单的冒泡排序,写完后问我还知道那些排序方法(快排,堆排序,插入排序,我只答了这几个,辛亏没有让我说原理,估计我只说得出快排的了),然后就是问我二叉树是什么,作用是啥(我说用在堆排序,哈弗曼编码,图的遍历)。随后问我学过什么与芯片这边有关联的东西,我说了一些课程,他问我对MIPS了解多少,我说我学过,然后问了MIPS有多少级流水线,这个我没有答上来,引用网上的回答吧:

    经典的MIPS流水bai线分五级

    (1)IF取指du(insturction fetch),从指令高速缓存(I-cache)获取下一条指令

    (2)RD读取寄存器zhi(read register),读取该指令的dao源寄存器域指定的CPU寄存器的内容。

    (3)ALU算术逻辑单元(arithmetic/logic unit)在一个时钟周期内完成算术或者逻辑操作。

    (4)MEM访问内存(memory),该阶段指令可以读写数据高速缓存(D-cache)中的内存变量。

    (5)WB写回寄存器(write back),将操作结果值写道寄存器堆中。

    问我对计算机网络的了解,OSI的七层模型,我没有答全,主要是上层的顺序凌乱了,贴百度的图吧。

    还问了TCP/IP的三次握手,太久没有看这方面的书了,只能继续百度(这个部门是做网络通信芯片的,类似路由器和交换机中的芯片,和博通公司有些类似):

    第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

    完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

    (1)未连接队列

    在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(seq=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于 Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。

    (2)Backlog参数

    表示内核为相应套接字排队的最大连接个数。SYN-ACK重传次数

    三次握手协议

    三次握手协议

    服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

    (3)半连接存活时间

    是指半连接队列的条目存活的最长时间,也即服务器从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

    面试官说背景知识也很重要,不能只是会写代码,给我推荐了两本书:

    计算机组成与设计硬件/软件接口,

    计算机体系结构:量化研究方法(第5版)

    后一本更加深奥一些。

    听说我是做过FPGA的RTL设计,所以问我FPAG的资源有多少,FPGA的实现原理:

    FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块

    CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。

    LUT的应用(LUT指显示查找表(Look-Up-Table),本质上就是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。):网上查到的是什么灰度映射,其它就没有了。

    还有一个题我也没有答出来,他问我数据依赖怎么解决原来 CPU 为程序性能优化做了这么多 ,只能先贴一个这个链接了解相关的知识了,至于数据依赖导致执行的速度变慢,这个我还没有查到好的答案。

    展开全文
  • STM32F030芯片的IAP升级

    2020-04-16 19:31:15
    怎么做STM32F030的IAP程序我就简单介绍一下吧(其他大佬应该有详细的,我只说点我自己遇到的问题)。 先介绍一下我理解的IAP 的概念(不知道对不对,希望大家补充) 我理解中IAP升级就是把两个程序放到Flash的两个...

    昨天IAP升级差点翻水水,具体过程容我细细道来。。。

     

    单片机在线升级应该是IAP+APP。

    怎么做STM32F030的IAP程序我就简单介绍一下吧(其他大佬应该有详细的,我只说点我自己遇到的问题)。

    先介绍一下我理解的IAP 的概念(不知道对不对,希望大家补充)

    我理解中IAP升级就是把两个程序放到Flash的两个地方,启动完IAP之后跳转到APP,APP也要是一个完整的程序,中断向量,堆栈指针啥的要全。我就不放图了,懒,也不想盗别家的图。

    IAP启动,各种相关初始化完成,检测是否有符合规则的数据包,有的话接收下载,没的话就跳转到Flash中的APP程序区。

    STM32F030只不过没有其他STM32的VTOR寄存器,所以需要将中断向量表先复制到RAM中,之后再设置芯片从RAM启动,本来芯片是从Flash启动的,但是这不没有VTOR寄存器存中断向量表么,所以就这么干,通过SYSCFG_MemoryRemapConfig库函数实现,其实也就是弄个寄存器的事情,当然了,懒得看手册就直接用这个函数就行了。

    接下来就是要注意的:

    我用的STM32F030C8T6,Flash还好有64K,但是RAM只有8K,这就难受了,要改之前写好的的IAP程序,因为之前升级都是2K一次下载到Flash中,可以一个接收数据用的uint8_t flash_buf[2048],一个CRC检验的uint8_t flash_checkbuf[2048];,再加一个下载到程序的uint32_t iapbuf[512],这就6k的RAM了啊(之前用在F407上的),我就把uint32_t iapbuf[512]改成了uint16_t iapbuf[32],每次下少一点呗,本来应该完美解决,结果。。。

    10次就1次APP程序下载成功,为啥?我竟一直没打断点,纠结在Flash上!!!认为是下载APP程序到Flash的时候出错了,可是当时脑子糊涂了,既然能成功,肯定不是这个原因(总结:太菜)。

    打断点调试后,问题出在哪里呢:是在串口中断中,我在初始化过程中打开了USART_IT_RXNE中断,用作接收使用接收,本没有问题,可是总是在接收到一半的时候RXNE再也不置位了,RDR寄存器中永远是0xA5,可是上位机发送数据是正常的,证明移位寄存器没有正常工作,看ISR寄存器发现ORE置位了,之后看了一下寄存器手册

     

     

    This bit is set by hardware when the data currently being received in the shift register is
    ready to be transferred into the RDR register while RXNE=1. It is cleared by a software,
    writing 1 to the ORECF, in the USART_ICR register.
    An interrupt is generated if RXNEIE=1 or EIE = 1 in the USART_CR1 register.
    0: No overrun error
    1: Overrun error is detected

    这个你们都懂了就是活还没干完尼玛新的活又来了,我撂挑子了,还要装个逼竖个标志。

    这本不应该忘记,用RXNE中断的时候就该想起来,可是这个串口程序压根就是我复制之前写好的代码,没咋看。。。

        if(USART_GetFlagStatus(USART1,USART_FLAG_ORE) != RESET)
        {
            USART_ClearFlag(USART1,USART_FLAG_ORE);
        }

    这样就好啦,我的上位机循环发送,就不处理数据了。

    要注意是USART_GetFlagStatus,而不是USART_GetITStatus

    USART_GetFlagStatus是直接查看中断标志位,并不用在乎到底有没有使能。

    USART_GetITStatus在会同时判断中断是否使能是否置位。

    两个函数的描述:

    Checks whether the specified USART flag is set or not.

    Checks whether the specified USART interrupt has occurred or not.

    完了。

    这也没啥资源好下的,就配置一下Flash和RAM,我把最主要代码贴这里就行了。

    IAP:

    __asm void MSR_MSP(uint32_t addr) 
    {
        MSR MSP, r0 			//set Main Stack value
        BX r14
    }
    
    pFunction jump2app;
    static uint16_t iapbuf[32];
    
    void iap_write_appbin(uint32_t appxaddr,uint8_t *appbuf,uint32_t appsize)
    {
    	uint32_t t;
    	uint16_t i=0;
    	uint16_t temp;		//±£´æдÈëµÄÊý¾Ý£¬Ö±½Ó¸³Öµ¸øiapbuf
    	uint32_t fwaddr = appxaddr;//µ±Ç°Ð´ÈëµÄµØÖ·
    	uint8_t *dfu = appbuf;
    	for(t=0;t<appsize;t+=2)
    	{
    		temp = (uint16_t)dfu[1]<<8;
    		temp |= (uint16_t)dfu[0];	  
    		dfu+=2;//Æ«ÒÆ2¸ö×Ö½Ú
    		iapbuf[i++] = temp;	    
    		if(i == 32)
    		{
    			i = 0;
    			STMFLASH_Write(fwaddr,iapbuf,32);	
    			fwaddr += 64;//Æ«64			32*2=64
    		}
    	}
    	if(i)
    	{
    		STMFLASH_Write(fwaddr,iapbuf,i);//½«×îºóµÄһЩÄÚÈÝ×Ö½Úд½øÈ¥.  
    	}
    }
    
    
    void iap_load_app(uint32_t appxaddr)
    {
    	//uint8_t i;
    	
    	if(((*(__IO uint32_t*)appxaddr)&0x2FFE0000) == 0x20000000)	//¼ì²éÕ»¶¥µØÖ·ÊÇ·ñºÏ·¨.
    	{ 
    		jump2app = (pFunction)(*(uint32_t *)(appxaddr+4));//¿ªÍ·4¸ö×Ö½Ú´æ·ÅMSP³õʼֵ£¬Ö®ºóµÄ4¸ö×Ö½Ú´æ·ÅResetHandlerÖжÏÏòÁ¿
    		
    		MSR_MSP(*(u32*)appxaddr);					//³õʼ»¯APP¶ÑÕ»Ö¸Õë(Óû§´úÂëÇøµÄµÚÒ»¸ö×ÖÓÃÓÚ´æ·ÅÕ»¶¥µØÖ·)
    #if 0
    		for( i = 0; i < 8; i++)
    		{			
    			NVIC->ICER[i] = 0xFFFFFFFF;	// ¹Ø±ÕÖжÏ*/
    			NVIC->ICPR[i] = 0xFFFFFFFF;	// Çå³ýÖжϱê־λ 
    		}
    #endif
    		jump2app();									//Ìøתµ½APP
    	}
    }

    APP:

    static void NVIC_SetVectorAddr(void)
    {
    	memcpy((void*)SRAM_FirstAddr,(void*)APP_FirstAddr,VECTOR_SIZE);	//½«APP³ÌÐòÊ×µØÖ·(0x8004000)ÖеÄÖжÏÏòÁ¿±í¸´ÖƵ½SRAMÖÐ
    	SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM);		//ÉèÖôÓRAMÆô¶¯
    }

    注释没办法了,乱码,我就不重写了。

    展开全文
  • 2021届oppo提前批[芯片设计岗位面经]

    千次阅读 2020-08-02 20:32:30
    oppo提前批,无笔试,之前面试的几家公司只有vivo是有笔试的,其他都...1、简单自我介绍一下自己的项目,然后让仔细的说了其中几个模块是怎么实现的 2、FPGA怎么供时钟的,and why? 3、FIFO的设计,FIFO设计时应...

          oppo提前批,无笔试,之前面试的几家公司只有vivo是有笔试的,其他都没有笔试,oppo面试一对一,面试30分钟左右。oppo面试官是一个女生,有点点小惊讶,毕竟一直听说oppo是不怎么招女生的。

    1、一面

    oppo面试也是主要问项目,但是感觉她不了解我做的项目,所以主要是我在说(汇顶和中兴的很懂,问的很细致)。  

    问到的有:

    1、简单自我介绍一下自己的项目,然后让仔细的说了其中几个模块是怎么实现的

    2、FPGA怎么供时钟的,and why?

    3、FIFO的设计,FIFO设计时应该注意哪些?

    4、FIFO在设计时,对读写时钟有没有要求,需不需要要求读写时钟不能差距过大?

    5、FPGA约束,涉及到哪些约束

    6、RAM按端口分有哪些种类

    7、时序问题如何解决

    8、跨时钟域的处理,并举出项目中的例子

    9、怎么确保自己所调试的模块是没问题的

    10、项目是在怎么形成的,指标对比

    11、项目中最困难的模块

    12、除了所做项目,有没有调试过其他项目

    13、最大的优缺点,并举例子

    2、二面

        据说二面也是技术面,于是认认真真准备了,但是面试过程过于惊讶。十分钟解决,一面面试官和二面面试官一直都有说,我做FPGA的实现和他们IC还是不一样,不契合,预估凉凉。

        二面主要也没问什么技术问题,主要还是问项目构成,具体模块的编写,调试,IC的设计流程是否了解(从前端到后端),以及和FPGA设计的区别,时序约束的学习过程,时序怎么约束,时序约束的作用,代码编写验证以及上板调试验证。

     

    展开全文
  • 一面相对简单一些,一开始上来面试官让介绍一下自己,五分钟时间讲自己的求学经历(可能是想针对这些经历发问吧),然后问了一下项目过哪些逻辑,如果让你接触一个新的接口逻辑,你怎么去理解这个逻辑并实现。...
  • 第三,实践类的操作系统书籍还是太少了,以至于你要想看看别人是怎么做的,除了读以《操作系统:设计与实现》为代表的极少数书籍之外,就是一头扎进源代码中,而结果有时相当令人气馁。我自己也气馁过,所以我在第二...
  • 第三,实践类的操作系统书籍还是太少了,以至于你要想看看别人是怎么做的,除了读以《操作系统:设计与实现》为代表的极少数书籍之外,就是一头扎进源代码中,而结果有时相当令人气馁。我自己也气馁过,所以我在第二...
  • 您可以使用 自定义逻辑芯片 来实现自己简单逻辑器件. 位于“菜单–绘制–数字芯片–添加自定义逻辑”下, 或者是"右键–数字芯片–添加自定义逻辑". 视频简介: Circuitjs 自定义逻辑电路(custom logic)功能简介 ...
  • 上面这个图中使用专用芯片cd3582来电池极性检测,如图,芯片VS+,VS-是电源输入,x1,w 两个引脚检测电池极性,并根据需要调整电压极性,然后给电池充电。有了这个芯片,妈妈再也不用担心我电池接反啦。:),另外...
  • 以前工作中参与了一些音视频程序的开发,不过使用的都是芯片公司的SDK,没有...当然,这里不是来分析音视频播放软件,如果真的想学习,自己可以研究一下ffmpeg自带的一个简单播放器ffplay,在这里不对ffplay详细...
  • ffplay的音视频同步分析

    千次阅读 2016-08-22 17:25:14
    以前工作中参与了一些音视频程序的开发,不过使用的都是...当然,这里不是来分析音视频播放软件,如果真的想学习,自己可以研究一下ffmpeg自带的一个简单播放器ffplay,在这里不对ffplay详细分析,只拿出来他的音视
  • 以前工作中参与了一些音视频程序的开发,不过使用的都是...当然,这里不是来分析音视频播放软件,如果真的想学习,自己可以研究一下ffmpeg自带的一个简单播放器ffplay,在这里不对ffplay详细分析,只拿出来他的音视
  • AT89S51单片机ISP线制作

    2021-01-19 18:48:29
    否则程序怎么写到AT89S51芯片里呢?  在网上查了一下,ISP线的种类主要取决于PC端程序的种类。有并口的,有串口的,也有USB的。串口和USB的介绍较少而并口的介绍的很多,也比较简单。易于自己制做。并口的在网上也...
  • 51单片机的操作的确要简单许多,但原理都一样,没什么变化,以前学51的时候没怎么做笔记,现在想找一下以前的学习笔记根本没有,于是现在学了之后就把笔记发在博客上,顺便加上一些自己的学习心得,方便自己以后查找...
  • 直接MCU的四个I/O口分别控制,其实,这款芯片我还是第一次使用,芯片已经到货,正准备板子出来了,几个实验,熟悉下这款芯片怎么操作。 我还加入了SD卡,生日嘛!肯定要有生日快乐歌,将某某的原音存入SD卡中,到...
  • 否则程序怎么写到AT89S51芯片里呢?  在网上查了一下,ISP下载线的种类主要取决于PC端下载程序的种类。有并口的,有串口的,也有USB的。串口和USB的介绍较少而并口的介绍的很多,也比较简单。易于自己制做。并口的...
  • 因为它便宜,小巧并且具有自己的文件系统( ),所以它非常适合实现简单的远程连接并保存Ducky Script有效负载。 尽管ESP8266很棒,但它没有本地USB,这意味着它不能充当键盘:( ( 在此了一个很酷的项目,并亲自...
  • 如何学好单片机

    千次阅读 2010-05-20 14:54:00
    先说说单片机,我们现在用的比较多的是8051单片机,它的资料比较多,用的人也较多,市场也很大,51单片机内部结构比较简单,非常适合初学者学习,建议初学者将51单片机为入门级芯片。单片机属于硬件,我强烈不推荐...
  • 最进使用ads1220热电偶的实验,在读取芯片内部温度实验的时候卡了一天,明明看起来很简单却读不到自己想要的数据,后来认真读了一遍手册才找到原因,特此写下来记录。 ads1220驱动网上有很多链接,下载下来改改就...
  • 今天购买了AXLINX AX7020的开发板,从今天开始每一个例程都要文档记录,为自己加油。 本实验,基于ALINX AX7020开发板,芯片为xc7z020clg400-2。 项目介绍: 呼吸灯,就是想人们呼吸频率的一种led灯亮灭的一种表现...
  • 最近的项目采用的主控芯片是8位的MCU,在但是在写下3行代码后,就出现了无法解决的Bug,而且导师告诉我,之前去华为的那个工程师当时也遇到过这个问题,具体是怎么解决的他也不清楚,好吧,只能靠自己了。...
  • Quartus_II使用教程

    热门讨论 2012-11-26 23:20:43
    就可以调出自己打包的芯片,也可以双击后在project中点选,如图10. 图10 电路设计完成后,就是在此编译了,如果前面点选了别的文件为top-level entity不要忘 了设置下,把memory设为top-level entity。 在...
  • 但是当自己做项目的时候,感觉完全不是一回事,就像你跟着学完1+1等于2,然后让你解答一个微积分方程一样),或者有什么好的建议(建议找个电子厂上班的就算了吧)&#...
  • 2、初学者一般都有自己的51开发板,闲置是一种浪费,如果有一个FPGA核心板转DIP40的模块,搭上合适简单的外围,就可以利用上51开发板的外围,也是一个不错的选择,价格会低一点点。 3、学的深一些的同学,可以搞个51...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

怎么自己做简单芯片