ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:375.03KB ,
资源ID:3834523      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3834523.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课设最终版 汪一 黄纬.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课设最终版 汪一 黄纬.docx

1、课设最终版 汪一 黄纬工业控制器原理及应用(1)课程设计结题报告题目:称重售卖机学院:物流工程学院专业:机械电子工程(中荷)学生1姓名:汪一学生2姓名:黄纬学生1班级:机电荷142学生2班级:机电荷142学生1学号:201410216058学生2学号:201410216062指导老师: 吴滢实习时间:2016.12.262016.12.30目录1、题目要求:电子秤计价器设计 31功能要求: 42硬件调试: 42、分析功能要求,确定方案 4(1)、硬件系统框图设计 5(2)、分析功能,确定方案: 5(3)、划分设计任务,制定任务时间进度表: 5(4)确定选用芯片型号,进行相应计算等: 6(5)

2、I/0口分配: 61.PINA0功能 62.PINA1功能 73.PINA2功能 74.PINA3功能 75.PINA4功能 76.数码管多功能显示 83、完整电路原理图设计 84、PROTUES软件的使用 91.八位数码管显示 92.五个按键 103.一个滑动变阻器(模拟电子称上重量的变化) 104.一个电容器(用于ADC转换) 115.一个LED灯(折扣时间显示) 115、软件设计 121.程序块划分: 122.程序框图 133.变量定义表: 224.编写详细程序: 236、软仿真调试及修改 337、硬件仿真调试及修改 338、操作说明/使用说明 34键位说明: 34操作步骤: 349、小

3、组分工 351、 题目要求:电子秤计价器设计1功能要求: 1) 开机后能够显示及修改当前时间。 2) 有两种商品AB可供选择,两种商品均可通过按键修改单价。 3) 每种商品称重(0-20KG)后,数码管显示所选商品的种类、重量、当前单价和总价,并计入每种商品的累计总价。 4) 可通过按键选择显示开机后的每种商品的销售总金额,也可通过按键分别清零每种商品的总金额,重新开始累计。 5)可以设置优惠时间段和优惠折扣,进入优惠时间段后,黄灯亮;称重每种商品后显示种类、重量、当前单价、折扣、折前价和折扣后价格。 2硬件调试:实现以上五个功能2、分析功能要求,确定方案(1)、硬件系统框图设计1.1(2)、

4、分析功能,确定方案:为了程序可以良好的运行和实施,我们需要合理的去分配各个端口及控制功能的按键。我们通过PA0-PA4共五个键来进行我们的基本功能控制,ADC电压转换我们接在PA5,LED灯我们接在PA6。而PB0-PB8我们用来进行数码管的显示,最后我们把位置扫描放在PD。(3)、划分设计任务,制定任务时间进度表:12月26日(周一)构思设计程序结构,画程序框图12月27日(周二)根据题目要求,编写程序12月28日(周三)调试程序,并实现要求功能12月29日(周四)软仿真测试,硬件测试12月30日(周五)参加答辩,上交实习报告(4)确定选用芯片型号,进行相应计算等: 1.2 相应计算:TC2

5、计时器选择CTC模式比较中断。已知: CPU=8M; time=1s; f=CLK/64=125kHz; OCR2=125k*2ms-1=250-1=249;TCNT2=0x00;OCR2=0xF9.(5) I/0口分配:PA0-PA4: 五个控制按键(详细功能见下图)PA5: 电压测量计PA6: ADC数模转换,端口接滑动变阻器PB0-PB7: 数码管显示端口接七段码数据显示PD0-PD7:数据显示位置端口接八个位置显示1.PINA0功能按键次数模式切换显示模式0 时钟显示01重量显示12 单价显示23折扣时间显示34折扣显示45折后价显示56当前总价显示6 7累计总价显示 72.PINA1

6、功能模式功能0分调节+112单价调节+13折扣时间调节(开始时间+1)4折扣+15 67累计总价A清零3.PINA2功能模式功能0分调节-112单价调节-13折扣时间调节(结束时间+1)4折扣-1567累计总价B清零4.PINA3功能类型切换显示 A0 B15.PINA4功能称重6.数码管多功能显示位置模式一位置其他模式1小时(十位)1AB类型(0or1)2小时(个位)2空3分钟(十位)3 模式(1-7)4分钟(个位)4空5秒(十位)5模 式 对 应 显 示 量 值6秒(个位)67空78空83、完整电路原理图设计软件要求电路原理图:如图1.3所示,此为软件要求电路原理图,可以比较清晰地看出图中

7、ATmega16与各器件的连线分布。可参照I/0口分配的具体值来看。 1.34、PROTUES软件的使用1.八位数码管显示 1.4共十类显示:时间,AB类型,模式,重量显示,单价显示,折扣显示,折扣时间显示,折后价显示,当前总价显示,累计总价显示。2.五个按键 1.5如图1.5所示,五个按键接在PA口。3.一个滑动变阻器(模拟电子称上重量的变化) 1.64.一个电容器(用于ADC转换) 1.75.一个LED灯(折扣时间显示) 1.85、软件设计1.程序块划分:主程序void main()延时子程序void delayms(unsigned int i)端口初始化子程序void port_ini

8、t()ADC初始化子程序void adc_init()TC初始化子程序void timer_init()时间处理子程序void time_count()指示灯子程序void DENG()多功能送缓冲区子程序void disp_choice()缓冲区子程序void vtodisp()数码管显示子程序void disp(void)键盘扫描子程序void key_scan()TC0中断void timer0_comp()TC2中断void timer2_comp()ADC中断void adc_isr()2.程序框图 端口初始化ADC初始化时钟函数LED灯函数显示函数缓冲区函数模式选择函数键盘扫描函数

