zhliao2

风雨兼程,一路向北-------fpga (Keep a quiet heart study)

2012年6月29日

【转】奋斗、忘却、不放弃,我的人生又会是怎样?

摘要: 真心希望中国的IT事业越走越好!--------这些日子我一直在写一个实时*作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做*作系统内核和IC相关开发,这中间走了很多弯路,也吃了不少苦。 我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没有指望能*学校名气找一个好工作。所有的希望都寄托在自己. 阅读全文

posted @ 2012-06-29 20:13 zhliao 阅读(199) 评论(0) 推荐(0)

2012年6月20日

串行通信采用奇偶校验方式发送数据

摘要: 编制串行通信的数据发送程序,发送片内RAM50H~5FH的16个字节的数据,串行接口设定为方式2,采用奇偶校验方式。设晶振频率为6MHz。 ORG 0000H LJMP START ORG 0030HSTART: MOV SP, #30H MOV PCON, #80H MOV SCON, #80H MOV R0, #50H MOV R7, #16LOOP: MOV A, R0 MOV C, P ;红色部分为奇偶校验方式 MOV TB8, C MOV SBUF, A JNB TI, $ CLR TI ... 阅读全文

posted @ 2012-06-20 11:01 zhliao 阅读(817) 评论(0) 推荐(0)

2012年6月19日

【转】提问的智慧

摘要: 此文让我受益良多。值得一读,大家如果也觉得不错就一起来推~~~ --------------------------------- 在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。 首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。 如若不然,我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励,是厚礼,可以提高我们的理解力,而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言,“问得好!”是发自内心的大力称赞。... 阅读全文

posted @ 2012-06-19 10:25 zhliao 阅读(202) 评论(0) 推荐(0)

2012年6月14日

原码,反码,补码

摘要: 原文:http://blog.csdn.net/liujianli123/article/details/7433759以一个字节进行说明:1.先从计算机存储的机制说起:直接说有符号数,先说一个字节的的补码表示范围为-2^7~(2^7-1),即-128~127。当X>0时,X[原码]=[反码]=[补码];当X=0时,存在[+0]和[-0]两种表示形式,[+0]原=0000 000,[+0]反=0000 0000,[+0]补=0000 0000[-0]原=1000 000,[-0]反=1111 111,[-0]补=0000 0000当X<0时(重要):a.负数的原码:最高位D7为1, 阅读全文

posted @ 2012-06-14 11:16 zhliao 阅读(734) 评论(0) 推荐(0)
判断数据是否有溢出(OV)

摘要: 原文:http://zhidao.baidu.com/question/361453111.htmlCY位是累加器的进位、借位标志。下文的叙述按16位机来举例说明,如果是8位机或其它字长,则可换一个例子,但道理相似。对于无符号数的运算,CY位就可以表示其是否溢出。但如果是有符号数,则不能按CY标志来判断了。为此,设了另一个标志OV,其含义就是“假如是有符号数运算,是否出现了溢出”。例如对于16位运算器,65534 + 3,(即二进制的1111111111111110 + 0000000000000011),本该得65537,(即二进制的10000000000000001),但因为寄存器只有16 阅读全文

posted @ 2012-06-14 11:02 zhliao 阅读(14947) 评论(0) 推荐(2)
单位换算

摘要: b 是 bit 位的缩写B 是Byte 字节的缩写1B=8b1kb=1024b1GHz=1000MHz1MHz=1000kHz1kHz=1000Hz1GHz = 0.0005us = 0.0000005ms1MHz = 0.5us = 0.0005ms1KHz = 500us = 0.5ms1hz = 500000us = 500ms1ms=1000us1ms = 0.001s1us = 1000ns1uf = 10_0000pf1uf = 1000nfMHz的倒数是us级别的Hz的倒数是s级别的KHz的倒数是ms级别的在计算机网络或者是网络运营商中,一般,宽带速 率的单位用bps(或b/s) 阅读全文

posted @ 2012-06-14 10:30 zhliao 阅读(2129) 评论(0) 推荐(0)

2012年6月13日

【转】什么是面向对象

摘要: 先说一下面向过程和面向对象,这是两种思想,它们都能达到用程序来完成一件事情的能力。 只不过思维方式不一样而已。 面向过程是把一件事一项工程分解成为一个个小的功能,用一个个函数来实现. 面向对象是把事情看成是一个个小的对象组成的,或者说一个个小部分组成的,这些对象之间的相互关系,构成了整个项目. 在面向对象的思想中,万物皆对象,我是,你是,他也是。 而"类",就是对象的抽象或者说是概括。比如,我你他都可以概括为人类。 总的来说,类是抽象的虚的,而对象是一个个活生生的具体的事物。 人是一个类,我你他就是对象。 一般的面向对象程序设计方法都是先设计一个类,然后由这个类产生一个对象 阅读全文

posted @ 2012-06-13 11:13 zhliao 阅读(249) 评论(0) 推荐(0)

2012年6月9日

c指针

