单片机程序案例(全部调试通过_部分附仿真图)(3)

2018-12-04 22:07

{

IT0=0; IT1=0; EX0=1; EX1=1; EA=1; PX0=0; PX1=1; while(1) {

D26=0; } }

void int1(void) interrupt 2 using 1 { P0=0x00; delay(); P0=0xff; delay(); }

void int0(void) interrupt 0 using 0 { int sel,i; sel=0xfe; for(i=0;i<8;i++) { P0=sel; delay(); sel=_crol_(sel,1); } } 仿真图:

11

C2VCC30pFX1CRYSTALU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161743C318XTAL230pFR910kC1910uF293031RSTPSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51DSW1OFFON12DIPSW_2

实验五 数码管实验

一、实验目的

1、学习并掌握74HC573锁存器的使用方法; 2、学会使用8段共阴极数码管的动态显示方法。

二、实验设备

单片机实验箱一台;PC机一台;USB下载线一根。

三、实验内容

通过编程,实现8段数码管的动态扫描显示,要求8个数码管从左到右分别显示“1”、“2”、“3”、“4”、“A”、“b”、“C”、“d”。

数码管接口电路如图5-1所示:

12

图5-1

数码管接口电路原理图

四、思考题

1.何谓数码管的动态显示,其原理是什么?

2.简述锁存器的工作原理,在本实验中具有什么作用? 程序代码:

#include sbit wela=P3^7; sbit dula=P3^6;

char code t[8]={0x06,0x5b,0x4f,0x66,0x77,0x7c,0x39,0x5e}; char code t1[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void delayms(char xms) { char a,b; for(a=xms;a>0;a--) for(b=125;b>0;b--); }

void main() { char i; while(1) { for(i=0;i<8;i++) { dula=1; wela=0; P0=t[i]; dula=0; wela=1; P0=t1[i]; delayms(10); P0=0XFF; } } }

13

仿真图: C2U1R9VCC10k30pF19U2P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161723456789111D0D1D2D3D4D5D6D7LEOE74HC573Q0Q1Q2Q3Q4Q5Q6Q71918171615141312X1XTAL1C330pFCRYSTAL18XTAL2C110uF9RST293031PSENALEEAU323456789111D0D1D2D3D4D5D6D7LEOE74HC573Q0Q1Q2Q3Q4Q5Q6Q7191817161514131212345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51C40.1uF

实验六 定时器/计数器实验(一)

一、实验目的

掌握单片机定时器和定时中断的编程方法。

二、实验设备

单片机实验箱一台;PC机一台;USB下载线一根。

三、实验内容

编写实验程序,实现59秒倒计时功能,初始状态数码管最后两位显示数字“59”,要求定时器0每10ms产生一次中断,在定时中断服务程序里进行计数,计数满一秒,数码管显示相应减1,倒计时结束时,数码管显示“00”,并以周期1秒进行闪烁,单片机与数码管接口电路原理图见实验五中图5-1所示。

四、思考题

1.画出主程序和定时中断流程图;

2.实验中有何故障、问题出现,是否得到解决?如何解决的? 程序代码:

#include sbit wela=P3^7; sbit dula=P3^6;

char code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; char numd=59,num; void delayms(char xms) { char a,b; for(a=xms;a>0;a--) for(b=125;b>0;b--); }

14

void display() { char shi,ge; shi=numd/10; ge=numd; dula=1; wela=0; P0=table[shi]; dula=0; wela=1; P0=0xfe; delayms(10); P0=0XFF; dula=1; wela=0; P0=table[ge]; dula=0; wela=1; P0=0xfd; delayms(10); P0=0XFF; }

void main() {

char flag=1; TMOD=0X01;

TH0=(65536-50000)/256; TL0=(65536-50000)%6; TR0=1; ET0=1; EA=1; while(1) {

if(num==100) { num=0; if(numd) { numd--; } else { if(flag) flag=0; else flag=1; } } if(flag) display(); }

15


单片机程序案例(全部调试通过_部分附仿真图)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:531知识竞赛题库(判断)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: