- 浏览: 327954 次
- 性别:
- 来自: 南京
-
最新评论
-
huangyunbin:
swc.advance(); 这个什么时候被调用是最核心的 ...
滑动窗口计数java实现 -
80后的童年2:
深入浅出MongoDB应用实战开发网盘地址:https://p ...
MongoDB 从入门到精通专题教程 -
rryymmoK:
深入浅出MongoDB应用实战开发下载地址:http://pa ...
MongoDB 从入门到精通专题教程 -
u012352249:
怎么支持多个窗口啊?
滑动窗口计数java实现 -
rryymmoK:
深入浅出MongoDB应用实战开发百度网盘下载:链接:http ...
MongoDB 从入门到精通专题教程
文章列表
花了几天时间整了下单片机的键盘.我用的单片机板子是用的P2的8个IO端口对16个键达到控制的目的.
那怎样来使用8个端口控制16个键呢?其实很简单,先必须要掌握她的原理图,
附件中作者上传了一张,仅供参考.原理图看了之后,我们就可以正式开始编写程序了.
先将KEY0置低电平,其余的置高电平,当我们按下第一列的按键时,P2的高四位肯定会有所变化,而我们就是用的这种变化达到分辨不同按键的目的.同理,我们可以将KEY1置低电平,再去检测P2的高四位,也得出了第二列按的哪个键.依次类推,我们即可检测单片机的16个按键了.
下面有一个单片机键盘的完整示例程序,本程序已在89 ...
程序中还有不能实现的地方,如果数组中的0的话会将其算为一个正数,百思不得解,望能者指正之
DATAS SEGMENT
BUF DB 1,2,9,-2,-1,-4,3,-6,7,4
STR DB 13,10,' POSI: '
POSI DB ?
DB ' , NEGA: '
NEGA DB ?
DB '$'
DATAS ENDS
;---------------------
CODES SEGMENT
ASSUME DS:DATAS,CS:CODES
START:
MOV AX,DATAS
MOV D ...
- 2009-03-30 15:21
- 浏览 6135
- 评论(1)
程序中还有一些bug,请各大网友指正
DATAS SEGMENT
BUF DB 11H,11H,11H,11H,11H,11H
RESULT DB 'The result is: '
NUM DB 0
DB 13,10,'OVER','$'
COUNT Dw 5H
DATAS ENDS
;--------------------------------------
CODES SEGMENT
ASSUME DS:DATAS,CS:CODES
START:
MOV AX,DATAS
MOV DS,AX
XOR AX,AX
M ...
- 2009-03-30 15:20
- 浏览 1555
- 评论(0)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define randomize() srand((unsigned)time(NULL)) //定义一个宏
//PCB结构体定义部分
typedef struct PCB
{
/** 进程标识符,取值1-5 **/
unsigned int id;
/** 进程优先级,随机产生,值1-5 **/
signed int priority;
/**
目前已占用的CPU时间数,
初值为0;当该进 ...
- 2009-03-30 15:15
- 浏览 1973
- 评论(0)
让单片机的数码管显示的数从0开始递增一直到255,然后重新置0,再递增,如此循环.
还是用到了将要显示的数进行百位,十位,个位的分离.
从这篇开始,以后的程序就要注意程序的规范性,与可读性了.源代码如下(已经成功调通):
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit sda = P1^0;
sbit clk = P1^1;
sbit dig1 = P1^2;
sbit dig2 = P1^3;
sbit dig3 = P1^4;
sbit d ...
- 2009-03-29 13:13
- 浏览 2925
- 评论(0)
利用数码管显示三位数是利用了单片机数码管的动态扫描,但此方法又有不同点,我们不再需要位选table,实现的具体思路是,先将要显示的3位数进行百位,十位,个位进行分离,然后再利用动态扫描将其显示即可.
源代码如下,产生的效果是:可以显示任一个小于255的整数
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit sda=P1^0;
sbit clk=P1^1;
sbit dig1=P1^2;
sbit dig2=P1^3;
sbit dig3=P1 ...
- 2009-03-29 13:03
- 浏览 1846
- 评论(0)
要达到单片机数码管轮流显示的效果,不但要控制哪一个数码管显示,还要控制此数码管显示什么内容,因此我们引入两个table分别对位选和段选进行编码放入这2个table,再利用下标就可以来同时控制位选和段选信号了.
源代码如下,产生的效果是:四个数码管轮流显示1-9
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit led2=P0^0;
sbit led3=P0^1;
sbit led4=P0^2;
sbit led5=P0^3;
sbit s ...
- 2009-03-29 12:56
- 浏览 2283
- 评论(0)
servlet的主要作用是在不同的页面之间进行跳转,因为这个地方用了MVC设计模式,关于MVC设计模式具体的内容,以后会再细说,对于Servlet来说,它主要是充当了一个控制器的作用.在跳转时用到了两个非常重要的对象request,response一个是用来传递参数的,而另外一个主要是向客户端返回数据的.各有不同的作用.
我们可以通过request.setAttribute("name",name);来达到在不同页面传递参数的目的.
然后再用request.getAttribute("name");来接收传过来的数据.这就是request共享 ...
单片机的定时器的工作原理是利用了寄存器的溢出来触发中断的,所以在写定时器的时候就要去算计数的增量,再根据单片机的晶振的频率就可以算出确定的时间了.
附件中有一计算器是用来计算初值的,十分方便
定时器主要用到了2个寄存器,一个为TCON,另一个为TMOD.TCON是用来控制定时器的启动与停止的.TMOD是用来设置定时器的模式的.她们的具体的位说明,下面有一张图片,一看便清楚了.
下面我们写一个单片机定时器的例子,产生的效果是:4个数码管每秒会增1,当增加到最大值时,重新从0开始递增.
先说说写单片机定时器的步骤:1,对TMOD赋值,以确定T0和T1的工作方式。 ...
- 2009-03-28 13:48
- 浏览 2244
- 评论(0)
servlet可以实现Servlet接口,也可以继承GenericServlet类,它们有一个共同的地方,那就是要重写service()方法.下面我们讲第三种方法,继承HttpServlet类.
需要重写doGet(),doPost()方法,然后根据请求,选择应该写到哪个方法里面,不过此处作者建议使用将两种方法合二为一的另一种方法,也就是在doPost()方法里调用doGet()方法,反之亦可,如下:
public void doGet(XXXX){
doPost(XXX);
}
public void doPost(XXX){
}
下面我将说说S ...
- 2009-03-28 09:49
- 浏览 1374
- 评论(0)
servlet的生命周期由容器来自动管理。
1.装载servlet由相应的容器来完成
2.创建一个Servlet实例.
3.调用Servlet的init()方法
4,服务
5,销毁
- 2009-03-27 22:58
- 浏览 1167
- 评论(0)
到底什么是Servlet呢?想必学过J2SE的人都听说过Applet吧!其实Serlet与Applet的本质区别就是Serlet是运行在服务器端的应用程序,而Applet是运行在客户端的小程序。那究竟Servlet与一般的Jave程序又有何区别呢?其实只要你是搞Java的 ...
- 2009-03-27 22:51
- 浏览 1226
- 评论(0)
80C51的中断系统有5个中断源(80C52有6个),2个优先级,可实现二级中断嵌套。
根据它的原理图就可以看出,80C51一共有4个寄存器(TCON,SCON,IE,IP),附件有她们的详细的寄存器示例图。
如果想产生一个中断请求,首先要做的就是打开IE里的EA标志位,因为IE寄存器的地址是0xA8,所以可以对其位进行操作。而EA标志位是整个中断系统的总开关,这一步必不可少。接着还要将你要产生的中断号对位的IE中的相应位置高电平,包括EX0(0号外部中断),ET0(0号定时器中断),EX1(1号外部中断),ET1(1号定时器中断),ES(串口中断);上面的就是 ...
刚开始的时候把74HC164当成了74HC573使了,还看了原理图,半天摸不出个所以然,然后上网查了资料,才知道原来74HC164是串入并出的,此时才知道思考方向出错了。于是再看原理图再分析示例代码方有所获。
原来164只有一个输入端sda(P10),一个控制位clk(P11),还有四个位选:dig1~dig4分别与P13~P15相连,我们可以通过控制dig来达到选位的目的,然后再用sda来向164里传数。而164共有8个输出端,刚好对应了数码管的一个字节(a,b,c,d,,e,f,g,dp),从而显示出不同的数。
还有我写的一个例子程序发现了一个小问题, ...
- 2009-03-25 22:45
- 浏览 4689
- 评论(0)
今天总算是看到了一点单片机实在的东西了,经过今天的学习,我知道了单片机数码管的简单控制,总体说来,还是挺简单的,只是不知道的时候觉得难,真正的去学习的时候,又变得简单起来。
单片机数码管的原理大概是这样的,分别对一个字节进行编码,暂且将其叫a,b,c,d,e,f,g,h,当她们取不同的值时,将会得到不同的显示,那为什么是八位呢,因为在计算机里8位刚好是一个字节,这样就使其变的合理起来,可以把一个字节的数据送到某个寄存器里面,然后再送给数码管,得到相应的显示。编码如下:
----------------------------------------------------
0x3f ...
- 2009-03-25 13:27
- 浏览 1714
- 评论(1)