基于单片机控制的频率可调的方波信号发生器内容摘要:

eg_code: 09 数字的数码管 7 段码。 主程序和中断服务程序如图 315, 316 所示。 图 315 主程序的流程图 主程序开始初始化变量设置定时器 T 1 的参数扫描键盘按键弹起或按下。 按键是按下。 将当前的键值暂存( Key _ val _ ol d )频率数值增 1 、 算定时器溢出次数增 1 键 减 1 键频率数值增 1 、 算定时器溢出次数数码管动态扫描显示NNYY初始化连续按键标志一直按下。 设置连续按键标志说明一直处于弹起清除连续按键标志结束中断中断服务程序开始中断次数 + 1计时到半周期中断次数 = 0输出端取反 , 产生方波连续按键。 继续 1 S 计时继续 2 秒计时YYN计时到 1 S。 连续按键超 2 秒。 频率数值增 10 、 算定时器溢出次数增 1 键 减 1 键频率数值增 10 、 算定时器溢出次数YNNYY 图 316 中断程序的流程图 ( 4)设计系统软件调试方案、硬件调试方案及软硬件联合调试方案 软件调试方案:伟福软件中,在“文件 \新建文件”中,新建 C 语言源程序文件,编写相应的程序。 在“文件 \新建项目”的菜单中,新建项目并将 C语言源程序文件包括在项目文件中。 在 “项目 \编译”菜单中将 C 源文件编译,检查语法错误及逻辑错误。 在编译成功后,产生以 “ *.hex”和“ *.bin” 后缀的目标文件。 硬件调试方案:在设计平台中,将单片机的 分别与 2 个独立式键盘通过插线连接起来,将 与脉冲输出连接起来。 在伟福中将程序文件编译成目标文件后,将下载线安装在实验平台上,运行“ MCU 下载程 序”,选择相应的 flash 数据文件,点击“编程”按钮,将程序文件下载到单片机的Flash中。 然后,上电重新启动单片机,检查所编写的程序是否达到题目的要求,是否全面完整地完成试题的内容。 模块 2:程序设计 //晶振: 12M T1计时 250 微秒溢出中断一次; 为增加、减少键 输出方波 /*变量的定义 : hz_shu: 设定的频率数 T1_over_num: 根据设定频率计算后的,定时器溢的出次数值 T1_t: 定时器计 数溢出数 sec_over_num: 计算 1s 内的计数 second: 连续按键的计时 state_val: 连续按下的标志 0=按键已经弹起; 1=按键一直按下去 led_seg_code: 数码管 7 段码 */ include include sbit pulse_out=P3^0。 // unsigned char data hz_shu,second,key_val,key_val_old。 unsigned int data sec_over_num。 unsigned int data T1_t,T1_over_num。 unsigned char data state_val。 char code led_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //led_seg_code[09]代表 09的 7段码 // void delay(unsigned int i)//延时 { whi。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。