欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    程序设计复习要点.docx

    • 资源ID:10904799       资源大小:346.61KB        全文页数:14页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    程序设计复习要点.docx

    1、程序设计复习要点程序设计复习要点5、MEGA16单片机的USART模块中一帧数据中空闲位和起始位是什么状态?画图说明校验位,可以为奇校验或偶校验起始位,总是为低电平数据位 (0 8)停止位,总是为高电平1.通讯线上没有数据传输 (RxD 或 TxD),线路空闲时必须为高电平四、按图编程1、想使用单片机的PA口接8位发光二极管,PB1PB2接两个按键,PB7接一只继电器,请这几这样的一个电路原理图(10分)2、由图所示,编程实现U2、U1单片机的双机通信功能。(15分)要求:单片机使用内部晶振1兆赫兹,波特率4800时URBB=12,8位数据、无奇偶校验、1位停止位,异步通信,按下各自的按键时使

    2、另一块单片机上的LED闪烁4次。四、按图编程1、根据图1所示2位共阳数码管,试用动态显示编程实现显示12数字(10分)#includeiom16v.h #define ledseg1_on PORTA|=(1PA0)#define ledseg1_off PORTA&=(1PA0) #define ledseg2_on PORTA|=(1PA1)#define ledseg2_off PORTA&=(1PA1) /*GONG YANG XING */const unsigned char Num_Dis_TDB=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0

    3、x80,0x90; void Delay_1_ms(void) unsigned char cnt_i,cnt_j; for(cnt_i=0;cnt_i40;cnt_i+) for(cnt_j=0;cnt_j33;cnt_j+) void Delay_n_ms(unsigned int n_ms) unsigned int cnt_i; for(cnt_i=0;cnt_in_ms;cnt_i+) Delay_1_ms(); void main(void) unsigned char dis_temp,i; DDRA=0xFF; PORTA=0xFF; DDRB=0xFF; PORTB=0xFF

    4、; DDRD=0x00; PORTD=0xff; while(1) PORTB=0xF9; ledseg1_on; Delay_n_ms(20); ledseg1_off; PORTB=0xA4; ledseg2_on; Delay_n_ms(20); ledseg2_off; 2、由图2所示,编程实现U2单片机的按键动作控制U1单片机的LED亮灭。(15分)要求:单片机使用内部晶振1兆赫兹,波特率4800时URBB=12,8位数据、无奇偶校验、1位停止位,异步通信,发送采用查询方式、接收采用中断方式。1、根据图1所示用外部中断0外接一个按键,在中断服务程序中使LED闪烁3次时间间隔1秒(10

    5、分)#includeiom16v.h #include macros.h#define led_on PORTC|=(1PC0)#define led_off PORTC&=(1PC0)void Delay_1_ms(void) unsigned char cnt_i,cnt_j; for(cnt_i=0;cnt_i40;cnt_i+) for(cnt_j=0;cnt_j33;cnt_j+) void Delay_n_ms(unsigned int n_ms) unsigned int cnt_i; for(cnt_i=0;cnt_in_ms;cnt_i+) Delay_1_ms(); #pr

    6、agma interrupt_handler INT0_isr:2 void INT0_isr(void) unsigned char i; for(i=0;i3;i+) led_on; Delay_n_ms(50); led_off; Delay_n_ms(50); void main(void) CLI(); /全局中断标志禁止 DDRD=0x00; PORTD=0xFF; DDRC=0xFF; MCUCR =(1 ISC01)+ (1 ISC00);/ 0x02;/中断0 触发方式控制,由ISC01=1, ISC00=0,两位设置,表示INT0 的下降沿产生异步中断请求 GICR = (

    7、1INT0); / / Bit 6 INT0:使能外部中断请求 0 ,I 0,0x40;/ SEI(); /全局中断标志使能,I 1 while(1) /等待中断信号 2、由图2所示,编程实现A/D模块的读数据及初始化子程序。(15分)要求:10位数据转换结果,只完成AD部分的初始化及数据读取的子程序。(1)ADC初始化子程序void ATmega16_ADC_Init(void) ADCSRA=0x00; /关闭ADCADMUX=0x40; /选择参考电压为AVCC、数据右对齐、通道0 ACSR=0x80; /关闭模拟比较器的电源 ADCSRA=0x87; /使能ADC、单次转换、ADC转换

    8、中断禁止、128分频(2)ADC转换读数据子程序unsigned int ATmega16_ADC_Convert()/void unsigned int adc_value; ATmega16_AD_Start; /启动AD转换 while(!(ADCSR&(1ADIF); /等待AD转换结束 adc_value=(unsigned int)ADCL; /读取低8位 adc_value|=(unsigned int)(ADCH&0x03)8; /读取高2位 NOP(); return adc_value;1、根据图1所示,完整编程序让LED亮一秒,灭一秒,循环不止(8分)假设晶振为4Mhz。

    9、程序如下:#includeiom16v.h #define led_on PORTA|=(1PA1)#define led_off PORTA&=(1PA1)void Delay_1_ms(void) unsigned char cnt_i,cnt_j; for(cnt_i=0;cnt_i40;cnt_i+) for(cnt_j=0;cnt_j33;cnt_j+) void Delay_n_ms(unsigned int n_ms) unsigned int cnt_i; for(cnt_i=0;cnt_in_ms;cnt_i+) Delay_1_ms(); void main(void) D

    10、DRA=0xFF; PORTA=0xFF; while(1) led_on; Delay_n_ms(1000); led_off; Delay_n_ms(1000); 2、由图2所示,完成编写按键扫描程序,可以直接使用第1题中延时子程序名称,按键值任意。(8分)#includeiom16v.h #define led_on PORTC|=(1PC7)#define led_off PORTC&=(1PC7)void Delay_1_ms(void) void Delay_n_ms(unsigned int n_ms) unsigned char Get_Key_Val( ) unsigned

    11、char key_val=0; if(PINA!=0XFF)/ key_val=PINA; switch(key_val)/ case 0xdf:key_val=1;break; default:break; return key_val;/ void main(void) unsigned char cnt_i; DDRA=0x00; PORTA=0xFF; / DDRC=0xFF; / PORTC=0xFF; while(1) while(Get_Key_Val()=0); / if(Get_Key_Val()=1) led_on; Delay_n_ms(10); led_off; Del

    12、ay_n_ms(10); 3、由图3所示,编写单片机AD转换模块的,初始化及获取转换值的两个子程序,要求数据右对齐,其他按图设置。(10分)(1)ADC多工选择寄存器ADMUXBit7:6REFS1:0:参考电压选择Bit5ADLAR:ADC转换结果左对齐Bits4:0MUX4:0:模拟通道与增益选择位(2)ADC控制和状态寄存器AADCSRABit7ADEN:ADC使能Bit6ADSC:ADC开始转换Bit5ADATE:ADC自动触发使能Bit4ADIF:ADC中断标志Bit3ADIE:ADC中断使能Bits2:0ADPS2:0:ADC预分频器选择位(1)ADC初始化void ATmega1

    13、6_ADC_Init(void) ADCSRA=0x00; /关闭ADCADMUX=0x43; /选择参考电压为AVCC、数据右对齐、通道3 ACSR=0x80; /关闭模拟比较器的电源 ADCSRA=0x87; /使能ADC、单次转换、ADC转换中断禁止、128分频(2) ADC转换子程序unsigned int ATmega16_ADC_Convert()/void unsigned int adc_value; ATmega16_AD_Start; /启动AD转换 while(!(ADCSR&(1ADIF); /等待AD转换结束 adc_value=(unsigned int)ADCL; /读取低8位 adc_value|=(unsigned int)(ADCH&0x03)8; /读取高2位 NOP(); return adc_value;


    注意事项

    本文(程序设计复习要点.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开