一、 使用键盘显示接口芯片8279接收按键键值,并在七段数码管上显示出来,通过判断键值进入相应音乐播放处理程序。在音乐播放程序中,使用定时器/计数器8253的计数器2,使其工作在方式¬ ¬ 3—方波发生器,通过查表依次取出乐曲频率值送入计数器作为计数初值,经out2输出方波,驱动扬声器发出不同频率的声音,在每个音阶之间加入相应的延迟时间,即实现了音乐的播放。
上传时间: 2014-01-22
上传用户:阿四AIR
抄表机的抄表程序源码,平台是兰德抄表器,使用于电力行业的抄表度数管理。
上传时间: 2014-01-24
上传用户:缥缈
采用delphi自编的sin函数傅立叶离散数据数据表生成器,正弦函数发生器查表输出;
上传时间: 2016-01-21
上传用户:1427796291
针对某一集体中的人名(30人)设计一哈希表,使得平均查找长度不超过2,完成相应的建表和查表程序。要求用除留余数法构造哈希函数,用补偿性线性探测法处理冲突(算法简单容易理解)
标签:
上传时间: 2016-02-27
上传用户:181992417
[问题描述] 针对某个集体中人名设计一个哈希表,使得平均查找长度不超过R,并完成相应的建表和查表程序。 [基本要求] 假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用线性探测再散列法或链地址法处理冲突。
标签:
上传时间: 2016-08-16
上传用户:wangchong
通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. BSWAP 交换32位寄存器里字节的顺序 XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD 先交换再累加.( 结果在第一个操作数里 ) XLAT 字节查表转换. ── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即 0-FFH) 返回 AL 为查表结果. ( [BX+AL]->AL )
上传时间: 2016-08-17
上传用户:13681659100
针对某个集体(比如你所在的班级)中的“人名”设计 一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。 假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突。
标签:
上传时间: 2016-08-19
上传用户:shanml
单片机方面大量常用优秀源代码和说明 ACM-12864汉字液晶显示驱动程序 Ad_da转换 ADC0809 adc2051 AD转换类 C51_table DES算法演示 I2c总线 IIC LED显示 编程规范与范例 步进电机 查表 串行通信 打印 代码运算类 代码转换 单片机经验谈 单片机直接驱动液晶显示 电机pwm控制 电机控制 定浮点子程序库 定时与中断 二进制数运算 汇编与c的衔接 键盘扫描程序 键盘与显示 交通灯 抗干扰 滤波 排序 排序类 频率计 软件工程 实用子程序 数字多用表 数字频率计 通讯 显示子程序 延时 移位除 音乐 应用类 源程序 在线下载器源程序 中断应用 自动往返小汽车 51单片机子程序.exe AT90S8515打铃程序.ASM hex2bcd.asm main_last.asm RTX-51 Real-Time(汉).pdf RTX-51 实时操作系统.pdf SOFT_UART.ASM test_read.asm testpw.asm 八月桂花香.asm 单片机C51编程几个有用的模块.htm 单片机实现软件滤波.txt 遥控器程序.txt
上传时间: 2016-08-30
上传用户:cjf0304
红外抄表系统的源代码。利用非电信号传送控制信息和数据信息,以实现遥控或遥测的功能。包括 通信方式,通信协议,三相电度表通信程序,手持抄表器通信程序等。
上传时间: 2014-01-08
上传用户:标点符号
在本课中,我们要用一个按键来实现跑马灯的 10 级调速。这又会涉及到键的去抖的问 题。 本课的试验结果是,每按一次按键,跑马速度就降低一级,共 10 级。 这里我们又增加了一个变量 speedlever,来保存当前的速度档次。 在按键里的处理中,多了当前档次的延时值的设置。 请看程序: ―――――――――――――――― #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一个 52 标准内核的头文件 sbit P10 = P1^0; //头文件中没有定义的 IO 就要自己来定义了 sbit P11 = P1^1; sbit P12 = P1^2; sbit P13 = P1^3; sbit K1= P3^2; bit ldelay=0; //长定时溢出标记,预置是 0 uchar speed=10; //设置一个变量保存默认的跑马灯的移动速度 uchar speedlever=0; //保存当前的速度档次 char code dx516[3] _at_ 0x003b;//这是为了仿真设置的 //一个按键控制的 10 级变速跑马灯试验 void main(void) // 主程序 { uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入 P1 的值 uchar ledi; //用来指示显示顺序 uint n; RCAP2H =0x10; //赋 T2 的预置值 0x1000,溢出 30 次就是 1 秒钟 RCAP2L =0x00; TR2=1; //启动定时器 ET2=1; //打开定时器 2 中断 EA=1; //打开总中断 while(1) //主程序循环 { if(ldelay) //发现有时间溢出标记,进入处理 { ldelay=0; //清除标记 P1=ledp[ledi]; //读出一个值送到 P1 口 ledi++; //指向下一个 if(ledi==4) { ledi=0; //到了最后一个灯就换到第一个 } } if(!K1) //如果读到 K1 为 0 { for(n=0;n<1000;n++); //等待按键稳定 while(!K1); //等待按键松开 for(n=0;n<1000;n++); //等待按键稳定松开 speedlever++; if(speedlever==10)speedlever=0; speed=speedlever*3; //档次和延时之间的预算法则,也可以用查表方法,做出 不规则的法则 } } } //定时器 2 中断 timer2() interrupt 5 { static uchar t; TF2=0; t++; if((t==speed)||(t>30)) //比较一个变化的数值,以实现变化的时间溢出,同时限制了最慢速 度为 1 秒 { t=0; ldelay=1;//每次长时间的溢出,就置一个标记,以便主程序处理 } } ―――――――――――――――――――――― 请打开 lesson11 目录的工程,编译,运行,看结果: 按 K1,速度则降低一次,总共 10 个档次。
上传时间: 2017-11-06
上传用户:szcyclone