摘要: 大一记载的笔记: 动态内存和静态内存的比较 静态内存是有系统自动分配,由系统自动释放 静态内存是在栈分配的 动态内存是由程序员手动分配, 手动释放 动态内存是在堆内存分配的地址一般用十六进制表示(H) 指针就是地址, 地址就是指针 地址就是内存单元的编号,不是编码。 指针变量是存放地址的变量 指针和指针变量是两个不同的概念 但是要注意:通常我们叙述时会把指针变量简称为指针, 实际他们的含义并不一样附注: 1:乘法 2:定义指针变量 int * p //定义了一个名字叫p的变量, int *表示p只能存放int变量的地... 阅读全文

posted @ 2012-06-09 02:03 zhliao 阅读(295) 评论(0) 推荐(0)
c结构枚举等

摘要: 大一记载的笔记: 补码 已知十进制求二进制 求正整数的二进制 除2取余, 直至商为零,余数倒叙排序 求负数的二进制 先求与该负数相对应的正整数的二进制代码,然后将 所有为取反,末尾加1,不够位数时,左边补1 求零的二进制 全为零 已知二进制求十进制 如果首位是0,则表明是正整数,按普通方法来求 如果首位是1,则表明是负整数 将 所有位取反,末尾加1,所... 阅读全文

posted @ 2012-06-09 02:03 zhliao 阅读(202) 评论(0) 推荐(0)
c基础

摘要: 大一记载的笔记:常量是以什么样的二进制代码存储在计算机中 整数是以补码的形式转化为二进制代码存储在计算机中的 实数是以IEEE754的形式转化为二进制代码存储在计算机中的 字符的本质实际也是与整数的存储方式相同字节就是存储数据的单位, 并且是硬件所能访问的最小单位 1//死机程序# include <stdio.h># include <malloc.h>int main(void){ while(1) { int * p = (int *)malloc(1000); }} 2# include <stdio.h>int m... 阅读全文

posted @ 2012-06-09 01:59 zhliao 阅读(271) 评论(0) 推荐(0)
c函数

摘要: 时常看看大一记载的c函数的笔记: double sqrt(double x) 求的x的平方根 int abs(int x) 求x的绝对值 double fabs(double x) 求x的绝对值函数是c的基本单位, 类是java, c#, c++的基本单位 1#include<stdio.h>void max(int i, int j){ if(i > j) printf("%d\n", i); else printf("%d\n", j);}int main(void){ int i, j,... 阅读全文

posted @ 2012-06-09 01:57 zhliao 阅读(310) 评论(0) 推荐(1)
CPU提供的栈的机制(POP/PUSH)

摘要: 选自王爽《《汇编语言》》执行push ax的情况:栈空的情况:执行pop ax的情况:关于栈定超界问题:总结: 阅读全文

posted @ 2012-06-09 01:25 zhliao 阅读(796) 评论(0) 推荐(1)

2012年6月8日

地址/数据/控制总线

摘要: 选自王爽《《汇编语言》》一个cpu有n跟地址线,则可以说这个cpu的地址总线的宽度为n,这样的cpu最多可以寻找2的n次方内存单元。图中展示了10根地址线的cpu向内存发出地址信息11时10根地址线上传送的二进制信息。cpu与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了cpu和外界的数据传送速度。8跟数据总线一次可传送一个8位二进制数据(即一个字节)。16根的数据总线一次可传送两个字节。控制总线:小结:上述的那些存储器,在物理上是独立的器件,但是在以下两点是相同的: 都是和cpu的总线相连 cpu对它们进行读或写的时候都通过控制线发出内存读写命令。这也就是说,c.. 阅读全文

posted @ 2012-06-08 12:53 zhliao 阅读(5634) 评论(0) 推荐(0)
CPU如何执行指令(CS/IP)

摘要: 选自王爽《《汇编语言》》物理地址:段地址x16必然是16的倍数,所以一个段的起始地址也一定是16的倍数;偏移地址为16位,16位地址的寻址能力为64KB,所以一个段的长度最大为64KB;还有一点及时可以用不同的段地址和偏移地址形成同一个物理地址。CPU是怎么读指令的(very important):总结:CPU将CS:IP指向的内存单元中的内容看作指令,因为,在任何时候,CPU将CS,IP中的内容当作指令的段地址和偏移地址,用它们合成指令的物理地址,到内存中读取指令码,执行。如果说,内存中的一段信息曾被CPU执行过的话,那么,它所在的内存单元必然被CS:IP指向过。 阅读全文

posted @ 2012-06-08 11:23 zhliao 阅读(8475) 评论(0) 推荐(3)

2012年6月7日

A/D模数转换

摘要: 先上AD574功能表:硬件电路图:程序流程图:c程序:/************************************************************************************************ A/D实验程序选择的晶振是3MHz,选用地址Q0,Q1,用定时器1在1s后重新启动AD转换(important) 程序是copy seataes的,感谢ing,我只是把注释补全,自己能更快的理解罢了******************************************************************... 阅读全文

posted @ 2012-06-07 15:08 zhliao 阅读(1019) 评论(0) 推荐(0)