-专注于互联网、网络技术、网络工程、网络营销SEO、搜索引擎、社会化网络、IT技术、网络编程、网络安全、服务器管理、网站开发、移动互联网软件应用等领域的原创IT科技博客,欢迎喜欢互联网的朋友一起交流!

SHOPEX与ECSHOP比较

SHOPEX与ECSHOP是目前国内流行的两款PHP网上商店系统。一个是老牌劲旅,一个是后起之秀,由此,很多网友都开始不由自主地将“SHOPEX ”与“ECSHOP”之间进行比较。虽然“SHOPEX”发展多年功能已比较完善,而“ECSHOP”的横空出世是否能够抢占用户的眼球,积蓄实力以期能与“SHOPEX”一较高低呢?在下文中将通过各项功能比较来窥视“SHOPEX”与“ECSHOP”孰优孰劣。(备注:这里的shopex指ShopEx网上商店系统)

一、代码免费及开源

SHOPEX:ShopEx网上商店系统提供免费下载、免费使用、免费升级,没有使用时间和功能上的任何限制,与商业版本一样。但是SHOPEX是经过优化,后台源码是加密的,前台源码是开源的。

SHOPEX后台界面

ECSHOP:ECSHOP则是一款开源免费的通用电子商务平台构建软件,用户可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。

ECSHOP后台界面

点评:SHOPEX和ECSHOP同样免费;前且的小信使、提醒工具、后台生成静态页面的文件都是经过加密处理的,只支持前台开源,不利于用户的修改和二次开发。而ECSHOP且完全支持开源,在这点上ECSHOP占据了上方,我们也相信,在将来的某一天,SHOPEX也实现开源。

二、支付网关

SHOPEX:目前SHOPEX内置银联、快钱、支付宝等国际国内三十四个网上支付网关。无需另行制作网关接口,用户自由选取合适的网关,快速实现网上在线支付功能。

SHOPEX内置支付网关

ECSHOP:以插件方式提供对支付网关的支持,用户可以自行选择所需的支付方式。ECSHOP内置了银联、快钱、支付宝等国内较为常用的六个支付网关。

丝网印刷技术详解

丝网印刷技术问答总汇
1.什么叫丝网印刷?

丝网印刷属于孔版印刷,它与平印、凸印、凹印一起被称为四大印刷方法。孔版印刷包括誊写版、镂孔花版、喷花和丝网印刷等。孔版印刷的原理是:印版(纸膜版或其它版的版基上制作出可通过油墨的孔眼)在印刷时,通过一定的压力使油墨通过孔版的孔眼转移到承印物(纸张、陶瓷等)上,形成图象或文字。誊写版印刷为最简便的孔版印刷,始于19世纪末期。这种印刷是在特制的蜡纸上,通过打字机或铁笔制成蜡纸图文版,在蜡纸版上用油墨辊进行印刷,承印物上就可得到理想的印刷效果。在孔版印刷中,应用最广泛的是丝网印刷。

丝网印刷是将丝织物、合成纤维织物或金属丝网绷在网框上,采用手工刻漆膜或光化学制版的方法制作丝网印版。现代丝网印刷技术,则是利用感光材料通过照相制版的方法制作丝网印版(使丝网印版上图文部分的丝网孔为通孔,而非图文部分的丝网孔被堵住)。印刷时通过刮板的挤压,使油墨通过图文部分的网孔转移到承印物上,形成与原稿一样的图文。丝网印刷设备简单、操作方便,印刷、制版简易且成本低廉,适应性强。丝网印刷应用范围广常见的印刷品有:彩色油画、招贴画、名片、装帧封面、商品标牌以及印染纺织品等。

2.丝网印刷术是什么时候发明的?

