zhliao2

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

2012年7月15日

返回指针值的函数

摘要: int *a ( int x, int y );a是函数名,调用它以后能得到一个指向整型数据的指针.*a两侧没有括号,在a的两侧分别为*运算符和()运算符而()的优先级高于*.因此a先与()先结合,这个函数前面有*,表示此函数是指针型函数,最前面的int表示返回的指针指向整型变量.eg:有三个学生,每个学生有4门课,功能:用户输入学生序号,就能输出该学生的成绩# include <stdio.h>int main ( void ){ float score [][4] = { { 60, 70, 80, 90 }, { 56, 89, 67, 88 }, { 34, 78, 90, 阅读全文

posted @ 2012-07-15 11:57 zhliao 阅读(270) 评论(0) 推荐(0)
指针的小结

摘要: int i; 定义整形的变量i.int *p; p为指向整形数据的指针指针变量int a[ n ]; 定义整形数组a,它有n个元素int *p[ n ]; 定义指针数组p,它由n个指向整形数据的指针元素组成int ( *P )[ n ]; p为指向含有n个元素的一维数组的指针变量int f (); f为返回整形函数值的函数int *p(); p为返回一个指针的函数,该指针指向整形数据int ( *p )(); p为指向函数的指针,该函数返回一... 阅读全文

posted @ 2012-07-15 11:34 zhliao 阅读(173) 评论(0) 推荐(0)
指向函数的指针

