当前位置:手链网 > 手链知识 > 正文内容

秒表编绳怎么编

手链之家2023年04月30日 12:54:08手链知识388

本篇文章给大家谈谈秒表编绳怎么编,同时还有秒表线编法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java 秒表

package demo;

import javax.swing.*;

import java.awt.HeadlessException;

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

public class Timer extends JFrame {

private static final long serialVersionUID = 1L;

private static final String INITIAL_LABEL_TEXT = "00:00:00 000";

// 计数线程

private CountingThread thread = new CountingThread();

// 记录程序开始时间

private long programStart = System.currentTimeMillis();

// 程序旁并戚一开始就是暂停的蔽尘

private long pauseStart = programStart;

// 程序暂停的总时间

private long pauseCount = 0;

private JLabel label = new JLabel(INITIAL_LABEL_TEXT);

private JButton startPauseButton = new JButton("开始");

private JButton resetButton = new JButton("清零");

private ActionListener startPauseButtonListener = new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (thread.stopped) {

pauseCount += (System.currentTimeMillis() - pauseStart);

thread.stopped = false;

startPauseButton.setText("暂停");

} else {

pauseStart = System.currentTimeMillis();

thread.stopped = true;

startPauseButton.setText("继续");

}

}

};

private ActionListener resetButtonListener = new ActionListener() {

public void actionPerformed(ActionEvent e) {

pauseStart = programStart;

pauseCount = 0;

thread.stopped = true;

label.setText(INITIAL_LABEL_TEXT);

startPauseButton.setText("开始");

}

};

public Timer(String title) throws HeadlessException {

super(title);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setLocation(300, 300);

setResizable(false);

setupBorder();

setupLabel();

setupButtonsPanel();

startPauseButton.addActionListener(startPauseButtonListener);

resetButton.addActionListener(resetButtonListener);

thread.start(); // 计数线程运陵一直就运行着

}

// 为窗体面板添加边框

private void setupBorder() {

JPanel contentPane = new JPanel(new BorderLayout());

contentPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

this.setContentPane(contentPane);

}

// 配置按钮

private void setupButtonsPanel() {

JPanel panel = new JPanel(new FlowLayout());

panel.add(startPauseButton);

panel.add(resetButton);

add(panel, BorderLayout.SOUTH);

}

// 配置标签

private void setupLabel() {

label.setHorizontalAlignment(SwingConstants.CENTER);

label.setFont(new Font(label.getFont().getName(), label.getFont().getStyle(), 40));

this.add(label, BorderLayout.CENTER);

}

// 程序入口

public static void main(String[] args) {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch (Exception e) {

e.printStackTrace();

}

Timer frame = new Timer("计时器");

frame.pack();

frame.setVisible(true);

}

private class CountingThread extends Thread {

public boolean stopped = true;

private CountingThread() {

setDaemon(true);

}

@Override

public void run() {

while (true) {

if (!stopped) {

long elapsed = System.currentTimeMillis() - programStart - pauseCount;

label.setText(format(elapsed));

}

try {

sleep(1); // 1毫秒更新一次显示

} catch (InterruptedException e) {

e.printStackTrace();

System.exit(1);

}

}

}

// 将毫秒数格式化

private String format(long elapsed) {

int hour, minute, second, milli;

milli = (int) (elapsed % 1000);

elapsed = elapsed / 1000;

second = (int) (elapsed % 60);

elapsed = elapsed / 60;

minute = (int) (elapsed % 60);

elapsed = elapsed / 60;

hour = (int) (elapsed % 60);

return String.format("%02d:%02d:%02d %03d", hour, minute, second, milli);

}

}

}

你可以试试,希望能帮到你!

用VB编写一个秒表

'一个标签,两个按钮山谈,一个计时器。

'标签显示时间野唯局,按钮一控制秒表,按钮二清零。

Dim m As Integer, s As Integer, ms As Integer, flag As Boolean

Private Sub Command1_Click()

If flag = False Then

Timer1.Interval = 10

flag = True

Else

Timer1.Interval = 0

flag = False

End If

End Sub

Private Sub Command2_Click()

flag = False

Timer1.Interval = 0

m = 0

s = 0

ms = 0

Label1.Caption = "00:00:00"

End Sub

Private Sub Timer1_Timer()

ms = ms + 1

If ms = 100 Then

s = s + 1

ms = 0

