资源描述:
《基于PROTEUS 的单片机系统设计与仿真实例 教学课件 作者 蒋辉平 周国雄 第6章(1).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、09DQ8第6章 单片机应用系统设计09DQ8第6章 单片机应用系统设计09DQ8第6章 单片机应用系统设计6.1 模拟交通灯的设计6.1.1 方案实现6.1.2 汇编语言源程序6.1.3 C语言源程序6.1.4 模拟交通灯仿真效果图6.2 数字电压表的设计6.2.1 方案实现6.2.2 汇编语言源程序6.2.3 C语言源程序6.2.4 数字电压表仿真效果图6.3 多功能电子万年历的设计6.3.1 方案实现6.3.2 C语言源程序09DQ86.1 模拟交通灯的设计6.1.1 方案实现6.1.2 汇编语言源程序6.1.3 C语言源程序6.1.4 模拟交通灯仿
2、真效果图09DQ86.1.1 方案实现图6-1 模拟交通灯程序流程图09DQ86.1.2 汇编语言源程序SECONDEQU30HHREDBITP2.1;定义IO端口HGREENBITP2.2HYELLOWBITP2.3LREDBITP2.4LGREENBITP2.5LYELLOWBITP2.6ORG0000HLJMPMAINORG0030HMAIN:MOVTMOD,#01H;设置定时器0为方式1MOVTH0,#3CH;置定时器的初始值,定时50msMOVTL0,#0B0HCLRTF0;清定时器0溢出标志SETBTR0;启动定时器START:CLRAMOVP
3、1,A;首先关闭显示MOVP3,A09DQ86.1.3 C语言源程序#include#defineucharunsignedcharucharcount,second,i,flag;sbithred=P2^1;∥定义端口sbithgreen=P2^2;sbithyellow=P2^3;sbitlred=P2^4;sbitlgreen=P2^5;sbitlyellow=P2^6;ucharcodetable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};voidmain(){P1
4、=0x00;∥关闭显示P3=0x00;flag=1;∥置标志位second=20;∥状态1,4,红绿灯亮20sTMOD=0x01;∥设置定时器0为方式1TH0=0x3C;∥置定时器的初始值,定时50msTL0=0xB0;TR0=1;∥启动定时器IE=0x82;∥允许中断}09DQ86.1.4 模拟交通灯仿真效果图图6-2 模拟交通灯仿真效果图09DQ86.2 数字电压表的设计6.2.1 方案实现6.2.2 汇编语言源程序6.2.3 C语言源程序6.2.4 数字电压表仿真效果图09DQ86.2.1 方案实现图6-3 数字电压表程序流程图09DQ86.2.2
5、汇编语言源程序LED0EQU30H;存放三个数码管的段码LED1EQU31HLED2EQU32HADCEQU35H;存放AD转换后的数据STBITP3.2OEBITP3.0EOCBITP3.1ORG0000HLJMPMAINORG0030HMAIN:MOVLED0,#00H;给显示赋初值0MOVLED1,#00HMOVLED2,#00HSETBP3.4SETBP3.5CLRP3.6;选择通道3MOVA,LED2MOVDPTR,#TABLE2;送段码表首地址MOVCA,@A+DPTRSETBP2.1;允许个位输出,该数码管为共阳极型MOVP0,A;将位段码送
6、给P0口LCALLDELAY;调用延时程序CLRP2.1;关闭个位显示RET09DQ86.2.3 C语言源程序#include#include#defineucharunsignedcharsbitP21=P2^1;∥定义数码管位码端口sbitP22=P2^2;sbitP23=P2^3;sbitOE=P3^0;∥定义ADC0808端口sbitEOC=P3^1;sbitST=P3^2;sbitP34=P3^4;sbitP35=P3^5;sbitP36=P3^6;ucharcodeleddatadot[]={0x40,0
7、x79,0x24,0x30,0x19,0x12};∥ucharcodeleddata[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};voiddelay(ucharn){uchari,j;for(i=0;i8、.阳历程序设计因为使用了时钟芯片DS1302,阳历程序只需从DS1