摘要: 看看注释部分,总是被这有无括号搞晕,所以现在只有强记了先,`(*∩_∩*)′c = ( *p )( a, b );等价于c = max ( a, b );# include <stdio.h>int main ( void ){ int max ( int, int ); int ( *p )( int, int ); int a, b, c; p = max; //这里的函数名代表的是该函数的入口地址 scanf ( "%d, %d", &a, &b ); c = ( *p )( a, b ); //注意了,这里*p两侧的括号不可以省略,表示. 阅读全文

posted @ 2012-07-15 11:13 zhliao 阅读(196) 评论(0) 推荐(0)

2012年7月12日

单总线驱动程序(DS18B20)

摘要: sbit DQ=P3^7; //DS18B20数据传输线接单片机的相应的引脚void delaymm(uint z){ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}//向DS18B20读一字节数据 ,从低位开始读ReadOneChar(void) { unsigned char i=0; unsigned char dat=0; for (i=8;i>0;i--) { DQ=1; delay(1); DQ=0; dat>>=1; //把读到的左移一位,形成了一个字节 ... 阅读全文

posted @ 2012-07-12 16:09 zhliao 阅读(1428) 评论(0) 推荐(0)
1602驱动程序

摘要: sbit lcdrs=P1^0;sbit lcdrw=P1^1;sbit lcden=P1^2;void delaymm(uint z){ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}void delay(unsigned int k){ unsigned int n; n=0; while(n < k) {n++;} return;}void write_cmd(uchar cmd){ lcden=0; lcdrs=0; lcdrw=0; P0=cmd; _nop_(); lcden=1; delaymm(1); lcden 阅读全文

posted @ 2012-07-12 16:07 zhliao 阅读(451) 评论(0) 推荐(0)

2012年7月11日

【转】TTL电平与RS232电平的区别

摘要: 什么是TTL电平、CMOS电平、RS232电平?它们有什么区别呢?一般说来,CMOS电平比TTL电平有着更高的噪声容限。(一)、TTL电平标准 输出 L: <0.8V ; H:>2.4V。 输入 L: <1.2V ; H:>2.0V TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。(二)、CMOS电平标准 输出 L: <0.1*Vcc ; H:>0.9*Vcc。 输入 L: &l 阅读全文

posted @ 2012-07-11 13:21 zhliao 阅读(428) 评论(0) 推荐(0)

2012年7月8日

MCU发送一个字符串后(复位有效),后等待PC发送并又返回给PC显示

摘要: 晶振11.0592MHz,发送和接收使用的格式相同,如都使用字符型格式,按下复位键,则PC显示Crazy_Didong!,在单子串发送去填入相应的字符串/字符,则PC显示相应的字符串/字符。#include<reg52.h> //串口初始化void InitUART (void){ SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收 TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装 ... 阅读全文

posted @ 2012-07-08 14:26 zhliao 阅读(521) 评论(0) 推荐(0)
MCU发送字符串或字符给PC(字符格式,ASCII格式)

摘要: 晶振11.0592MHz,发送和接收使用的格式相同,都使用字符型格式,PC一直接受的Crazy_Didong!#include<reg52.h> #define uint unsigned int//串口初始化void InitUART (void){ SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收 TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装 TH1 = 0xFD; ... 阅读全文

posted @ 2012-07-08 13:42 zhliao 阅读(1112) 评论(0) 推荐(0)

2012年7月7日

AD/DA PCF8591

摘要: I2C驱动程序:void delay(){; ;}void delay1ms ( uint z ){ uint x, y; for ( x = z; x > 0; x -- ) for ( y = 110; y > 0; y -- );}void start ( ) //开始{ sda = 1; delay (); scl = 1; delay (); sda = 0; delay ();}void stop () //停止{ sda = 0; delay (); scl = 1; delay ();... 阅读全文

posted @ 2012-07-07 14:00 zhliao 阅读(309) 评论(0) 推荐(0)
I2C驱动程序

摘要: void delay(){; ;}void delay1ms ( uint z ){ uint x, y; for ( x = z; x > 0; x -- ) for ( y = 110; y > 0; y -- );}I2C启动:在SCL为高电平期间,SDA出现下降沿void start_I2C ( ) /{ sda = 1; delay (); scl = 1; delay (); sda = 0; delay ();}I2C停止:在SCL高电平期间,SDA上产生一上升沿void stop_I2C () //停止{ sda = 0; delay (); scl = 1; de 阅读全文

posted @ 2012-07-07 11:14 zhliao 阅读(235) 评论(0) 推荐(0)

2012年7月4日

暑假规划

摘要: 1,完成电子设计大赛的项目了2,<<c和指针>>过一遍----学完汇编这个应该不难,嘻嘻3,<<项目驱动--单片机应用设计基础>>要look look,最好了解一下什么是TinyOs4, <<基于VHDL的FPGA和NoisII实例精炼>>5,<<VerilogHDL那些事儿_建模篇v5>>起床:7:00休息:1:00哎呀,已经N久没动FPGA了,买了黑金800多的开发板没动她实在是很浪费,里面这么好的资源没去弄很可惜,说这个也就算了,而我连建模的都没搞多少,实在有点见笑了,总是有点借口说没什么时间 阅读全文

posted @ 2012-07-04 01:24 zhliao 阅读(208) 评论(0) 推荐(0)

2012年7月3日

下载百度文库

摘要: 在搜索引擎的框框里输入:site:wenku.baidu.com 题目注意题目前面的空格不要省略eg :site:wenku.baidu.com基于无线传感器网络的智能家居系统的设计然后打开百度快照就ok了 阅读全文

posted @ 2012-07-03 10:51 zhliao 阅读(256) 评论(0) 推荐(0)

2012年6月30日

以3种方式描述3人表决器件(其中也涉及到了模块化编程)

摘要: 选自《《基于VHDL的FPGA和NoisII实例精炼》》一--*************第一种方式*******************--数据流方式,主要用于简单的逻辑功能的实现,以信号赋值的方式来体现library ieee;use ieee.std_logic_1164.all;entity threevoter is port ( one : in std_logic; two : in std_logic; three : in std_logic; ispass : out std_logic);end threevoter;architecture dat... 阅读全文

posted @ 2012-06-30 23:16 zhliao 阅读(566) 评论(0) 推荐(0)
vhdl和原理图的混合设计

摘要: 首先建立一个VHDL工程文件FPGA_VHDL:把所需的代码写上(非门):library ieee;use ieee.std_logic_1164.all;entity FPGA_VHDL isport ( x : in std_logic; y : out std_logic);end FPGA_VHDL;architecture dataflow of FPGA_VHDL isbegin y <= not x;end dataflow;编译好了之后建立按如下步骤:在Block1双击空白处:FPGA_VHDL为VHDL生成的原理图设计如下,其中只是加了AND2:最后设置顶层文件 阅读全文

posted @ 2012-06-30 20:58 zhliao 阅读(2637) 评论(0) 推荐(0)

2012年6月29日

该这么去学习

摘要: “身体是革命的本钱”。 拼命不是办法,可以熬一两个通宵,有些人连续工作了三天三夜, 但是半个月都没有恢复过来,这样是不是得不偿失? 学习工作应该是一个长期的过程, 像马拉松而不是百米冲刺。要非常注意调整学习和工作的强度,要保证每天尽量有相对充沛的精力。 技术没有贵贱之分,虽然技术没有贵贱,但是门槛是有高低的, 无论如何,做IC的门槛要比做网页的高,这一点无可否认。作为个人奋发向上的想法还是应该有的,努力在自己喜欢的行业上做的更好,而不应该停留在比较肤浅的层次上。 学习有些随心所欲,这会带来了无尽的麻烦,也大大阻碍的个人的发展。 学习过于讲究数量和时间,那样学习既苦而已效率不高,要... 阅读全文

posted @ 2012-06-29 22:14 zhliao 阅读(187) 评论(0) 推荐(0)