End If

If s = 60 Then

m = m + 1

s = 0

End If

Label1.Caption = Format(m, "00:") Format(s, "00:") Format(ms, "00"颂让)

End Sub

汇编语言 秒表程序设计

主程序:

push ds ;保存数据段历陵

mov ax,0000

mov ds,ax ;数据段清零

mov ax,offset irq7 ;取中断程序入口地址

add ax,2000 ;加装时IP=2000地址

mov si,003c ;填8259中断7中断矢量

mov w[si],ax ;填偏移量矢量

mov ax,0000 ;段地址CS=0000H

mov si,003e

mov w[si],ax ;填段地址矢量

pop ds ;弹栈

in al,21 ;读8259中断屏蔽字

and al,7f ;开8259中断7

out 21,al

mov al,b4 ;8253的计数器2为方式2,采用二进制计数,先低后高写入计数值 10110100

out 43,al ;写入方式控制字

mov ax,2e9c 0010 1110 1001 1100B 11932D

out 42,al ;写入低字节计数值 1001 1100

mov al,ah

out 42,al ;写入高字节计数值 0010 1110

mov al,81 ;8255的A口为方式0输出,B口为方式0输出和宴,C口下部输入 1000 0001

out 63,al ;写方式控制字

call first ;调用first子程序,赋计数初值

begi:hlt 延时等待

sti ;开中断

mov ah,01

int 16 ;检测是否按了键盘

jz begi

mov ah,00 ;读键值

int 16

cmp al,0d ;是否按了回车

jnz A1

mov si,4000

not [si+04] ;偏移地址为4004的内存单元内容取反

jmp begi

A1:cmp al,1b ;是否按了ESC键

jnz A2

call first ;重新赋初值,相当于清零

A2:jmp begi

中断程序:

irq7:call disp ;调用disp子程序,用来在数码管显示数据

mov si,4000

cmp [si+04],00 ;判断是否按了第2次回车键

je A4

call addn ;调用addn子程序,用来计数

A4:mov al,20

out 20,al

cli ;关中断

iret ;返回

addn程序:

addn:mov si,4000

add [si+03],01 ;百分之一秒加1

cmp [si+03],0a ;判断是否大于10

jz A5

jmp A9

A5:mov [si+03],00

Add [si+02],01 ;十分之一秒加1

cmp [si+02],0a ;判断是否大于10

jz A6

jmp A9

A6:mov [si+02],00

add [si+01],01 ;秒位加1

cmp [si+01],0a ;判断是否大于10

jz A7

jmp A9

A7:mov [si+01],00

add [si],01 ;十秒位加1

cmp [si],06 ;判断是否大于6

jz A8

jmp A9

A8:mov [si],00 ;大于60:00重新开始

A9: ret

赋初值程序:

first:mov si,4000

mov al,00

mov [si],al

mov [si+01],al

mov [si+02],al

mov [si+03],al

mov [si+04],al

ret

显示程序:

disp:push ax ;保存唤烂银AX

mov si,4000 ;指向数据缓冲区

mov dl,f7 ;1111 0111 指向数码管

mov al,dl ;al=1111 0111

again:out 60,al ;写端口A

mov al,[si]

mov bx,4100 ;指向数码缓冲区 bx=0100 0001 0000 0000

and ax,00ff ; ax=0000 0000 al

add bx,ax ;得到显示代码 bx=0100 0001 al

mov al,[bx]

out 61,al ;写端口B

call dally :调用延时程序dally

inc si

mov al,dl

test al,01

jz out

ror al,1 ;指向下一个数码管

mov dl,al

jmp again

out: pop ax ;弹出AX

ret

dally:push cx ;延时程序

push ax

mov cx,0010

t1 :mov ax,0010

t2 dec ax

jnz t2

loop t1

pop ax

pop cx

ret

数码缓冲区:

0000:4000 3f,06,5b4f,66,6d,7d,07,7f,6f

二、 设计思想

电子秒表要实现的功能:用键盘中断来控制整个程序,按一下回车键启动电子秒表,再按一下暂停,按一下ESC键清零,用七段数码管显示时间。整个程序涉及到8255、8253与8259三个芯片。8253的OUT2,CLK2分别连接8259的IRQ7与PCLK,8253的GATE2连接正5伏电压,采用计数器2每隔0.01秒产生一次中断并且计数,写入以偏移地址4000H开始的4个内存单元,然后利用8255将内存单元的数据输出到七段数码管。由于键盘中断优先于8259的7号中断,所以程序只有在按一下回车键才启动电子秒表,再按一下暂停,按一下ESC键清零,如果超出了60秒,整个程序自动重新开始。