丝网印刷最早起源于中国,距今已有两千多年的历史了。早在我国古代的秦汉时期就出现了夹颉印花方法。到东汉时期夹颉蜡染方法已经普遍流行,而且印制产品的水平也有提高。至隋代大业年间,人们开始用绷有绢网的框子进行印花,使夹颉印花工艺发展为丝网印花。据史书记载,唐朝时宫廷里穿着的精美服饰就有用这种方法印制的。到了宋代丝网印刷又有了发展,并改进了原来使用的油性涂料,开始在染料里加入淀粉类的胶粉,使其成为浆料进行丝网印刷,使丝网印刷产品的色彩更加绚丽。
丝网印刷术是中国的一大发明。美国《丝网印刷》杂志对中国丝网印刷技术有过这样的评述:“有证据证明中国人在两千年以前就使用马鬃和模板。明朝初期的服装证明了他们的竞争精神和加工技术。”丝网印刷术的发明,促进了世界人类物质文明的发展。在两千年后的今天,丝网印刷技术不断发展完善,现已成为人类生活中不可缺少的一部分。

3.丝网印刷的原理是什么?

丝网印刷由五大要素构成,即丝网印版、刮印刮板、油墨、印刷台以及承印物。丝网印刷基本原理是:利用丝网印版图文部分网孔透油墨,非图文部分网孔不透墨的基本原理进行印刷。印刷时在丝网印版一端上倒入油墨,用刮印刮板在丝网印版上的油墨部位施加一定压力,同时朝丝网印版另一端移动。油墨在移动中被刮板从图文部分的网孔中挤压到承印物上。由于油墨的粘性作用而使印迹固着在一定范围之内,印刷过程中刮板始终与丝网印版和承印物呈线接触,接触线随刮板移动而移动,由于丝网印版与承印物之间保持一定的间隙,使得印刷时的丝网印版通过自身的张力而产生对刮板的反作用力,这个反作用力称为回弹力。由于回弹力的作用,使丝网印版与承印物只呈移动式线接触,而丝网印版其它部分与承印物为脱离状态。使油墨与丝网发生断裂运动,保证了印刷尺寸精度和避免蹭脏承印物。当刮板刮过整个版面后抬起,同时丝网印版也抬起,并将油墨轻刮回初始位置。至此为一个印刷行程。

时间单位换算表

1秒=1000毫秒(ms)
1毫秒=1/1,000秒(s)
1秒=1,000,000 微秒(μs)
1微秒=1/1,000,000秒(s)
1秒=1,000,000,000 纳秒(ns)
1纳秒=1/1,000,000,000秒(s)
1秒=1,000,000,000,000 皮秒(ps)
1皮秒=1/1,000,000,000,000秒(s)
1s=1000ms
1ms=1000us
1us=1000ns
1ns=1000ps

I²C总线原理

I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。
1. I2C总线特点
I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。
2 .I2C总线工作原理
2.1 总线的构成及信号类型
I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。
I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。
3 总线基本操作
I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。参见图1。

[caption id="attachment_474" align="aligncenter" width="300" caption="图1 串行总线上的数据传送顺序"]图1 串行总线上的数据传送顺序[/caption]

3.1 控制字节
在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。如图2所示。

[caption id="attachment_475" align="aligncenter" width="188" caption="图2 控制字节配置"]图2 控制字节配置[/caption]

3.2 写操作
写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。关于页面写的地址、应答和数据传送的时序参见图3。

[caption id="attachment_477" align="aligncenter" width="300" caption="图3 页面写"]图3 页面写[/caption]

3.3 读操作
读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。

[caption id="attachment_478" align="aligncenter" width="300" caption="图4 顺序读"]图4 顺序读[/caption]

4 .实例:X24C04与MCS-51单片机软硬件的实现
X24C04是XICOR公司的CMOS 4096位串行EEPROM,内部组织成512×8位。16字节页面写。与MCS-51单片机接口如图5所示。由于SDA是漏极开路输出,且可以与任何数目的漏极开路或集电极 开路输出“线或”(wire-Ored)连接。上拉电阻的选择可参考X24C04的数据手册。下面是通过I2C接口对X24C04进行单字节写操作的例程。流程图及源程序如下:

