三九宝宝网宝宝教育教学论文

单片机实验分别用汇编语言和单片机c语言编写

01月06日 编辑 39baobao.com

[s和c s和sh c和ch x和q读音区别用语言描述!]找本书看下里面有的.zh、ch、sh都是双字母表示一个声音,它们是翘舌音,就是说在发音时一定要翘起舌尖。 zh发音时,舌尖顶住硬腭前部(上牙床后面的部位),然后稍稍放开,让气从小缝里挤...+阅读

制作一电子秒表: 程序源代码 主程序: 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

以下为关联文档:

用LED灯显示倒计时10秒 51单片机C语言编程跪求你的分不好拿啊= =!!!! #include#define uchar unsigned char//宏定义 #define uint unsigned int sbit dula=P2^6; //段控制位 sbit wela=P2^7; //位控制位 uchar miao,fen,aa,n1...

单片机的毕业论文怎么写一、毕业设计题目及要求 (2个) 1、基于单片机控制的电动机Y-△启动的设计 要求:1)控制器为单片机,电动机为三相异步电动机;2)启动时间为3秒;3)由按键设置电动机Y-△运行、停止。 2、...

51单片机汇编语言求助两道题刚才不知道为什么我的提问就没了3题: ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0100H MAIN:MOV TMOD,#01H MOV TH0,#0FCH MOV TL0,#18H SETB ET0 SETB EA SETB TR0 SJMP $ T0INT:MOV TH0,#0FCH MOV TL...

这两道单片机C语言题怎么做1、错 形参之间可以出现空格,但是宏名和形参表之间不能有空格出现 2、#include#include#define uchar unsigned char#define uint unsigned intsbit key1=P3^4;sbit key2=P3^...

static在单片机c语言用用法首先static变量不是全局变量,全局变量在整个程序中均可见。且可以在整个程序的任何位置进行修改。 而static变量,只在声明它的函数内看见,也只有在声明它的函数内可以被修改。...

单片机实验汇编语言编程明天要用程序了求程序先写三个预置数据的程序: (1) MOV 50H, #32H MOV 51H, #41H MOV 52H, #01H MOV 53H, #56H MOV 54H, #11H MOV 55H, #03H(2) MOV 50H, #95H MOV 51H, #01H MOV 52H, #02H MOV 53...

大学80C51单片机编程题请使用汇编语言编写谢谢!1: MOV A,R1 ANL A,#0F0H XCH A,R2 ANL A,#0FH ORL A,R2 MOV R3,A 2: MOV R0,#30H MOV 40H,#0 MOV 41H,#0 MOV R2,#16 LOOP: MOV A,R0 ADD A,40H MOV 40H,A MOV A,41H ADDC...

单片机汇编语言函数HEXASC代码如下这段程序完成的功能就是讲十六进制数转换为ASCII表示的十进制数。最大到千位数。 HEX_ASC:MOV R4,#00H MOV R2,#0E8H MOV R3,#03H ;03E8H -- 1000 ASC1: LCALL SUB2 ;被转换...

跪求单片机用C语言写一个程序用LCD显示welcome急急急急十万火#include//51寄存器文件 #includetypedef unsigned char BYTE; //用BYTE代替unsigned char typedef unsigned int WORD;//WORD代替unsigned int typedef bit BOOL ;//用BOOL代...

推荐阅读
图文推荐