三、 所用芯片工作原理

8255:接口电路在CPU和I/O设备之间起着信号的变换和传输的作用。 任何接口电路与CPU之间的信息传输方式都是并行的,即CPU与接口电路之间以数据字节/字为单位传送信息。接口电路与I/O设备之间的信息传送方式,有并行和串行两种,相应的接口电路称为并行接口和串行接口。

并行接口是在多根数据线上,以数据字节/字与I/O设备交换信息。在输入过程中,输入设备把数据送给接口,并且使状态线“输入准备好”有效。接口把数据存放在“输入缓冲寄存器”中,同时使“输入回答”线有效,作为对外设的响应。外设在收到这个回答信号后,就撤消数据和“输入准备好”信号。数据到达接口中后,接口会在“状态寄存器”中设置输入准备好标志,或者向CPU发一个中断请求。CPU可用查询方式或中断方式从接口中读取数据。接口中的数据被读取后,接口会自动清除状态寄存器中的标志,且撤消对CPU的中断请求。

在输出过程中,每当输出寄存器可以接收数据,接口就会将状态寄存器中“输出准备好”状态置1或向CPU发一个中断请求,CPU可用查询或中断方式向接口输出数据。当CPU输出的数据到达接口后,接口会清除“输出准备好”状态,把数据送往外设,并向外设发一个“数据输出准备好”信号。外设受到驱动后,便接收数据,并向接口电路发一个“输出回答”信号,接口收到该回答信号后,又将状态寄存器中“输出准备好”置位,以便CPU输出下一个数据。

8253:对CLK信号进行“减1计数”。首先CPU把“控制字”,写入“控制寄存器”,把“计数初始值”写入“初值寄存器”,然后, 定时/计数器按控制字要求计数。计数从“计数初始值 开始,每当CLK信号出现一次,计数值减1,当计数值减为0时,从OUT端输出规定的信号(具体形式与工作模式有关)。当CLK信号出现时,计数值是否减1(即是否计数),受到“门控信号”GATE的影响,一般,仅当GATE有效时,才减1.门控信号GATE如何影响计数操作,以及输出端OUT在各种情况下输出的信号形式与定时/计数器的工作模式有关。

8259:1. IR线上提出了中断请求的中断源,即出现请求,IRR中断请求寄存器(共有8位D7~D0)对应于连接在IR0~IR7线上的外设的中断请求,哪一根输入线有请求,哪一根输入线就置1。

2. 若OCW1(IMR中断屏蔽寄存器)未使该中断请求屏蔽(对应位为0时不屏蔽),该请求被送入PR(优先权分析器)比较。否则,不送入PR比较。

3. PR把新进入的请求与ISR(服务中寄存器)中正在被处理的中断进行比较。如果新进入的请求优先级较低,则8259不向CPU提出请求。如果新进入的请求优先级较高,则8259使INT引脚输出高电平,向CPU提出请求。

4. 如果CPU内部的标志寄存器中的IF(中断允许标志)为0,CPU不响应该请求。若IF=1,CPU在执行完当前指令后,从CPU的INTA引脚上向8259发出两个负脉冲。

5.第一个 INTA负脉冲到达8259时,8259完成以下三项工作:

a.使IRR(中断请求寄存器)的锁存功能失效。这样一来,在IR7~IR0上的请求信号就不会被8259接收。直到第二个INTA负脉冲到达8259时,才又使IRR的锁存功能有效。

b.使ISR(服务中寄存器)中的相应位置1。

c.使IRR中的相应位清0。

6.第二个INTA负脉冲到达8259时,8259完成以下工作:

a.将中断类型码(ICW2中的值)送到数据总线上,CPU将其保存在“内部暂存器”中。

b.如果ICW4(它设定级中断联方式之特定完全嵌套方式,将在8259的工作方式中详述ICW4)中设置了中断自动结束方式,则将ISR的相应位清0。

汇编语言编写电子秒表代码

秒表可以用定时器来实现,举例如下袭败配肢:

KEYVAL EQU 30H

DAT EQU 33H

