单片机复习程序.ppt_第1页
单片机复习程序.ppt_第2页
单片机复习程序.ppt_第3页
单片机复习程序.ppt_第4页
单片机复习程序.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机 考试复习题 从左到右的流水灯 名称 从左到右的流水灯说明 接在P0口的8个LED从左到右循环依次点亮 产生走马灯效果 include include defineucharunsignedchar defineuintunsignedint 延时voidDelayMS uintx uchari while x for i 0 i 120 i 主程序voidmain P0 0 xfe while 1 P0 crol P0 1 P0的值向左循环移动DelayMS 150 电路图 交通灯 名称 LED模拟交通灯说明 东西向绿灯亮若干秒 黄灯闪烁5次后红灯亮 红灯亮后 南北向由红灯变为绿灯 若干秒后南北向黄灯闪烁5此后变红灯 东西向变绿灯 如此重复 include defineucharunsignedchar defineuintunsignedint sbitRED A P0 0 东西向灯sbitYELLOW A P0 1 sbitGREEN A P0 2 sbitRED B P0 3 南北向灯sbitYELLOW B P0 4 sbitGREEN B P0 5 ucharFlash Count 0 Operation Type 1 闪烁次数 操作类型变量 延时voidDelayMS uintx uchari while x for i 0 i 120 i 交通灯切换voidTraffic Light switch Operation Type case1 东西向绿灯与南北向红灯亮RED A 1 YELLOW A 1 GREEN A 0 RED B 0 YELLOW B 1 GREEN B 1 DelayMS 2000 Operation Type 2 break case2 东西向黄灯闪烁 绿灯关闭DelayMS 300 YELLOW A YELLOW A GREEN A 1 if Flash Count 10 return 闪烁5次Flash Count 0 Operation Type 3 break case3 东西向红灯 南北向绿灯亮RED A 0 YELLOW A 1 GREEN A 1 RED B 1 YELLOW B 1 GREEN B 0 DelayMS 2000 Operation Type 4 break case4 南北向黄灯闪烁5次DelayMS 300 YELLOW B YELLOW B GREEN B 1 if Flash Count 10 return Flash Count 0 Operation Type 1 主程序voidmain while 1 Traffic Light 交通灯电路 单只数码管循环显示0 9 名称 单只数码管循环显示0 9说明 主程序中的循环语句反复将0 9的段码送至P0口 使数字0 9循环显示 include include defineucharunsignedchar defineuintunsignedintucharcodeDSY CODE 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 xff 延时voidDelayMS uintx uchart while x for t 0 t 120 t 主程序voidmain uchari 0 P0 0 x00 while 1 P0 DSY CODE i i i 1 10 DelayMS 300 8只数码管动态显示多个不同字符电路 8只数码管动态显示多个不同字符 名称 8只数码管动态显示多个不同字符说明 数码管动态扫描显示0 7 include include defineucharunsignedchar defineuintunsignedintucharcodeDSY CODE 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 延时voidDelayMS uintx uchart while x for t 0 t 120 t 主程序 voidmain uchari wei 0 x80 while 1 for i 0 i 8 i P0 0 xff P0 DSY CODE i 发送段码wei crol wei 1 P2 wei 发送位码DelayMS 2 K1 K4按键状态显示 11上海师范大学信息与机电工程学院 倪继锋 名称 K1 K4按键状态显示说明 K1 K2按下时LED点亮 松开时熄灭 K3 K4按下并释放时LED点亮 再次按下并释放时熄灭 include defineucharunsignedchar defineuintunsignedintsbitLED1 P0 0 sbitLED2 P0 1 sbitLED3 P0 2 sbitLED4 P0 3 sbitK1 P1 0 sbitK2 P1 1 sbitK3 P1 2 sbitK4 P1 3 延时voidDelayMS uintx uchari while x for i 0 i 120 i 延时voidDelayMS uintx uchari while x for i 0 i 120 i 主程序voidmain P0 0 xff P1 0 xff while 1 LED1 K1 LED2 K2 if K3 0 while K3 0 LED3 LED3 if K4 0 while K4 0 LED4 LED4 DelayMS 10 K1 K4按键状态显示电路 INT0中断计数 名称 INT0中断计数说明 每次按下计数键时触发INT0中断 中断程序累加计数 计数值显示在3只数码管上 按下清零键时数码管清零 include defineucharunsignedchar defineuintunsignedint 0 9的段码ucharcodeDSY CODE 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x00 计数值分解后各个待显示的数位ucharDSY Buffer 0 0 0 ucharCount 0 sbitClear Key P3 6 数码管上显示计数值voidShow Count ON DSY DSY Buffer 2 Count 100 获取3个数DSY Buffer 1 Count 100 10 DSY Buffer 0 Count 10 DSY Buffer 1 Count 100 10 DSY Buffer 0 Count 10 if DSY Buffer 2 0 高位为0时不显示 DSY Buffer 2 0 x0a if DSY Buffer 1 0 高位为0 若第二位为0同样不显示DSY Buffer 1 0 x0a P0 DSY CODE DSY Buffer 0 P1 DSY CODE DSY Buffer 1 P2 DSY CODE DSY Buffer 2 主程序voidmain P0 0 x00 P1 0 x00 P2 0 x00 IE 0 x81 允许INT0中断IT0 1 下降沿触发while 1 if Clear Key 0 Count 0 清0Show Count ON DSY INT0中断函数voidEX INT0 interrupt0 Count 计数值递增 INT0中断计数电路 10s的秒表 名称 10s的秒表说明 首次按键计时开始 再次按键暂停 第三次按键清零 include defineucharunsignedchar defineuintunsignedintsbitK1 P3 7 uchari Second Counts Key Flag Idx bitKey State ucharDSY CODE 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 延时voidDelayMS uintms uchart while ms for t 0 t 120 t 处理按键事件voidKey Event Handle if Key State 0 Key Flag Idx Key Flag Idx 1 3 switch Key Flag Idx case1 EA 1 ET0 1 TR0 1 break case2 EA 0 ET0 0 TR0 0 break case0 P0 0 x3f P2 0 x3f i 0 Second Counts 0 主程序voidmain P0 0 x3f 显示00P2 0 x3f i 0 Second Counts 0 Key Flag Idx 0 按键次数 取值0 1 2 3 Key State 1 按键状态TMOD 0 x01 定时器0方式1TH0 65536 50000 256 定时器0 15msTL0 65536 50000 256 while 1 if Key State K1 DelayMS 10 Key State K1 Key Event Handle T0中断函数voidDSY Refresh interrupt1 TH0 65536 50000 256 恢复定时器0初值TL0 65536 50000 256 if i 2 50ms 2 0 1s转换状态 i 0 Second Counts P0 DSY CODE Second Counts 10 P2 DSY CODE Second Counts 10 if Second Counts 100 Second Counts 0 满100 10s 后显示00 10s的秒表电路 定时器控制交通指示灯 名称 定时器控制交通指示灯说明 东西向绿灯亮5s后 黄灯闪烁 闪烁5次亮红灯 红灯亮后 南北向由红灯变成绿灯 5s后南北向黄灯闪烁 闪烁5次后亮红灯 东西向绿灯亮 如此往复 include defineucharunsignedchar defineuintunsignedintsbitRED A P0 0 东西向指示灯sbitYELLOW A P0 1 sbitGREEN A P0 2 sbitRED B P0 3 南北向指示灯sbitYELLOW B P0 4 sbitGREEN B P0 5 延时倍数 闪烁次数 操作类型变量ucharTime Count 0 Flash Count 0 Operation Type 1 定时器0中断函数voidT0 INT interrupt1 TL0 50000 256 TH0 50000 256 switch Operation Type case1 东西向绿灯与南北向红灯亮5sRED A 0 YELLOW A 0 GREEN A 1 RED B 1 YELLOW B 0 GREEN B 0 if Time Count 100 return 5s 100 50ms 切换Time Count 0 Operation Type 2 break case2 东西向黄灯开始闪烁 绿灯关闭if Time Count 8 return Time Count 0 YELLOW A YELLOW A GREEN A 0 if Flash Count 10 return 闪烁Flash Count 0 Operation Type 3 break case3 东西向红灯与南北向绿灯亮5sRED A 1 YELLOW A 0 GREEN A 0 RED B 0 YELLOW B 0 GREEN B 1 if Time Count 100 return 5s 100 50ms 切换Time Count 0 Operation Type 4 break case4 南北向黄灯开始闪烁 绿灯关闭if Time Count 8 return Time Count 0 YELLOW B YELLOW B GREEN A 0 if Flash Count 10 return 闪烁Flash Count 0 Operation Type 1 break 主程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论