首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >​A51单片机开发计算器

​A51单片机开发计算器

原创
作者头像
炒香菇的书呆子
发布于 2022-01-07 01:27:09
发布于 2022-01-07 01:27:09
4850
举报

A51单片机开发计算器

日期::date:2022年1月6日

学习内容:::book:

  • 51单片机开发计算器验收
  • markdown语法学习

###1. A51单片机开发计算器

1.1 计算器概述

1、加数和被加数的输入位数固定为4位;

2、相加结果显示要考虑进位的输出显示(即5位输出);

3、注意对“0”——“9”、“+”、“=”以外按键输入的处理;

4、注意对相加结果进行十进制处理;

5、输入加数和被加数时,显示器上显示的数字要像平时用的计算器输入一样,即:每输入一个数字,原来显示的数字要往左移。

6、可以完成累加功能,即可以完成如下内容:3265+3885+1254+2358+7779+……

1.2 设计任务

如图1所示,用AT89S51的并行口P1接4×4矩阵键盘,P1.0-P1.3作输入线,以P1.4-P1.7作输出线;在数码管上显示每个按键的“0-F”序号。对应的按键的序号排列如图1所示

(1. 开机时,显示“0”

(2. 第一次按下时,显示“D1”;第二次按下时,显示“D1D2”;第三按下时,显示“D1D2D3”,8个全显示完毕,再按下按键下时,给出“嘀”提示音。

(3. 数字0-9点阵显示代码的形成

1.3 系统主要功能

用4*4键盘做一个模拟计算器,实现最高四位的加,减,乘,除功能,按键识别和显示部分我都会,就是按键后怎样将运算符前后的数据区分开

1.输入一位就显示一位,在输入一个运算符之前最多只能输入四位。

2.将运算符前,后的数据区分开来,同时将运算符前后输入的数据转换为一个10进制数。

3.对输入的数据进行处理,即进行算术运算,最重要的是对于除法时,如果有小数位时,显示部分应该做处理。

2. 计算器硬件设计

硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。

2.1 4×4矩阵式键盘识别技术

系统的硬件构成及功能

硬件电路原理图

2.2 系统板上硬件连线

(1. 把“单片机系统“区域中的P3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上;

(2. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。

2.3 程序设计内容

(1. 4×4矩阵键盘识别处理

(2. 每个按键有它的行值和列值 ,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。

2.4 程序框图
代码语言:txt
AI代码解释
复制
P3=FFH, P3.0=0

有键按下吗?

延时10ms

真得有键按下吗?

根据当前状态识别按键

P3=FFH, P3.1=0

有键按下吗?

延时10ms

真得有键按下吗?

根据当前状态识别按键

P3=FFH, P3.2=0

有键按下吗?

延时10ms

真得有键按下吗?

根据当前状态识别按键

P3=FFH, P3.3=0

有键按下吗?

延时10ms

真得有键按下吗?

根据当前状态识别按键

2.4点阵式LED“0-9”数字显示技术

电路原理图

2.5硬件系统连线

(1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;

(2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;

3.程序设计内容

(1). 数字0-9点阵显示代码的形成

如下图所示,假设显示数字“0”

1 2 3 4 5  6 7 8

代码语言:txt
AI代码解释
复制
00 00  3E  41  41  41  3E 00

因此,形成的列代码为 

代码语言:txt
AI代码解释
复制
00H,00H,3EH,41H,41H,3EH,00H,00H;

只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。

送显示代码过程如下所示

送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。

数字“1”代码建立如下图所示

1 2 3 4 5  6 7 8

其显示代码为 

代码语言:txt
AI代码解释
复制
00H,00H,00H,00H,21H,7FH,01H,00H

数字“2”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

00H,00H,27H,45H,45H,45H,39H,00H

数字“3”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

代码语言:txt
AI代码解释
复制
00H,00H,22H,49H,49H,49H,36H,00H

数字“4”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

00H,00H,0CH,14H,24H,7FH,04H,00H

数字“5”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

代码语言:txt
AI代码解释
复制
00H,00H,72H,51H,51H,51H,4EH,00H

数字“6”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

代码语言:txt
AI代码解释
复制
00H,00H,3EH,49H,49H,49H,26H,00H

数字“7”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

代码语言:txt
AI代码解释
复制
00H,00H,40H,40H,40H,4FH,70H,00H

数字“8”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

代码语言:txt
AI代码解释
复制
00H,00H,36H,49H,49H,49H,36H,00H

数字“9”代码建立如下图所示

代码语言:txt
AI代码解释
复制
1 2 3  4 5  6  7  8

代码语言:txt
AI代码解释
复制
00H,00H,32H,49H,49H,49H,3EH,00H

4. 系统的软件设计

本系统的软件系统主要可分为主程序、4×4矩阵式键盘识别程序、点阵式LED“0-9”数字显示程序三大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。

4.1 系统主程序设计
代码语言:txt
AI代码解释
复制
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
; 全局初始化
 MOV SP, #60H ; 堆栈
 MOV IE, #00H ; 禁止所有中断
; 寄存器组 00
 CLR RS1
 CLR RS0
 ; 工作区IRAM(20H-5FH)默认全为0
INIT20TO5F:
 MOV R0, #20H ; START AT 20H
 MOV R7, #40H ; 64 BYTES TO ZERO
LOOP20TO5F:
 MOV @R0, #00H
 INC R0
 DJNZ R7, LOOP20TO5F
; ---------------------------------
 SETB STAT.0 ; 初始状态为等号状态

 MOV R7, #00H
 MOV SCON, #00H ; 串行工作方式0
; -------------------------------------
;; DISPLAY INIT
; -------------------------------------
   LCALL LCDINIT
   MOV  COM,#06H
   LCALL PR1
   MOV  COM,#0C0H
   LCALL PR1

MAIN_LOOP:

***\*3.2  4×4矩阵式键盘\*******\*汇编源程序\**** 

KEYBUF   EQU 30H 

      ORG 00H 

START:    MOV KEYBUF,#2 

WAIT:  

      MOV P3,#0FFH 

      CLR P3.4 

      MOV A, P3 

      ANL A,#0FH  

      XRL A,#0FH 

      JZ NOKEY1 

      LCALL DELY10MS 

      MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JZ NOKEY1 

      MOV A,P3 

      ANL A,#0FH 

      CJNE A,#0EH,NK1 

      MOV KEYBUF,#0 

      LJMP DK1 

NK1:     CJNE A,#0DH,NK2 

      MOV KEYBUF,#1 

      LJMP DK1 

NK2:     CJNE A,#0BH,NK3 

      MOV KEYBUF,#2 

      LJMP DK1 

NK3:     CJNE A,#07H,NK4 
      MOV KEYBUF,#3 

      LJMP DK1 

NK4:     NOP 

DK1:   

      MOV A,KEYBUF 

      MOV DPTR,#TABLE 

      MOVC A,@A+DPTR 

      MOV P0,A 

 

DK1A:    MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JNZ DK1A 

NOKEY1: 

      MOV P3,#0FFH 

      CLR P3.5 

      MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JZ NOKEY2 

      LCALL DELY10MS 

      MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JZ NOKEY2 

      MOV A,P3 

      ANL A,#0FH 

      CJNE A,#0EH,NK5 

      MOV KEYBUF,#4 

      LJMP DK2 

NK5:     CJNE A,#0DH,NK6 

      MOV KEYBUF,#5 

      LJMP DK2 

NK6:     CJNE A,#0BH,NK7 

      MOV KEYBUF,#6 

      LJMP DK2 

NK7:     CJNE A,#07H,NK8 

      MOV KEYBUF,#7 

      LJMP DK2 

NK8:     NOP 

DK2:   

      MOV A,KEYBUF 

      MOV DPTR,#TABLE 

      MOVC A,@A+DPTR 

      MOV P0,A 

 

DK2A:    MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JNZ DK2A 

NOKEY2: 

      MOV P3,#0FFH 

      CLR P3.6 

      MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JZ NOKEY3 

      LCALL DELY10MS 

      MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JZ NOKEY3 

      MOV A,P3 

      ANL A,#0FH 

      CJNE A,#0EH,NK9 

      MOV KEYBUF,#8 

      LJMP DK3 

NK9:     CJNE A,#0DH,NK10 

      MOV KEYBUF,#9 

      LJMP DK3 

NK10:    CJNE A,#0BH,NK11 

      MOV KEYBUF,#10 

      LJMP DK3 

NK11:    CJNE A,#07H,NK12 

      MOV KEYBUF,#11 

      LJMP DK3 

NK12:    NOP 

DK3: 

      MOV A,KEYBUF 

      MOV DPTR,#TABLE 

      MOVC A,@A+DPTR 

      MOV P0,A 

 

DK3A:    MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JNZ DK3A 

NOKEY3: 

      MOV P3,#0FFH 

      CLR P3.7 

      MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JZ NOKEY4 

      LCALL DELY10MS 

      MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JZ NOKEY4 

      MOV A,P3 

      ANL A,#0FH 

      CJNE A,#0EH,NK13 

      MOV KEYBUF,#12 

      LJMP DK4 

NK13:    CJNE A,#0DH,NK14 

      MOV KEYBUF,#13 

      LJMP DK4 

NK14:    CJNE A,#0BH,NK15 

      MOV KEYBUF,#14 

      LJMP DK4 

NK15:    CJNE A,#07H,NK16 

      MOV KEYBUF,#15 

      LJMP DK4 

NK16:    NOP 

DK4:   

      MOV A,KEYBUF 

      MOV DPTR,#TABLE 

      MOVC A,@A+DPTR 

      MOV P0,A 

 

DK4A:    MOV A,P3 

      ANL A,#0FH 

      XRL A,#0FH 

      JNZ DK4A 

NOKEY4: 

      LJMP WAIT 

DELY10MS: 

      MOV R6,#10 

D1:     MOV R7,#248 

      DJNZ R7,$ 

      DJNZ R6,D1 

      RET 

TABLE:    DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 

      DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 

      END 

***\*3.3 点阵式LED“0-9”数字显示\*******\*汇编源程序\**** 

TIM		EQU 30H 

CNTA	EQU 31H 

CNTB	EQU 32H 

    ORG 00H 

		LJMP START 

		ORG 0BH 

		LJMP T0X 

		ORG 30H 

START:	MOV TIM,#00H 

		MOV CNTA,#00H 

		MOV CNTB,#00H 

		MOV TMOD,#01H 

		MOV TH0,#(65536-4000)/256 

		MOV TL0,#(65536-4000) MOD 256 

		SETB TR0 

		SETB ET0 

		SETB EA 

		SJMP $ 

T0X:	

		MOV TH0,#(65536-4000)/256 

		MOV TL0,#(65536-4000) MOD 256 

		MOV DPTR,#TAB 

		MOV A,CNTA 

		MOVC A,@A+DPTR 

		MOV P3,A 

		MOV DPTR,#DIGIT 

		MOV A,CNTB 

		MOV B,#8 

		MUL AB 

		ADD A,CNTA 

		MOVC A,@A+DPTR 

   MOV P1,A 

		INC CNTA 

		MOV A,CNTA 

		CJNE A,#8,NEXT 

		MOV CNTA,#00H 

NEXT:	INC TIM 

		MOV A,TIM 

		CJNE A,#250,NEX 

		MOV TIM,#00H 

		INC CNTB 

		MOV A,CNTB 

		CJNE A,#10,NEX 

		MOV CNTB,#00H 

NEX:	RETI 

TAB:	DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH 

DIGIT:	DB 00H,00H,3EH,41H,41H,41H,3EH,00H 

		DB 00H,00H,00H,00H,21H,7FH,01H,00H 

		DB 00H,00H,27H,45H,45H,45H,39H,00H 

		DB 00H,00H,22H,49H,49H,49H,36H,00H 

		DB 00H,00H,0CH,14H,24H,7FH,04H,00H 

		DB 00H,00H,72H,51H,51H,51H,4EH,00H 

		DB 00H,00H,3EH,49H,49H,49H,26H,00H 

		DB 00H,00H,40H,40H,40H,4FH,70H,00H 

		DB 00H,00H,36H,49H,49H,49H,36H,00H 

		DB 00H,00H,32H,49H,49H,49H,3EH,00H 

		END 

5. 结论

由于所采用的浮点程序库的限制(MCU平台只找到这个……),浮点运算采用3字节二进制补码表示,有效数字6位。对于输入输出,采用3字节BCD码浮点数格式,有效数字只有4位,因此最终有效数字只有4位。可进行连续输入,例如:1.23+4.56*8.23/234.8 ,但是运算结果为从左到右,这也是8位简易计算器的方式。可进行错误判断,溢出、除零等错误将显示一个字符 E 。由于键盘只有16个按键,安排如下:

+---------------+

| 7 | 8 | 9 | + |

| 4 | 5 | 6 | - |

| 1 | 2 | 3 | * |

| 0 | . | = | / |

+---------------+

按键的缺少导致取消了一些特殊函数,即开根号,三角函数(sin, cos, tan, ctg)的实现,由于这些函数在浮点程序库中均已提供,如果硬件允许,在原来的框架上添加这些附加功能是很容易的(可以看作和+, -, *, /等价的按键操作,调用不同的子程序进行运算即可)按两次 = 等于清灵。因为按键实在太少,才采用了这个做法。

不足

使用3字节的浮点数表示,不可避免的带来了数表示的不精确,加上有效数字比较少,因此计算结果很容易产生误差,尤其是进行连续多次运算后,结果和精度较高的科学计算器的误差会很快达到0.01以上,当然这个差距和所测试的用例也有关系,4位有效数字导致了数字123456只能表示为123400,最后两位有效数字被摒弃了。

同时,虽然纯整数可以进行较为高精度的运算,实现也较为容易,但是考虑到要和浮点数混合在一起处理,如果在算法上分别考虑整数和浮点数,整个程序框架代码将会膨胀不少,因此将其简化为统一作为浮点数对待。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
asp.net中窗口相关操作总结(javascript)
1.打开新窗口   这个简单:Response.Write(@    language=javasJavaScript
Java架构师必看
2020/09/30
1.2K0
发布一个日期选择控件(ASPNET2.0)
The Coolest DHTML Calendar,这是一个在GPL下发布的JS日历程序,具有极高的可配置性,包括外观样式、显示格式、显示内容等等。默认程序是只提供日期选择的,需要设置几个showtime参数才能显示时间选择。下载的程序包(zip)里面已经有详细的说明文档和例子. 这个控件的aspnet 1.1版本的代码在我的donews blog上,代码可以自由修改发布. 代码和示例下载地址:demo using System; using System.Web; using System.Web.U
张善友
2018/01/19
2.1K0
jQuery Gallery Plugin在Asp.Net中使用
jQuery Gallery Plugin在Asp.Net中使用 推荐一个简单易用的Gallery插件:jQuery Gallery Plugin 下面是在Asp.Net开发中应用 示例截图: image.png -------------------------------------------------------------------------------风骚分隔线----------------------------------------------------------------
Porschev
2018/01/16
1.3K0
jQuery Gallery Plugin在Asp.Net中使用
Asp.Net无刷新分页( jquery.pagination.js)
采用Jquery无刷新分页插件jquery.pagination.js 实现无刷新分页效果 友情提示:本示例Handler中采用StringBuilder的append方法追加HTML,小数据量可以,但是大数据或是布局常变,建议返回JSON格式的数据,性能和灵活性更好! 1.插件参数列表 image.png 2.页面内容: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default
Porschev
2018/01/16
3.3K0
Asp.Net无刷新分页( jquery.pagination.js)
Asp.Net统一前后端提示信息方案
要解决的问题 减少弹框前后端代码量 增强可维护性 前后端提示资源统一 可以实现简单的多语言提示方案 增强重用性和易用性       ... 用自定义XML汇总提示信息
Porschev
2018/01/16
1.7K0
Asp.Net统一前后端提示信息方案
Asp.Net开发等级星使用(Jquery Rating)
插件参数: rater第一个参数是AJAX提交的URL rater第二个参数 maxvalue:最大星数 curvalue:默认选择多少颗星 title:鼠标放在星上的提示 enable:可设置true or false,控件是否可用 rater的第三个参数回调函数 aspx页代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%> <!DOCTYPE html P
Porschev
2018/01/16
8050
Asp.Net开发等级星使用(Jquery Rating)
C#用于对用户输入数据进行校验的类
这个C#类包含了各种常用数据验证的函数,包含验证是否是数字,校验email格式,区分中英文截取字符串,区分中英文计算字符串长度,检测是否包含中文字符,判断是否包含特定字符等
用户7108768
2021/11/02
2.3K0
3,最简单的树(不显示图标)
-----后台 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Text; public partial class _Default : System.Web.UI.Page {     protected voi
py3study
2020/01/07
8030
c# asp.net 实现分页(pager)功能
分页PagerHelper辅助类 using System; using System.Web; public class PagerHelper { #region 获取分页的Html代码 /// <summary> /// 获取分页的Html代码 /// 当前页码方法内部根据Request["page"]获取 /// </summary> /// <param name="pageSize">每一页数量</param> /// <param nam
纯粹是糖
2018/03/14
2.5K0
c#  asp.net 实现分页(pager)功能
C# 实现的Javascript加密算法
不打算公开的,不过转念一想,反正又没人看,就发出来吧。 这是使用C#来实现的JS加密的,被加密的JS文件,代码需要写的规范,不能少了分号(;)等js中可能会被忽略的符号。 下面是完整代码,自己看吧
徐大嘴
2019/03/21
1.1K0
asp.net中显示DataGrid控件列序号的几种方法
在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值计算方式如下:
Java架构师必看
2021/03/22
1.9K0
在asp.net中为Web用户控件添加属性和事件
在90年代初,Microsoft为Web程序员提供的ActiveServerPages(ASP运维
Java架构师必看
2020/10/15
3K0
Asp.Net就业课之案例实践第二次课
张哥编程
2024/12/13
660
Asp.Net就业课之案例实践第二次课
CodeSmith系列(二)——使用CodeSmith生成ASP.NET后台代码
因为表单的后台代码都差不多,所以采用了CodeSmith生成。由于表单的控制是基于XML的,所以可以根据XML自定义生成。由于没时间,就不多写了,具体模板代码见最后。 在这里,先选择变量。如下: X
雪雁-心莱科技
2018/12/27
3.2K0
分享一篇关于C#大文件上传的整个过程
1、创建一个web mvc项目,在创建一个webservice文件夹,在文件夹下创建一个SaveFileWebForm.axpx接口,
用户7053485
2020/03/12
2.9K0
ASP.NET 使用Ajax
之前在Ajax初步理解中介绍了对Ajax的初步理解,本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的ScriptManager。
全栈程序员站长
2022/09/06
3K0
ASP.NET 使用Ajax
ASP.Net Web Page深入探讨
这篇文章经典,看过之后大受启发。值得一看!看来ASP.NET跟JSP其实是一样的,本质上没区别,ASP.NET能做到的JSP一样可以做到,反之亦然。只不过ASP.NET的框架看起来先进一点,不过JSP也在发展,似乎也出现了类似ASP.NET的框架。 一、服务器脚本基础介绍 首先,我们先复习一下Web服务器页面的基本执行方式: 1、 客户端通过在浏览器的地址栏敲入地址来发送请求到服务器端 2、 服务器接收到请求之后,发给相应的服务器端页面(也就是脚本)来执行,脚本产生客户端的响应,发送回客户端 3、 客户
用户1075292
2018/01/23
2.4K0
ASP.NET AJAX UpdatePanel 控件实现剖析
使用ASP.NET AJAX框架我们可以搭建快速响应、具有丰富的用户体验的AJAX Web应用程序,而该框架的UpdatePanel控件则提供了一种非常简单的方式来实现Web页面的局部更新,我们不需要在每次回发的时候都加载整个页面。 那这个控件是如何实现这种局部刷新的哪,透过其实现机制我们可以更清楚其优缺点,便于我们确定其使用场合。本文将重点阐述ASP.NET AJAX控件UpdatePanel的实现机制。 1. ASP.NET AJAX 简介 ASP.NET AJAX是微软在ASP.NET 2.0之上对A
葡萄城控件
2018/01/10
7.2K0
ASP.NET AJAX UpdatePanel 控件实现剖析
MSDN官方的ASP.Net异步页面的经典示例代码
示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Net; using System.IO; using System.Text; using System.Text.RegularExpressions; public partial class AsyncPag
菩提树下的杨过
2018/01/24
1.1K0
浅谈ASP.NET的Postback
说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page 的生命周期浅谈Postback。 我们知道,无论是ASP.NET1.x,2.0,甚至是以后的版本,ASP.NET最终Render到Client端通过浏览器浏览的都是一样:一个单纯的HTML。Client通过Submit Form的方式将填入Form的数据提交给Server进行处理。我们现在来看看ASP.NET整个Postba
蒋金楠
2018/01/16
1.2K0
浅谈ASP.NET的Postback
推荐阅读
相关推荐
asp.net中窗口相关操作总结(javascript)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档