SCANLED EQU 39H

CLK EQU 77H

SEC EQU 78H

SEC1 EQU 79H

SEC2 EQU 7AH

DOT BIT 00H

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP EXTINT0

ORG 000BH

LJMP T0ISR ;50ms定时

ORG 001BH

LJMP T1ISR ;扫描显示

ORG 0030H

MAIN:

MOV SP,#5FH

MOV TMOD,#11H

MOV TH0,#03CH

MOV TL0,#0B0H

MOV TH1,#0ECH

MOV TL1,#078H

MOV KEYVAL,#2

MOV 33H,#10H

MOV 34H,#10H

MOV 35H,#10H

MOV 36H,#10H

MOV CLK,#0

SETB IT0

SETB EX0

CLR TR0

CLR ET0

MOV R2,#0

SETB TR1

SETB ET1

SETB EA

LOOP:

MOV A,KEYVAL

LOOP1:

JNZ LOOP2 ;启动

SETB TR0

SETB ET0

SJMP LOOP

LOOP2:

DEC A

JNZ LOOP3 ;暂停

CLR TR0

CLR ET0

SJMP LOOP

LOOP3:

DEC A

JNZ LOOP ;清零

MOV 36H,#0

MOV 35H,#0

MOV 34H,#0

MOV 33H,#0

SJMP LOOP

EXTINT0:

PUSH ACC

INC KEYVAL

MOV A,KEYVAL

CJNE A,#3,EXT00

EXT00:

JC EXT01

MOV KEYVAL,#0

EXT01:

POP ACC

RETI

T0ISR:

PUSH ACC

CLR TR0

MOV TH0,#3CH

MOV TL0,#0B0H

SETB TR0

INC CLK

MOV A,CLK

CJNE A,#2,T0ISRE

MOV CLK,#0

INC 36H

MOV A,36H

CJNE A,#10,T0ISRE

MOV 36H,#0

INC 35H

MOV A,35H

CJNE A,#10,T0ISRE

MOV 35H,#0

INC 34H

MOV A,34H

CJNE A,#6,T0ISRE

MOV 34H,#0

INC 33H

MOV A,33H

CJNE A,#10,T0ISRE

MOV 33H,#0

T0ISRE:

POP ACC

RETI

T1ISR:

PUSH ACC

CLR TR1

MOV TH1,#0ECH

MOV TL1,#78H

SETB TR1

MOV DPTR,#LEDTAB

T100:

MOV R0,#DAT

MOV A,SCANLED

ADD A,R0

MOV R0,A

MOV A,SCANLED

JNZ T101

MOV P2,#01H

SETB DOT

SJMP T1DIS

T101:

DEC A

JNZ T102

MOV P2,#02H

CLR DOT

SJMP T1DIS

T102:

DEC A

JNZ T103

MOV P2,#04H

SETB DOT

SJMP T1DIS

T103:

MOV P2,#08H

CLR DOT

T1DIS:

MOV A,@R0

MOVC A,@A+DPTR

JNB DOT,T1DIS1

ORL A,#01H

T1DIS1:

CPL A

MOV P0,A

INC SCANLED

MOV A,SCANLED

CJNE A,#4,T1END

MOV SCANLED,#0

T1END:

POP ACC

RETI

LEDTAB: DB 0FCH ;"0" 00H

DB 60H ;"1" 01H

DB 0DAH ;"2" 02H

DB 0F2H ;"3" 03H

DB 66H ;"4"拍卖颤 04H

DB 0B6H ;"5" 05H

DB 0BEH ;"6" 06H

DB 0E0H ;"7" 07H

DB 0FEH ;"8" 08H

DB 0F6H ;"9" 09H

DB 0EEH ;"A" 0AH

DB 3EH ;"B" 0BH

DB 9CH ;"C" 0CH

DB 7AH ;"D" 0DH

DB 9EH ;"E" 0EH

DB 8EH ;"F" 0FH

DB 00H ;" " 10H

END

汇编语言编写一个简单的电子秒表

S_SEG SEGMENT STACK

DB 256 DUP(?)

S_SEG ENDS

D_SEG SEGMENT

COUNT DB 0 ;计时单元,初值为0

TENM DB ‘ 0’ ;10分计时单元,初值为0

MINUTE DB ‘0:’ ;分计时单元,初值为0

TENS DB ‘0’ ;10秒计时单元,初值为0