9、3.变量定义表:unsigned char Led_disbuf10共阴极七段码表示unsigned char position9控制数字显示位置unsigned char dis_buf8显示缓存unsigned int time3时钟(初值为23:46:58)unsigned int weight2重量unsigned int unit_price2单价unsigned int present_price2单次总价(折前价格)unsigned int total_price2累计总价unsigned char multi_disp4多功能送缓冲区值unsigned int discount

10、_time2优惠时间unsigned int discount_price2折后价格unsigned char disp_choose=0功能显示变量unsigned char discount=8优惠折扣(初始值定义为8折)unsigned int adc_rel读取ADC转换结果unsigned long adc_valADC转换电压值unsigned char kind=0种类A/B,0为A,1为Bunsigned char time_ok时间到达一秒的标志4.编写详细程序:/工业控制器原理及应用(1)课程设计/题目:称重售卖机设计/指导教师:吴滢/设计者:汪一201410216058,

11、黄纬201410216062#include /变量初始化unsigned char Led_disbuf10=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;unsigned char position9=0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F,0XFF;unsigned char dis_buf8=0,0,0,0,0,0,0,0;unsigned int time3=23,46,58;unsigned int weight2=4,3;unsigned int unit_price2=2,1;/单价u

12、nsigned int present_price2=0,0;/单次总价(折前价格)unsigned int total_price2=0,0;/累计总价unsigned char multi_disp4=0,0,0,0;/多功能送缓冲区值unsigned int discount_time2=1,5;/优惠时间unsigned int discount_price2=0,0;/折后价格unsigned char disp_choose=0;/功能显示变量unsigned char discount=8;/优惠折扣unsigned int adc_rel;unsigned long adc_v

13、al;unsigned char kind=0;/种类A/B,0为A,1为Bunsigned char time_ok;/延迟void delayms(unsigned int i) while(i-) unsigned char j; for(j=0;j=60) time2=0; if(+time1=60) time1=0; if(+time0=24) time0=0; /指示灯void DENG() if(time0=discount_time0&time0discount_time1) PORTA=0X1F; else PORTA=0X5F; /送缓冲区void disp_choice(

14、) unsigned int a; unsigned int i; unsigned int j; if(disp_choose=1) a=weightkind; for(i=0;i4;i+) multi_disp3-i=a%10; a=a/10; if(disp_choose=2) a=unit_pricekind; for(i=0;i4;i+) multi_disp3-i=a%10; a=a/10; if(disp_choose=3) j=0; for(i=0;i=2;i+) multi_dispj+=discount_timei/10; multi_dispj+=discount_tim

15、ei%10; if(disp_choose=4) a=discount; for(i=0;i4;i+) multi_disp3-i=a%10; a=a/10; if(disp_choose=5) a=discount_pricekind; for(i=0;i4;i+) multi_disp3-i=a%10; a=a/10; if(disp_choose=6) a=present_pricekind; for(i=0;i4;i+) multi_disp3-i=a%10; a=a/10; if(disp_choose=7) a=total_pricekind; for(i=0;i4;i+) mul

16、ti_disp3-i=a%10; a=a/10; /缓冲区void vtodisp() unsigned char i,j=0; if(disp_choose=0) dis_buf6=0; dis_buf7=0; for(i=0;i8) posit=0; else PORTB=Led_disbufdis_bufposit; PORTD=positionposit; if(+posit8) posit=0; /键盘扫描 void key_scan() unsigned int a=0; if (PINA&0X1F)!=0X1F) delayms(20); if(PINA&0X1F)!=0X1F)

17、 if(PINA&0X01)=0) /按键一:功能和显示模式切换 disp_choose=disp_choose+1; if(disp_choose7) disp_choose=0; if(PINA&0X02)=0) /按键二 if(disp_choose=0) /在时间模式下,按键二为分加一 time1=time1+1; if(time1=60) time1=0; if(+time0=24) time0=0; if(disp_choose=2) /在单价模式下,按键二为单价加一 unit_pricekind=unit_pricekind+1; if(unit_pricekind=20) un

18、it_pricekind=0; if(disp_choose=3) /在折扣时间模式下,按键二为折扣开始时间加一 discount_time0=discount_time0+1; if(discount_time0=24) discount_time0=0; if(disp_choose=4) /在折扣模式下,按键二为折扣加一 discount=discount+1; if(discount=10) discount=1; if(disp_choose=7) /在累计总价模式下,按键二为A的累计总价清零 total_price0=0; if(PINA&0X04)=0) if(disp_choo

19、se=0) /在时间模式下,按键三为时加一 time0=time0+1; if(time0=24) time0=0; if(disp_choose=2) /在单价模式下,按键三为单价减一 unit_pricekind=unit_pricekind-1; if(unit_pricekind=24) discount_time1=0; if(disp_choose=4) /在折扣模式下,按键三为折扣减一 discount=discount-1; if(discount=discount_time0&time0discount_time1) discount_pricekind=unit_price

20、kind*discount; present_pricekind=discount_pricekind*weightkind/10; total_pricekind=total_pricekind+present_pricekind; else discount_pricekind=unit_pricekind*10; present_pricekind=discount_pricekind*weightkind/10; total_pricekind=total_pricekind+present_pricekind; while(PINA&0X1F)!=0X1F); /TC0中断服务程序#pragma interrupt_handler timer0_comp:20void timer0_comp() /adc中断服务程序#pragma interrupt_handler adc_isr:15void adc_isr() adc_rel=ADCL; adc_rel|=(unsigned int)(ADCH8); adc_val=(unsigned long)adc_rel;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1