




已阅读5页,还剩99页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计 2009年9月简易波形发生器设计 1 课程设计要求 设计一个简易波形发生器基本要求 1 4位数码管显示 显示XXXX 单位是Hz2 可以测量输出频率 显示XXXX 3 键盘设置频率 选择功能扩展要求 输出波形占空比可调可以输出多种波形其他 2 有能力同学在完成方波输出设计要求外可以附加更多功能鼓励同学们创新 3 课程设计流程安排 理论上课上机焊接上机上机考核独立完成报告 4 分批 分四批具体见名单名单已经挂到网上校内ftp ftp 10 21 12 1 5 时间段 上课时间如下 上午 8 30 10 0010 05 11 35下午 13 30 15 0015 05 16 35晚上 17 30 20 30 6 课程设计时间安排 9月 7 课程设计时间安排 9月 8 时间安排变更 如有变化请关注ftp 10 21 12 1 以上述ftp上公布的时间安排为准 9 元器件领用安排 9月7号晚上19 00前各班长务必把各个班级需要领器件的名单 人数交到邵李焕老师处 过期不候 9月8号下午领器件 由班长负责带2个同学 共3人 过来领自己班级的元器件 地点 2教127 10 器件清单 11 12 13 网上资料与通知 校内ftp ftp 10 21 12 1 14 考核时间 6月9号全天考核 晚上为白天不及格的同学补测时间 在上机期间有分模块功能的考核 15 考核要求 焊接功能演示答辩 16 硬件设计 17 主要元器件 单片机 mega164位数码管蜂鸣器按键 18 本次课程设计使用的单片机 ATmega16Ateml公司的AVR8位单片机系列RISC16KBFlash32个8位通用工作寄存器1KBSRAM512BE2PROM多数指令单指令单周期16MHz 19 Mega16的外设资源 4通道PWM8通道10位ADC两个具有独立预分频器和比较器功能的8位定时器 计数器2个具有可编程增益 1x 10 x 或200 x 的差分通道SPIUSART比较器WDT 20 Mega16其他特性 JTAG调试需要JTAG调试器硬件支持 在本次课程设计中没有 工作电压 5V封装 PDIP40 本次课程设计使用 与标准51除了reset引脚外 兼容 21 Mega16引脚图 22 Mega16结构图 见数据手册 23 电路图 mega16板子 24 25 采用16MHz晶振或使用内部OSCADC的电压电压是5V看看AVR的RESET时序 26 RS232串口 27 在板子上和原理图上有但在这次课程设计中是没有焊接的 28 数码管电路 29 30 1602字符型LCD的接口在本次课程设计没有使用LCD 31 蜂鸣器电路 32 一个典型的蜂鸣器电路给低电平发声 33 34 本课程设计板子 利用AVR的boot功能和可以IAP的特点 设计了一个USBBootloader可以通过USBBootloader下载编译后代码具体使用请听下节课 35 按键电路 36 使用时候需要开启输入上拉 37 38 复位电路 39 低电平复位逻辑 40 41 板子的PCB图 42 单片机课程设计 软件设计 43 开发环境 使用C语言编程IARforAVRAVR就是由Atmel和IAR合作的产物 44 IO口的两种状态 IO口的两种状态 输入口模型 输出口模型 45 IO口的输出性能指标 AVR的IO口灌电流能力与拉电流能力均达30mA51的拉电流能力 100uA 灌电流能力10mA 灌电流能力 能够流入IO口的最大电流 拉电流能力 能够从IO口流出的最大电流 46 IO口的输入性能指标 能够承受的最大输入电压范围 是否有上拉电阻 AVR的IO口输入状态时可配置上拉电阻 值为100k数量级最大输入电压范围 0 5V Vcc 0 5V 47 IO 寄存器与变量 IO口与IO寄存器的映射 x代表A D 方向寄存器 DDRx数据寄存器 PORTx输入寄存器 PINxC语言变量与寄存器的映射io h这个文件中将所有寄存器映射为同名的变量 对这些变量的读写相当于对寄存器的读写输出状态IO寄存器设置DDRx某一位置1 相应位的IO口被设置为输出PORTx某一位置1或0 对应IO口相应位的电平高低 48 C语言与硬件环境的映射 49 位运算 将某一位置1 置0 取反置1 相应位与1进行按位或 运算置0 相应位与0进行按位与 运算取反 相应位与1进行按位异或 运算移位运算符 左边为最高位 右边为最低位 50 位运算 左移 右移n位相当于乘2 n运算 右侧n位丢弃 左侧补n个0 51 IO口输出操作总结 第一步 IO设置为输出DDRB 0 xff DDRB 1 5 第五位设为输出第二步 对应位输出数据输出1 PORTB 1 5 第五位输出高电平输出0 PORTB 第五位取反 52 头文件 IncludeI Odefinitionfile include自动适合选择的器件 53 八段数码管 八段数码管由八段LED构成各LED阴极或阳极并在一起 称为 位选线 共阴 共阳其余8个引脚各自引出 称为 段选线 各段可以分别控制 54 多位合一的数码管 多位合一的数码管将多个八段数码管的段选线分别并在一起 位选线引出 55 数码管扫描原理 数码管扫描原理多位数码管的各个位均可以单独显示不同的数据 但一个时刻只能点亮一位依次点亮多位数码管中的各个位 由于人眼的视觉暂留效应 看起是来多位同时点亮请观看程序演示 56 Mega16端口使用 PORTAPORTA端口A输出寄存器DDRA端口A方向寄存器PINA端口A的输入引脚PORTBPORTCPORTD 57 数码管显示 提供给大家的板子在数码管段上与原理图有差异PA具体的对应关系为 58 延时函数 delay cycles 以周期为标准 delay cycles unsignedlong 如果处理器频率为1M 延时100us 如下 delay cycles 100 当然你也可以对该函数进行修改 defineCPU F1000000 definedelay us unsignedlong delay cycles unsignedlong CPU F definedelay ms unsignedlong delay cycles unsignedlong CPU F 1000 59 延时函数 delay cycles 需要加入 include 60 一个简单的显示程序 在数码管上显示数字0123 IncludeI Odefinitionfile include include definedsegPORTCintmain void unsignedchardtab 0 x28 0 xee 0 x32 0 xa2 DDRA 0 xf0 61 DDRC 0 xff while 1 dseg 0 xff PORTA 0 x7f dseg dtab 0 delay cycles 10000 dseg 0 xff PORTA 0 xbf dseg dtab 1 delay cycles 10000 62 dseg 0 xff PORTA 0 xdf dseg dtab 2 delay cycles 10000 dseg 0 xff PORTA 0 xef dseg dtab 3 delay cycles 10000 return0 63 输入状态IO寄存器设置 输入状态IO寄存器设置DDRx某一位置0 相应位的IO口被设置为输入PORTx某一位置1 使能对应IO口相应位的上拉电阻PINx的对应位是输入的数据 0或1 64 按键的查询方式程序设计 PIND 1 6 1 6 1左移6位 即 0b01000000PIND 1 6 将除第6位之外其他位清零第6位保持输入的值与选择结构语句的结合判断PIND 1 6 的值 执行相应代码 65 蜂鸣器 有源蜂鸣器加上电源电压即可发出鸣叫声 消耗电流20mA左右 AVR的蜂鸣器驱动电路IO口直接驱动 传统的蜂鸣器驱动电路三极管驱动 66 IAR编程环境使用 67 安装IARforAVR 参见提供的资料在机房的机器上已经安装好该软件 68 打开IAR 69 选择新建项目 70 选择C下main输入保存的工作区名字 项目名字 71 进入IAR编程主界面 72 修改配置选项 73 选择器件 74 设置linker选项 75 设置输出文件格式为hex 76 需要手动修改 d90为 hex选择intelstandard 77 设置debugger选项 78 按 确定 关闭设置选项输入程序Mak 79 输入程序 80 编译结果 81 软件模拟仿真 82 使用USBbootloader下载编译后代码 83 准备工作 焊接好的课程设计板子一条USB线用USB线连接PC准备好需要下载的hex文件准备好程序 bootloadHID GUI exe 84 打开bootloadHID GUI exe 85 打开hex文件 然后upload 86 第二次下载 可以用下列方法进行 1 重新插拔USB线2 按住BOOT键 按一下复位 然后放开复位 放开BOOT键 87 ATmega16的ADC 88 AVR的模数转换器 AVR片上ADC的特点 10位精度0 5LSB的非线性度 2LSB的绝对精度65 260 s的转换时间最高分辨率时采样率高达15kSPS8路复用的单端输入通道7路差分输入通道2路可选增益为10 x与200 x的差分输入通道可选的左对齐ADC读数0 VCC的ADC输入电压范围可选的2 56VADC参考电压连续转换或单次转换模式通过自动触发中断源启动ADC转换ADC转换结束中断基于睡眠模式的噪声抑制器 使用流程 1 初始化相关寄存器2 读取转换结果3 平滑滤波4 进行单位制变换 89 voidinit adc void ADCSRA 0 x00 ADMUX adc mux 90 ADC完成中断 pragmavector interrupt handleradc isr iv ADC definetheinterrupthandler pragmavector ADC vect interruptvoidadc isr void ADMUX adc mux 启动AD转换 91 92 中断与定时 93 定时器的概念 8位定时 计数器的模型1个8位长度计数寄存器 可以对其进行读写1个时钟输入端口 计数寄存器对时钟输入端口的时钟脉冲个数进行加1计数 即每来一个时钟脉冲 寄存器的数值自加1如何实现精确定时 给计数寄存器设定初值n0给时钟输入端口输入一个频率精确的方波方波周期为t0计数器计数到256时定时器溢出 时间间隔为 T 256 n0 t0定时器溢出时可以产生中断 94 定时器溢出方式的应用 M16的定时器08位定时器具有PWM功能定时器0相关寄存器T C控制寄存器 TCCR0设置时钟源频率T C寄存器 TCNT0计数寄存器T C中断屏蔽寄存器 TIMSK需要使用溢出中断时T C中断标志寄存器 TIFR查询是否溢出 95 定时器0溢出方式查询模式使用步骤 第1步 设置TC寄存器初值TCNT0 55 第2步 开启时钟 同时TC0启动TCCR0 1 CS01 第3步 查询TIFR寄存器的TOV0位while TIFR 96 定时器0溢出方式中断模式使用步骤 第1步 设置中断第2步 设置TC寄存器初值TCNT0 55 第3步 使能TC0溢出中断TIMSK 1 TOIE0 第4步 编写TC0溢出中断服务程序SIGNAL SIG SIG OVERFLOW0 此处添加中断服务程序代码 第5步 开启时钟 同时TC0启动TCCR0 1 CS01 第6步 使能全局中断sei 97 定时器的概念 8位定时 计数器的模型1个8位长度计数寄存器 可以对其进行读写1个时钟输入端口 计数寄存器对时钟输入端口的时钟脉冲个数进行加1计数 即每来一个时钟脉冲 寄存器的数值自加1如何实现精确定时 给计数寄存器设定初值n0给时钟输入端口输入一个频率精确的方波方波周期为t0计数器计数到256时定时器溢出 时间间隔为 T 256 n0 t0定时器溢出时可以产生中断 98 定时器溢出方式的应用 M16的定时器08位定时器具有PWM功能定时器0相关寄存器T C控制寄存器 TCCR0设置时钟源频率T C寄存器 TCNT0计数寄存器T C中断屏蔽寄存器 TIMSK需要使用溢出中断时T C中断标志寄存器 TIFR查询是否溢出 99 定时器0溢出方式查询模式使用步骤 第1步 设置TC寄存器初值TCNT0 55 第2步 开启时钟 同时TC0启动TCCR0 1 CS01 第3步 查询TIFR寄存器的TOV0位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 媒体资源协作合同(2篇)
- 地砖改造租房合同范本
- 2025至2030年中国印刷夹棍市场现状分析及前景预测报告
- 2025至2030年中国单层热压机市场现状分析及前景预测报告
- 2025至2030年中国匝间绝缘测试仪数据监测研究报告
- 2025至2030年中国动态可调光衰减器行业投资前景及策略咨询报告
- 2025至2030年中国加热溶剂型反光标线涂料市场分析及竞争策略研究报告
- 2025至2030年中国凹凸海绵行业发展研究报告
- 2025至2030年中国冶炼电炉湿式除尘器行业发展研究报告
- 2025至2030年中国六角扁铲市场分析及竞争策略研究报告001
- 火锅店创业计划书:营销策略
- 交通大数据分析-深度研究
- 基础护理学试题及标准答案
- DB11-T 1754-2024 老年人能力综合评估规范
- 招聘团队管理
- 【课件】用坐标描述简单几何图形+课件人教版七年级数学下册
- 电商运营岗位聘用合同样本
- 2023年浙江省杭州市上城区中考数学一模试卷
- 租赁钻杆合同范例
- 消毒管理办法
- 湖北省黄冈市部分学校2024-2025学年七年级上学期期中地理试卷(含答案)
评论
0/150
提交评论