[caption id="attachment_479" align="aligncenter" width="201" caption="图5 X24C04与51单片机接口"]图5 X24C04与51单片机接口[/caption]

 

[caption id="attachment_481" align="aligncenter" width="142" caption="图六:流程图"]图六:流程图[/caption]

;名称:BSENT
;描述:写字节
;功能:写一个字节
;调用程序:无
;输入参数:A
;输出参数:无
BSEND: MOV R2,#08H ;1字节8位
SENDA: CLR P3.2 ;
RLC A ;左移一位
MOV P3.3,C ;写一位
SETB P3.2
DJNZ R2,SENDA ;写完8个字节?
CLR P3.2 ;应答信号
SETB P3.3
SETB P3.2
RET

5 结束语
在I2C总线的应用中应注意的事项总结为以下几点 :
1) 严格按照时序图的要求进行操作,
2) 若与口线上带内部上拉电阻的单片机接口连接,可以不外加上拉电阻。
3) 程序中为配合相应的传输速率,在对口线操作的指令后可用NOP指令加一定的延时。
4) 为了减少意外的干扰信号将EEPROM内的数据改写可用外部写保护引脚(如果有),或者在EEPROM内部没有用的空间写入标志字,每次上电时或复位时做一次检测,判断EEPROM是否被意外改写。

文章摘自<<单片机爱好者 >>

华为面试题:关于建立时间与保持时间

华为题目:时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问:触发器D2的建立时间T3和保持时间T4应满足什么条件?

[caption id="attachment_467" align="aligncenter" width="300" caption="settime"]settime[/caption]



[caption id="attachment_468" align="aligncenter" width="300" caption="holdtime"]holdtime[/caption]


分析:
Tffpd:触发器输出的响应时间,也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变化并且稳定,也可以理解为触发器的输出延时。
Tcomb:触发器的输出经过组合逻辑所需要的时间,也就是题目中的组合逻辑延迟。
Tsetup:建立时间
Thold:保持时间
Tclk:时钟周期
建立时间容限:相当于保护时间,这里要求建立时间容限大于等于0。
保持时间容限:保持时间容限也要求大于等于0。

由上图可知,建立时间容限=Tclk-Tffpd(max)-Tcomb(max)-Tsetup,根据建立时间容限≥0,也就是Tclk-Tffpd(max)-Tcomb(max)-Tsetup≥0,可以得到触发器D2的Tsetup≤Tclk-Tffpd(max)-Tcomb(max),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Tsetup≤T-T2max。

由上图可知,保持时间容限+Thold=Tffpd(min)+Tcomb(min),所以保持时间容限=Tffpd(min)+Tcomb(min)-Thold,根据保持时间容限≥0,也就是Tffpd(min)+Tcomb(min)-Thold≥0可以得到触发器D2的Thold≤Tffpd(min)+Tcomb(min),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Thold≤T2min。关于保持时间的理解就是,在触发器D2的输入信号还处在保持时间的时候,如果触发器D1的输出已经通过组合逻辑到达D2的输入端的话,将会破坏D2本来应该保持的数据

乔布斯经典语录

他的成就和人格魅力影响了一代人和整个世界,他就是拥有梦幻般传奇经历的苹果电脑公司的创始人斯蒂夫·乔布斯。这个个人电脑领域的梦想家引领并改变了整个计算机硬件和软件产业。

这个精力充沛魅力无限的家伙同时也是一个很会鼓动人心的激励大师,甚至在他的平常对话中,经典的语句也常常脱口而出。这里摘取了一些他的经典语录,希望这些乔氏语录对你有所帮助:

1. Innovation distinguishes between a leader and a follower.

领袖和跟风者的区别就在于创新。

