;;入口:第1、2、3次采集数据位次存于R1、R2、R3,
;;出口:比较所得中值数据存于R0,
Filter_C:
PUSH PSW
MOV A, R1
CLR C
SUBB A, R2 ;;R1与R2作相减
JNC LP1 ;;若R1≧R2,不交换
MOV A, R1 ;;若R1 XCH A, R2 MOV R1, A
LP1:
MOV A, R3
CLR C
SUBB A, R1
JNC LP3
MOV A, R3
CLR C
SUBB A, R2
JNC LP4
MOV A, R2
MOV R0, A
AJMP Filish
LP3:
MOV, A, R1
MOV R0, A
AJMP FILISH:
LP4:
MOV A, R3
MOV R0, A
FILISH:
POP PSW
RET
关键字:中值滤波 51单片机 汇编语言 子程序
引用地址:
中值滤波示例51单片机汇编语言子程序
推荐阅读最新更新时间:2024-11-09 21:25
51单片机的PT2257调音IC控制程序
Volume_Handle.H这头文件请到 http://www.51hei.com/bbs/dpj-19294-1.html 下载,下面的代码是从一个收音机程序里面截取出来的. /*-----------PT2257调音IC控制-----------*/ /*------ 外部 晶振 为 12MHz-------*/ #include STC12C5620AD.H #include Volume_Handle.H #include delay.h /********************** 声明 外部变量**************************/ /***
[单片机]
51单片机C语言学习 7
上课到这一课相隔了好长一段时间,这些日子里收到不少网友的来信支持和鼓励,要求尽快完成余下的部分。出门在外的人不得不先为吃饭而努力,似乎这也成为我的借口,以后每晚抽空打一些吧这样大家也就可以不用隔太久就能看到一些新东西。或许我的笔记并不是很正确,但我尽量的保证每课的实验都会亲自做一次,包括硬件的部分,已求不会误人子弟。 随着访问量不断的增加,网站已启用了www.cdle.net的国际域名,在这里我感谢各位一直支持磁动力工作室的朋友,更要感激身在远方一直默默支持我的女友。 明浩 2003-7-14 晚 呵,费话少说了。上两课说了常量和变量,先来补充一个用以重新定义数据
[单片机]
51单片机C语言程序(一)发光二极管
程序(一)点亮第一个发光二极管 #include reg52.h void main() { P1=0xfe; while(1); } 程序(二)让第一个发光二极管闪烁 #include reg52.h sbit led1=P1^0; void main() { unsigned int i; while(1) { i=50000; led1=0; while(i--); i=50000; led1=1; while(i--); } } 程序(三) //第一个发光二极管以间隔2000ms闪烁 #include reg52.h #define uint unsigned int #de
[单片机]
80C51单片机的功能结构与引脚性能
本文着手从集成电路角度去认识单片机,主要介绍了单片机的引脚图及引脚功能,以及单片机简易编程。 首先,先看下80C51单片机的功能结构框图。 80C51单片机属于MCS-51系列单片机,采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。 80C51单片机的功能结构框图 下面介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在之后详细介绍。 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 1. 电源: ⑴ VCC -芯片电源,接+5V; ⑵ VSS - 接地端; 2. 时钟: XTAL1、XTAL2 - 晶体振荡电路反相输入端
[单片机]
用51单片机实现爱心跑马灯程序
本人闲来无事做,见实验室的小伙伴用LED等做了一个跑马灯,顿时引来了一大群妹子,当时就不服了,哼,不就是一个流水灯,说的跟谁不会一样 制作的是32个LED灯的爱心流水灯,至于灯怎么安放,我就不多说了,关键是怎么连接布线。 由于条件有限,没有制作PCB的工具,所以就用的洞洞板,32个LED共阴极,连接在51单片机的GND上,每个LED的正极分别连接单片的一个引脚, 我的所有线路全是用电烙铁焊接的,线路丑爆了,在此就不上图了,为了后续程序好写一点,LED的正极和单片机的引脚的连线最好多考虑一下 好了,废话不多说了,直接上代码,只做了几个动画,可以按照自己的想法再添加 #include reg52.h #inclu
[单片机]
51单片机多机通信电路图及C语言程序
多机通信电路图 此处,U1作为主机,U2为从机1,U3为从机2。 多机通信C语言程序 (1)主机程序 #include #include #define _SUCC_ 0x0f//数据传送成功 #define _ERR_ 0xf0//数据传送失败 unsigned charTable ={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; unsigned char Buff ; //数据缓冲区 unsigned char temp=0xff; sbit KEY1=P1^6; sbit KEY2=P1^7; //unsigned char addr; //延时1ms函数 void de
[单片机]
利用AT89C51单片机对发光二极管阵列进行控制
随着现代科技的发展,高科技产品以其简洁化、便携等,给人们带来了很大的方便。而“摇摇棒”以其更加简捷与新颖的信息传递方式给人们带来耳目一新的感受,也必将会给人们带来一种新的方便的文化传递方式,常用在晚会及大型的娱乐节目场合。 本文通过研究和设计一个利用事先编好程序来控制16 个LED 发光二极管,并配合左右手的摇晃来显示字符和简易图形的电子装置(简称为“摇摇棒”),来传递有趣的信息。此装置利用AT89C51 单片机对发光二极管阵列进行控制。用滚珠开关检测当前摇动状态,单片机控制16 个发光二极管进行不同频率的亮灭刷新,则只要摇动就可以可显示输出文字及图案等信息,从而达到在该视觉平面上传达信息的作用。 1 硬件系统的组
[单片机]
51单片机软件(程序)复位
51单片机软件复位汇编代码 POP ACC ; pop return address POP ACC ;弹出PC MOV SP,#30H ;复位后SP为07H ,这样就会复位椎栈 MOV PSW,#00H ;清寄存器 CLR A ; push 0 as new PUSH ACC ; return address to stack PUSH ACC ;重置PC=0并压到椎栈中 RETI ; execute return of interrupt ;程序又开始从0000H处开始运行,但寄存器内的值不确定! 用C51实现软件复位 方法1: void(*SoftReset)(); SoftReset=0;
[单片机]