標(biāo)題:
單片機(jī)串口打印調(diào)試程序PROTEUS模擬
[打印本頁(yè)]
作者:
wuchx12
時(shí)間:
2020-3-5 11:57
標(biāo)題:
單片機(jī)串口打印調(diào)試程序PROTEUS模擬
我用PROTEUS模擬了郭天祥師傅書(shū)上的串口打印應(yīng)用實(shí)例,涉及串口通訊,數(shù)碼管實(shí)時(shí)顯示。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei圖片20200305115348.png
(107.18 KB, 下載次數(shù): 51)
下載附件
2020-3-5 11:56 上傳
單片機(jī)源程序如下:
#include<reg52.h>
#include<intrins.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
sbit adwr=P3^6;
sbit adrd=P3^7;
sbit CSAD=P2^5;
uchar flag, a;
uchar flag_uart, flag_time, flag_on, a, i, t0_num, ad_val;
float ad_vo;
uchar code table[]={0x3f, 0x06, 0x5b, 0x4f,
0x66, 0x6d, 0x7d, 0x07,
0x7f, 0x6f, 0x77, 0x7c,
0x39, 0x5e, 0x79, 0x71};
void delayms(uint xms)
{
uint i, j;
for(i=xms; i>0; i--)
for(j=110; j>0; j--);
}
void init()
{
TMOD=0x21;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=0xfd;
TL1=0xfd;
TR1=1;
ET0=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
CSAD=0;
}
void display(uchar value)
{
uchar bai, shi, ge;
bai=value/100;
shi=value%100/10;
ge=value%10;
dula=1;
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0x7e;
wela=0;
delayms(5);
P0=0xff;
wela=1;
wela=0;
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0x7d;
wela=0;
delayms(5);
P0=0xff;
wela=1;
wela=0;
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0x7b;
wela=0;
delayms(5);
P0=0xff;
wela=1;
wela=0;
}
uchar get_ad()
{
uchar adval;
adwr=1;
_nop_();
adwr=0;
_nop_();
adwr=1;
P1=0xff;
adrd=1;
_nop_();
adrd=0;
_nop_();
adval=P1;
adrd=1;
return adval;
}
void main()
{
init();
wela=1;
P0=0x7f;
wela=0;
while(1)
{
if(flag_uart==1)
{
flag_uart=0;
ES=0;
TI=1;
switch(flag_on)
{
case 0: puts("Turn on ad!\n");
TR0=1;
break;
case 1: printf("Turn off ad!\n");
TR0=0;
break;
case 2: puts("Error!\n");
break;
}
while(!TI);
TI=0;
ES=1;
}
if(flag_time==1)
{
flag_time=0;
ad_val=get_ad();
ad_vo=(float)ad_val*5.0/256.0;
ES=0;
TI=1;
printf("The voltage is %fv\n", ad_vo);
while(!TI);
TI=0;
ES=1;
}
display(ad_val);
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
新建文件夾.rar
(204.63 KB, 下載次數(shù): 35)
2020-3-5 11:56 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1