Innovation has no limits. The only limit is your imagination. It's time for you to begin thinking out of the box. If you are involved in a growing industry, think of ways to become more efficient; more customer friendly; and easier to do business with. If you are involved in a shrinking industry – get out of it quick and change before you become obsolete; out of work; or out of business. And remember that procrastination is not an option here. Start innovating now!

创新无极限!只要敢想,没有什么不可能,立即跳出思维的框框吧。如果你正处于一个上升的朝阳行业,那么尝试去寻找更有效的解决方案:更招消费者喜爱、更简洁的商业模式。如果你处于一个日渐萎缩的行业,那么赶紧在自己变得跟不上时代之前抽身而出,去换个工作或者转换行业。不要拖延,立刻开始创新!


2. Be a yardstick of quality. Some people aren't used to an environment where excellence is expected.

成为卓越的代名词,很多人并不能适合需要杰出素质的环境。

There is no shortcut to excellence. You will have to make the commitment to make excellence your priority. Use your talents, abilities, and skills in the best way possible and get ahead of others by giving that little extra. Live by a higher standard and pay attention to the details that really do make the difference. Excellence is not difficult - simply decide right now to give it your best shot - and you will be amazed with what life gives you back.

成功没有捷径。你必须把卓越转变成你身上的一个特质。最大限度地发挥你的天赋、才能、技巧,把其他所有人甩在你后面。高标准严格自己,把注意力集中在那些将会改变一切的细节上。变得卓越并不艰难——从现在开始尽自己最大能力去做——你会发现生活将给你惊人的回报。

3. The only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it.

成就一番伟业的唯一途径就是热爱自己的事业。如果你还没能找到让自己热爱的事业,继续寻找,不要放弃。跟随自己的心,总有一天你会找到的。

I've got it down to four words: "Do what you love." Seek out an occupation that gives you a sense of meaning, direction and satisfaction in life. Having a sense of purpose and striving towards goals gives life meaning, direction and satisfaction. It not only contributes to health and longevity, but also makes you feel better in difficult times. Do you jump out of bed on Monday mornings and look forward to the work week? If the answer is 'no', keep looking, you'll know when you find it.

“我把这段话浓缩为:“做我所爱”。去寻找一个能给你的生命带来意义、价值和让你感觉充实的事业。拥有使命感和目标感才能给生命带来意义、价值和充实。这不仅对你的健康和寿命有益处,而且即使在你处于困境的时候你也会感觉良好。在每周一的早上,你能不能利索的爬起来并且对工作日充满期待?如果不能,那么你得重新去寻找。你会感觉得到你是不是真的找到了。

4. You know, we don't grow most of the food we eat. We wear clothes other people make. We speak a language that other people developed. We use a mathematics that other people evolved... I mean, we're constantly taking things. It's a wonderful, ecstatic feeling to create something that puts it back in the pool of human experience and knowledge.

并不是每个人都需要种植自己的粮食,也不是每个人都需要做自己穿的衣服,我们说着别人发明的语言,使用别人发明的数学……我们一直在使用别人的成果。使用人类的已有经验和知识来进行发明创造是一件很了不起的事情。”

Live in a way that is ethically responsible. Try to make a difference in this world and contribute to the higher good. You'll find it gives more meaning to your life and it's a great antidote to boredom. There is always so much to be done. And talk to others about what you are doing. Don't preach or be self-righteous, or fanatical about it, that just puts people off, but at the same time, don't be shy about setting an example, and use opportunities that arise to let others know what you are doing.

带着责任感生活,尝试为这个世界带来点有意义的事情,为更高尚的事情做点贡献。这样你会发现生活更加有意义,生命不再枯燥。需要我们去做的事情很多。告诉其 他人你的计划,不要鼓吹,也不要自以为是,更不能盲目狂热,那样只会把人们吓跑,当然,你也不要害怕成为榜样,要抓住出头的机会让人们知道你的所作所为。