SECOND DB ‘0.’ ;秒计时单元,初值为0

HAOM DB ‘0’ ;10毫秒计时单元,初值为0

HAO DB ’8’,’$’ ;毫秒计时单元,初值为8

D_SEG ENDS

C_SEG SEGMENT

ASSUME CS:C_SEG ,SS:S_SEG

START: MOV AX,D_SEG

MOV DS,AX

CLI ;先关中断,以获得INT1CH

MOV AX,351CH ;调用35H号系统功能

INT 21H ;返回ES:BX=中断向量(段:偏移)

PUSH BX ;栈中保存INT1CH原中断向量

PUSH ES

STI ;开中断,帆咐以使键竖轿败盘工作

MOV AH,1 ;等待键按下

INT 16H

CLI ;关中断

MOV DX,SEG TIMER ;置新中断向量

MOV DS,DX

MOV DX,OFFSET TIMER ;DS:DX=新中断向量(段:偏移)

MOV AX,251CH

INT 21H

STI ;再开中断,以使键盘和INT1CH工作

CHECK: MOV AH ,1 ;检查有无余颤键代码

INT 16H

JZ DISPLAY1 ;无码可读,就跳转显示(DISPLAY系统保留)]

MOV AH ,0 ;无码可读,就要读取它

INT 16H

CMP AL ,51H ;是’Q’吗

JE OVER ;是,返回DOS

DISPLAY1: MOV AX,D_SEG ;不是,就显示

MOV DS ,AX

ASSUME DS:D_SEG

LEA DX ,TENM ;DS:DX=显示字符串地址

MOV AH ,9 ;显示 mm :ss.msms

INT 21H

JMP CHECK ;返回CHECK,循环继续

OVER: CLI

POP DS ;由栈中取回INT1CH原向量

POP DX

MOV AX ,251CH ;设置INT1CH,恢复原向量

INT 21H

STI ;开中断

MOV AX ,4C00H ;返回DOS

INT 21H

;以下为使用INT 1CH的中断服务子程序

TIMER PROC FAR

PUSH AX

MOV AX , D_SEG

MOV DS , AX

ASSUME DS :D_SEG

INC COUNT ;计时单元增1

CMP COUNT , ‘2’ ;到110毫秒否

JL EXIT ;不到,则返回

MOV COUNT , ‘0’ ;到,则计时单元清0

INC HAOM ;10毫秒计时单元增1

CMP HAOM ,’9’ ;到1秒否

JLE EXIT ;不到,则返回

INC SECOND ;到,则秒计时单元增1

MOV HAOM , ‘0’ ;10毫秒计时单元清0

CMP SECOND ,‘9’ ;到10秒否

JLE EXIT ;不到,则返回

MOV SECOND ,‘0’ ;到,则秒计时单元清0

INC TENS ;10秒计时单元增1

CMP TENS ,‘6’ ;到60秒否

JL EXIT ;不到,则返回

MOV TENS ,‘0’ ;到 ,则10秒计时单元清0

INC MINUTE ;分计时单元清0

CMP MINUTE ,‘9’ ;到10分 否

JLE EXIT ;不到,则返回

MOV MINUTE ,‘0’ ;到,则分计时单元清0

INC TENM ;10分计时单元增1

CMP TENM ,‘6’ ;到60分否

JL EXIT ;不到,则返回

MOV TENM ,‘0’ ;到,则10分计时单元清0,重新开始计时

EXIT: POP AX

IRET

TIMER ENDP

C_SEG ENDS

END START

求编程实现倒计时的秒表,2位LED数码管显示,延时采用硬件延时的方法

用单片机的定时器T0定时,计时1秒,实现倒计时的秒表的功能。

程序如下

#includereg51.h

unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管段码表

unsigned char second;//秒没腔信倒计时变量

unsigned char t0n;//T0中圆凳断次数计数

sbit k1=P3^2;//定义按键

void delay()

{

unsigned int j;

for(j=400;j0;j--);

}

void display()//显示子程序

{

P2=0x01;

P0=tab[second/10];//显示十位

delay();

P2=0x02;

P0=tab[second%10];//显示个位

delay();

}

void main()

