基于51单片机的波形发生器设计报告内容摘要:
码与数据反码之间的关系不满足相反的关系.则本次遥控接收有误.数据应丢重庆邮电大学 自动化学院 综合设计报告 1 弃。 在同一个遥控器上.所有按键的数据码均不相同。 在 图 2 中,数据码为十六进制的 0CH,数据反码为十六进制的 0F3H(注意低位在前 ).两者之和应为 0FFH。 复位电路 这种复位电路的工作原理是:单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后, 5V 的电通过电阻给电容进行充电,电容两端的电会由 0V 慢慢的升到 4V 左右(此时间很短一般小于 秒), RC 构成的微分电路在上电瞬间产生一个微分脉冲,其宽度大于两个机器周期, 89C51 将复位。 正因为这样,复位脚的电由低电位升到高电位,引起了内部电路的复位工作, RST 端电压慢慢下降,降到一定 电压值以后,即为低电平,单片机开始正 常工作(这是单片机的上电复位,也叫初始化复位);当按下复位键时,电容两端放电,电容又回到 0V 了,于是又进行了一次复位工作(这是手动复位原理)。 图 7 复位电路 外部时钟电路 图 3 采用 22pf的电容组成时钟电路部分 图 8 外部时钟电路 重庆邮电大学 自动化学院 综合设计报告 1 LCD 显示部分电路 为了节约成本,采用 1602 来作为显示器,用独立按键来控制不同的显示,能完成基本的显示功能。 图 9LCD 液晶显示电路 电源部分 本电源设计了两个接口,方便不同接口 的电源接入,并且在电源部分加上滤波电容,起过滤接入电源的杂波的作用 ,为了电路中得到 +12V、 12V 和 +5V 的直流工作电压,用变压器变压后再通过芯片和电容设计出所需要的电路。 重庆邮电大学 自动化学院 综合设计报告 1 图 10 电源电路 独立按键部分 图八 为用独立按键来控制不同的输出波形 图 11 独立按键 串口通信模块 图中通过 MAX232 进行 TTL 电平和 232 电平转换,从而单片机和上位机之间通信提供通道。 重庆邮电大学 自动化学院 综合设计报告 1 图 12 串口通信电路 通信电路的目的就是让通信双发的电平匹配,单片机用的是 TTL 电平,上位机的串口用的是 232 电平。 TTL 电平的逻辑 1 的电压范围是 + 到 +5V,逻辑 0 的电压范围是 0 到 +; 232 电平的逻辑 1 的电压范围是 15V 到 5V,逻辑 0 的电压范围是 +5V到 +15V。 因此设计串口通信电路就是让这两种电平统一。 四 、 软件设计 主程序和子程序都存放在 AT89C51 单片机中。 主程序的功能是:开机以后负责查键,即做出键盘扫描及显示工作,然后根据用户所按的键转到相应的子程序进行处理。 子程序的功能有:延时子程序、中断程序、显示子程序、按键子程序,按键子程序中有任意频率的设置的数字键( 0~9)及确定键、幅值和频率的加和 减键、幅值频率的转换键、波形的转换键等共 15 个键。 主程序的流程图如图 所示: 完成全部硬件和软件过后,将程序下载到单片机中进行测试,通过反复测试,反复的修改函数的功能,同时完善硬件的功能,使系统达到最优控制。 重庆邮电大学 自动化学院 综合设计报告 1 程序流程图 图 13 程序流程图 LCD 显示流程图 图 14 LCD 显示框图 重庆邮电大学 自动化学院 综合设计报告 1 五、 系统仿真 仿真电路图 通过 Proteus 软件和电路原理图绘制出如下仿真电路图,对程序和电路功能进行测试 图 15 proteus 仿真电路图 输出波形图 将 编写好的程序下载到单片 机中进行仿真 ,通过反复测试,反复的修改函数的功能,使系统 输出如下波形: 重庆邮电大学 自动化学院 综合设计报告 1 图 16 正弦波 图 17 方波 图 18 三角波 图 19 正弦波、方波、三角波三种波形叠加后的波形 六、 硬件和软件测试 硬件调试 整个硬件调试过程基本顺利,由于采用了分单元模块制作,各个单元电路工作稳定,给调试工作带来很大的方便。 放大模块部分在实物模拟时,出现发送信号不稳定、跳变的问题,经过仔细的检查,电路连线路劲和线路连接问题,最终发现电路连接是出现连接未牢固的问题,从重庆邮电大学 自动化学院 综合设计报告 1 而得以解决。 软件调试 虽然对于单片机的变成较熟 悉,但是还存在一些问题,主要有以下问题: ( 1) 在写调幅值的程序时,按照自己的想法写好,下载带单片机中,发现,每按一次键,幅值一次性增大到 5V 或者一次性减为 0V,经过对程序的分析得知,当按下键时,程序循环很多次,为次添加一条键按下时死循环的语句使每次按下键幅值加一次后的只保持住,从而解决了问题。 ( 2) 当幅值和显示调试成功后,写调频程序时,在硬件电路中调试时发现,三种波形融合到一起出现,在经过添加定时器中断的方法,结果使 P0 口不能够输出模拟信号,经过努力,最后终于解决了这个问题。 ( 3) 由于 AT89C51 本 身性能的问题,而且硬件方面又没有用倍频电路,产生的三角波和方波的频率没有达到 1MHz,只达到 2KHz,但是方波达到了 1MHz。 七、 设计心得 本次课程设计, 我系统电路的主要设计,在做课程设计的时间了我学到了很多东西,总的来说有如下收获: ( 1) 通过对电路的设计,对 51 系列单片机的原理和功能有了进一步的了解,学到了更多的电路知识,如复位电路的原理,晶振电路的作用,旁路电容的作用,上拉电阻的功能,串口通信电路,熟悉了 ULN2020 芯片的原理和功能,认识了温湿度传感器 DHT21,并且能对其进行应用。 ( 2) 通过原 理图和 PCB 图的绘制,学会了 AltumDesigner 软件的使用,并且能用它完成一些简单的电路设计,并且对元器件的封装有了一定的了解和认识。 ( 3) 通过元器件的购买和电路板的焊接,增强了自身的实践动手能力,对电路原理的应用有了更深刻的认识。 ( 4) 在测试阶段,尤其是在硬件电路的检查阶段,有很深的体会,有时候一个简单的错误就有可能造成电路无法正常工作,通过找错排错,更加熟悉了电路的原理和51 单片机的工作原理。 ( 5) 通过本次课程设计,我更加深刻 的认识到团队合作的重要性,小组成员分工重庆邮电大学 自动化学院 综合设计报告 1 合作,是设计成功的关键,只有大家团结一致,才能更快更好的完成任务 ,但是从本课程设计中,我也看到了自身还存在许 多不足,在实践动手能力方面比较弱,对一些电路知识掌握得不是很好。 重庆邮电大学 自动化学院 综合设计报告 1 八、 参考文献 [1]童诗白,华成英 .模拟电子技术基础〔 M〕 .北京 :高等教育出版社, [2]潘永雄,沙河,刘向阳 .电子线路 CAD 实用教程〔 M〕 .西安:西安电子科技大学出版社, . [3]张毅刚,彭喜源,谭晓昀,曲春波 .MCS51 单片机应用设计 [M].哈尔滨:哈 尔滨工业大学出版社, 重庆邮电大学 自动化学院 综合设计报告 1 九、 附件 程序如下: 波形的发生,产生正弦波方波,方波,三角波,产生的频率要求为 100HZ到 20KHZ,峰峰值为 5v,步进为 , 为了准确的确定产生频率,利用定时器 1 来做 , 用了波形的设定采用红外 , 波形产生是用 DAC0832 来产生,同时采用直通的方式,数据发生过去就发生转换 include include defineucharunsignedchar defineuintunsignedint defineDAC0832P2 defineLCD_DATAP0//液晶的数据端口 sbitDAC0832_K1=P3^3。 //DAC0832的控制端口 sbitDAC0832_K2=P3^4。 //为低电平时候表示导通 sbitIRIN=P3^5。 sbitLCD_RS=P3^0。 //寄存器选择输入 sbitLCD_RW=P3^1。 //液晶读 /写控制 sbitLCD_EN=P3^2。 //液晶使能控制 sbitK1=P1^3。 //波形:正弦波,方波,三角波之间的转变 sbitK2=P1^4。 //频率和幅值之间转变 sbitK3=P1^5。 //缩小 sbitK4=P1^6。 //波形的存储增大 sbitK5=P1^7。 // uintTIME=0。 //定时的时间 uintSIN_TIME=500,SIN_VALUE=50。 //输出波形的频率和周期 ,电压的值 uintFAN_TIME=500,FAN_VALUE=50。 //方波的参数 uintTRIG_TIME=500,TRIG_VALUE=50。 //三角波的参数 uintTRIG_FRENCE=100,FAN_FRENCE=100,SIN_FRENCE=100。 ucharnext=0,boxing_chose=1,count=0。 //用于正弦波的采样数组的移动。 boxing_。基于51单片机的波形发生器设计报告
相关推荐
相邻的引脚上。 这样,不仅降低了穿过整个芯片的 电流,另外还在印制电路板上容易布置去耦电容,从而降低系统的噪声。 现在为了适应各种应用的需要,很多单片机的输出能力都有了很大提高, Motorola 公司的单片机 I/O 口的灌拉电流可达 8mA 以上,而 Microchip 公司的单片机可达 25mA。 其它公司: AMD, Fujitsu,NEC , Infineon, Hitachi,
D3OEC L O C KV c cV1G N DD1IN 2IN 1IN 0A D D AA D D BA D D CA L ED7D6D5D4D0V2D2A D C 0 8 0 9DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。 DS AT89C52 单片机 AT89C51 是 51
状态来驱动蜂鸣器,从而控制蜂鸣器只在整点时发出响声。 具体的连接如图 25 所示: 图 25 整点报时电路硬件图 整点报时模块工作原理 由于蜂鸣器的工作电流一般比较大, 所以 单片机的 I/O 口是无法直接驱动的, 故本文设计 利用 一个 PNP 三极管来放大电路 来驱动 蜂鸣器。 三极管 Q1 起开关作 用,其基极的低电平使三极管饱和导通,使蜂鸣器发出响声;而基极高电平则使三极管截止
C52 为控制芯片, P0 为行控制, P2 为列控制。 所有的行( X0X7)都通过排阻接到单片机的 P0 口上,所有的列( Y00Y0 Y10Y1Y20Y2 Y30Y37)接到不同的 74LS138(U2, U3, U4, U5)上, U2 控制 U6, U3 控制 U7, U4 控制 U8,U5 控制 U9。 74LS138 直接由单片机的 P2 口进行驱动,这样就形成了一个完整的电路。
7) ,P2 口直接提供高 8 位地址(A8~A15)。 c) 控制总线(CB ):由 P3 口的第二功能状态和 4 根独立控制线RESET、EA、PSEN、ALE 等组成。 引脚号 第二功能 RXD(串行输入) TXD(串行输出) INT0(外部中断 0) INT0(外部中断 0) T0(定时器 0 外部输入) T1(定时器 1 外部输入) WR(外部数据存储器写选通)
VS1003 芯片是一个 MP3/WMA/MIDI 音频解码器和 ADPCM 编码器。 它包含一个高性能,自主产权的 低功耗 DSP 处理器 VS_DSP4,工作数据存储器,为用户应用提供 5KB 的指令 RAM 和 的数据 RAM。 4 个常规用途的 I/O 端 口,一个 UART,一个高品质可变采样率的 ADC 和立体声 DAC,还有一个耳机放大器和地线缓冲器。 VS1003