5. There's a phrase in Buddhism, 'Beginner's mind.' It's wonderful to have a beginner's mind.

佛教中有一句话:初学者的心态;拥有初学者的心态是件了不起的事情。

It is the kind of mind that can see things as they are, which step by step and in a flash can realize the original nature of everything. Beginner's mind is Zen practice in action. It is the mind that is innocent of preconceptions and expectations, judgements and prejudices. Think of beginner's mind as the mind that faces life like a small child, full of curiosity and wonder and amazement.

不要迷惑于表象而要洞察事务的本质,初学者的心态是行动派的禅宗。所谓初学者的心态是指,不要无端猜测、不要期望、不要武断也不要偏见。初学者的心态正如一个新生儿面对这个世界一样,永远充满好奇、求知欲、赞叹。

6. We think basically you watch television to turn your brain off, and you work on your computer when you want to turn your brain on.

我们认为看电视的时候,人的大脑基本停止工作,打开电脑的时候,大脑才开始运转。

Reams of academic studies over the decades have amply confirmed television's pernicious mental and moral influences. And most TV watchers know that their habit is mind-numbing and wasteful, but still spend most of their time in front of that box. So turn your TV off and save some brain cells. But be cautious, you can turn your brain off by using a computer also. Try and have an intelligent conversation with someone who plays first person shooters for eight hours a day. Or auto race games, or role-playing games.

过去十年中,大量的理论研究表明,电视对人的精神和心智是有害的。大多数电视观众都知道这个坏习惯会浪费时间并且使大脑变得迟钝,但是他们还是选择呆在电视机前面。关掉电视吧,给自己省点脑细胞。还有,电脑也会让你的大脑秀逗,不信的话你去跟那些一天花8小时玩第一视角设计游戏、汽车拉力游戏、角色扮演游戏的人聊聊看,你也会得出这个结论的。

7. I'm the only person I know that's lost a quarter of a billion dollars in one year... It's very character-building.

我是我所知道的唯一一个在一年中失去2.5亿美元的人……这对我的成长很有帮助。

Don't equate making mistakes with being a mistake. There is no such thing as a successful person who has not failed or made mistakes, there are successful people who made mistakes and changed their lives or performance in response to them, and so got it right the next time. They viewed mistakes as warnings rather than signs of hopeless inadequacy. Never making a mistake means never living life to the full.

范错误不等于错误。从来没有哪个成功的人没有失败过或者犯过错误,相反,成功的人都是犯了错误之后,做出改正,然后下次就不会再错了,他们把错误当成一个警告而不是万劫不复的失败。从不犯错意味着从来没有真正活过。

8. I would trade all of my technology for an afternoon with Socrates.

我愿意用我所有的科技去换取和苏格拉底相处的一个下午。

Over the last decade, numerous books featuring lessons from historical figures have appeared on the shelves of bookstores around the world. And Socrates stands with Leonardo da Vinci, Nicholas Copernicus, Charles Darwin and Albert Einstein as a beacon of inspiration for independent thinkers. But he came first. Cicero said of Socrates that, "He called philosophy down from the skies and into the lives of men." So use Socrates' principles in your life, your work, your learning, and your relationships. It's not about Socrates, it's really about you, and how you can bring more truth, beauty and goodness into your life everyday.

十几年来,世界各地的书店里涌现出海量的关于历史人物的书籍。这些人物包括苏格拉底、达芬奇、哥白尼、达尔文以及爱因斯坦,他们被称为人们灵感的灯塔,而苏格拉底排在第一位。西塞罗评价苏格拉底说:“他把哲学从高高在上的学科变得与人休戚相关。”把苏格拉底的原则运用到你的生活、工作、学习以及人及关系上吧,这不是关于苏格拉底,这是关于你自己,以及关于你如何给你每天的生活带来更多的真善美。

9. We're here to put a dent in the universe. Otherwise why else even be here?

