|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Taio 于 2018-10-22 18:25 编辑 3 ~; s8 d1 Q2 L5 F% \) p9 ?
( {4 i" z( R$ ]& W
74hc573-74ls273时钟仿真与C语言程序 6 v" J, U6 p" g# a* v* I8 W6 q, F
9 {8 N9 a, k3 T; B
区别每个数码管子函数(*7)和整体数码管并一类子函数(*1)之间的区别;我们可以看其中数码管显示的停滞与正常之间的差距(proteus的原理图相同,只是稍微了改了下C语言程序)
/ F* g Y0 o+ z* W74hc573-74ls273和单片机数码管的仿真图:
- [& K5 \8 v8 {1 T8 Q / O8 W' T- l1 _" C4 S
0 p, X' b# X' O' a% J- f, E
& i; Q a: e5 A9 m6 B i9 b$ g: x
4 T: C* Q! ]. y- \& L' S1 [
- h' E( S4 t' R# n, V" \
单片机源程序:
# Q" j* K- S3 b- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- uchar code select[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- sbit dula=P3^6;
- sbit clk=P3^7;
- uchar miao,fen,shi,adval,a,shih,shil,fenh,fenl,miaoh,miaol;
- void delayms(uint xms)
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=110;j>0;j--);
- }
- void display_shih(uchar shih)
- {
- P0=select[0];
- clk=1;
- clk=0;
- dula=1;
- P0=table[shih];
- dula=0;
- delayms(3);
- }
- void display_shil(uchar shil)
- {
- P0=select[1];
- clk=1;
- clk=0;
- dula=1;
- P0=table[shil];
- dula=0;
- delayms(3);
- }
- void display_fenh(uchar fenh)
- {
- P0=select[3];
- clk=1;
- clk=0;
- dula=1;
- P0=table[fenh];
- dula=0;
- delayms(3);
- }
- void display_fenl(uchar fenl)
- {
- P0=select[4];
- clk=1;
- clk=0;
- dula=1;
- P0=table[fenl];
- dula=0;
- delayms(3);
- }
- void display_miaoh(uchar miaoh)
- {
- P0=select[6];
- clk=1;
- clk=0;
- dula=1;
- P0=table[miaoh];
- dula=0;
- delayms(3);
- }
- void display_miaol(uchar miaol)
- {
- P0=select[7];
- clk=1;
- clk=0;
- dula=1;
- P0=table[miaol];
- dula=0;
- delayms(3);
- }
- void t0() interrupt 1
- {
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- adval++;
- }
- void main()
- {
- TMOD=0x01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- EA=1;
- ET0=1;
- TR0=1;
- while(1)
- {
- if(adval==20)
- {
- adval=0;
- miao++;
- if(miao==60)
- {
- miao=0;
- fen++;
- if(fen==60)
- {
- fen=0;
- shi++;
- if(shi==24)
- {
- shi=0;
- }
- }
- }
- miaoh=miao/10;
- miaol=miao%10;
- fenh=fen/10;
- fenl=fen%10;
- shih=shi/10;
- shil=shi%10;
- }
- display_shih(shih);
- …………限于本文篇幅 余下代码请从论坛下载附件…………
1 ~, }0 w4 V, ~* M* m; b4 O' z6 N( t
" |+ G( d1 S. i C' F3 s5 i6 u' F- }% R! g3 e r% B; k0 U* U
|
- @# c8 y+ t1 Z, `. s9 n: F% Q1 b: U2 S1 K( |5 o Y- y2 ^+ z
. a8 a% L. R! z$ Y! t _4 C8 L7 o* `/ l3 f7 p9 F. Q, c( q! O
|
|