{

TMOD=0x01;//用T0定时,中断方式

TH0 =0x3C;//晶振12M,定时50ms

TL0 =0xB0;

IE  =0x82;

while(1)

{

display();//调显示子程序

if(k1==0)//按键按下

{

if(TR0==0)

{

TR0=1;//启动枯轮开始计时

second=60;//从60秒开始倒计时

}

else

TR0=0;

while(k1==0);//等待按键释放

}

}

}

//T0中断程序

void T0_int() interrupt 1

{

TH0 =0x3C;

TL0 =0xB0;

t0n++;

if(t0n=20)//1秒到

{

t0n=0;

second--;//减1秒

if(second==0)TR0=0;

}

}

仿真图如下

关于秒表编绳怎么编和秒表线编法的相关的内容到此就结束了,想必你在浏览的相关的信息后,也许会有所收获。在万千的网页中刚好有您需要的秒表编绳怎么编 ,感谢你花时间来阅读。如果喜欢别忘了在本站进行查找更多内容喔。

扫描二维码推送至手机访问。

版权声明:本文由发布,如需转载请注明出处。

本文链接:https://www.shoulian.org/zhishi/35918/

标签: 秒表程序
分享给朋友:

“秒表编绳怎么编” 的相关文章

多彩同心结手绳的编法(简单的同心结手绳编法)

多彩同心结手绳的编法(简单的同心结手绳编法)

今天学习这款素素的同心结手绳。素的意思是指只有用到线,没有其他的配饰。但因为用了多种色彩,并不单调,依旧可以让人体验到编绳的乐趣所在。需要准备的线材如下。粉色中国结台湾线1.5米。青色和紫色72号线,各一,0.8米。6股彩金线1.5米。粉色线对折后,在中间位置编织两个蛇结。然后在距离中点1厘米处,开...

人类早期“驯服”绳结历史资料,绳结的演变过程

人类早期“驯服”绳结历史资料,绳结的演变过程

一起了解一下人类早期“驯服”绳结历史资料看看,早期的人们是如何通过打结记录生活,一起看看中国结绳结的演变过程小伙伴们有没有体会过一种绝望,叫“耳机线打结”不管我们事先怎么整理,耳机总是会自行变成一团乱麻;相反,鞋带不管系得多么紧,都会在关键时刻自己解开。各种乱糟糟的绳结,简直就是降低我们幸福感的“一...

8种绳子打结方法,一根绳好看的打结教程图解

8种绳子打结方法,一根绳好看的打结教程图解

在生活中都是需要用到各种绳索打结,要如何轻松地打出一个个好看又实用绳结呢。这里分享8种绳子打结方法,看看如何用一根绳好看的打结教程图解。希望能帮忙有需要绳子打结方法。大家好,,今天要着急给大家带来八种给绳子打结的小妙招,非常实用.第一种吊物结,首先将绳子摆出一个S形,然后捏住这个部位,再把绳头沿着绳...

国网吉安市吉州区供电公司:路遇受困车辆 电力车迅速解救

“太感谢你们了,车子陷入这个软泥里,没人帮忙可就麻烦了。”城管大队对国网吉安市吉州区供电公司长塘供电所工作人员一个劲地道谢。 11月27日,在石溪头村修路的道路上,城管大队的工程车陷入泥坑之内,因为道路崎岖,泥坑路面凹凸不平,司机无法凭借自身努力开出坑洞,焦急万分。长塘供电所工作人员发现困在路上的车...

诗是生命的宫殿(诗歌)

诗是一座生命搭成的宫殿 它能超越时间而存在 倘若有一天,世界都破碎 但诗永恒,依然会为我们挺立 继续给予和享用尘世的 快乐与勇气,春风回暖的气息 我所亲历的一切 将成为未知宫殿的底座 大理石照壁,绝不多余的 石料砖瓦,雕刻精美的廊柱 彪炳功绩的青铜,宁馨子白盘 水中的白莲,河流上空那一片蔚蓝 像早春...

来杭州才10天,武林夜市这对“顶流”兄弟火了,网友看到双手后泪目

11月2日下午5点,天色微暗,杭州市中心最热闹的武林夜市开始蒸腾起烟火气。 在最靠近武林路的一排档口,46岁的赵希龙和表弟杨宏伟把他们的铺子收拾好,再从带来的大塑料箱里拿出棕榈编织成的各种动物一一摆在台面上。从小青蛙到老虎、骆驼,大大小小足有六七十个,都栩栩如生。摊子摆好,两人基本都在忙手上的工艺活...