活着就是为了改变世界,难道还有其他原因吗?

Did you know that you have big things to accomplish in life? And did you know that those big things are getting rather dusty while you pour yourself another cup of coffee, and decide to mull things over rather than do them? We were all born with a gift to give in life, one which informs all of our desires, interests, passions and curiosities. This gift is, in fact, our purpose. And you don't need permission to decide your own purpose. No boss, teacher, parent, priest or other authority can decide this for you. Just find that unique purpose.

你是否知道在你的生命中,有什么使命是一定要达成的?你知不知道在你喝一杯咖啡或者做些无意义事情的时候,这些使命又蒙上了一层灰尘?我们生来就随身带着一件东西,这件东西指示着我们的渴望、兴趣、热情以及好奇心,这就是使命。你不需要任何权威来评断你的使命,没有任何老板、老师、父母、牧师以及任何权威可以帮你来决定。你需要靠你自己来寻找这个独特的使命。

10. Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.

你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

Are you tired of living someone else's dream? No doubt, it's your life and you have every right to spend it in your own individual way without any hurdles or barriers from others. Give yourself a chance to nurture your creative qualities in a fear-free and pressure-free climate. Live a life that YOU choose and be your own boss.

Each lesson might be difficult to integrate into your life at first, but if you ease your way into each lesson, one at a time, you'll notice an immediate improvement in your overall performance. So go ahead, give them a try.

你是否已经厌倦了为别人而活?不要犹豫,这是你的生活,你拥有绝对的自主权来决定如何生活,不要被其他人的所作所为所束缚。给自己一个培养自己创造力的机会,不要害怕,不要担心。过自己选择的生活,做自己的老板!

串口的简单应用

#include<reg52.h>
unsigned char flag,a;
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
}
}
}

void ser() interrupt 4
{
RI=0;
P1=SBUF;
a=SBUF;
flag=1;
}

建立时间与保持时间

建立时间与保持时间
时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错;因而明确FPGA设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计的稳定性有非常重要的意义。


1.1 建立时间与保持时间
建立时间(Tsu:set up time)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器;保持时间(Th:hold time)是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。建立与保持时间的简单示意图如下图1所示。


 



图1 保持时间与建立时间的示意图


在FPGA设计的同一个模块中常常是包含组合逻辑与时序逻辑,为了保证在这些逻辑的接口处数据能稳定的被处理,那么对建立时间与保持时间建立清晰的概念非常重要。下面在认识了建立时间与保持时间的概念上思考如下的问题。

图2 同步设计中的一个基本模型  

独立键盘消抖与数码管显示

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit d1=P1^0;
sbit duan=P2^6;
sbit wei=P2^7;
sbit key1=P3^4;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};//数码管编码
uchar num;
void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void main()
{
 wei=1;
 P0=0xfe;//打开两个数码显示管共阴极锁存
 wei=0;
 
 P3=0xff; //向P3口写1
 while(1)
  {
   if(key1==0)
    {
     delay(5); //按键前消抖
     if(key1==0)
     {
      d1=0;
      num++;
     if(num==16)
      num=0;
     }
     while(!key1);
     delay(5); //按键后消抖
     while(!key1);
    }
   else
   d1=1;  //灭灯
   duan=1;
   P0=table[num]; //打开锁存器,数码管输出数字
   duan=0; 
  }
}

使用定时器中断实现间隔1s流水灯闪烁一次

#include <reg52.h>
#include <intrins.h>
//#define uint unsigned int
#define uchar unsigned char
uchar temp,a;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
temp=0xfe;
P1=0xfe;
while(1)
{ if(a==20)
{ a=0;
temp=_crol_(temp,1);
}

P1=temp;
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
}
«1»
搜索
网站分类
最近发表
文章归档

技术支持TTF的家园

Copyright www.ttfde.org. All Rights Reserved.站点统计 Design by TTF的家园