sj-7B信号发生器.rar

  • wzywzy
    了解作者
  • C51
    开发工具
  • 62KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 2
    下载次数
  • 2018-12-05 20:25
    上传日期
用AT89c51单片机,设计开发信号发生器,通过protuse仿真设计电路,C51编程实现控制程序。
sj-7B信号发生器.rar
  • sj-7B信号发生器
  • proteus
  • Last Loaded XHFSQ.DBK
    133KB
  • zxbfsq.hex
    1.3KB
  • XHFSQ.PWI
    792B
  • XHFSQ.DSN
    32.9KB
  • zxbfsq
    4KB
  • zxb.LST
    5.2KB
  • zxbfsq.lnp
    41B
  • zxbfsq.uvproj
    13.1KB
  • zxbfsq.hex
    1.3KB
  • zxbfsq.plg
    350B
  • zxbfsq.M51
    5.8KB
  • ExtDll.iex
    19B
  • zxbfsq_uvopt.bak
    5.9KB
  • zxb.c
    2.5KB
  • zxbfsq.uvgui_Administrator.bak
    131.9KB
  • zxbfsq.uvopt
    5.9KB
  • zxbfsq.uvgui.Administrator
    131.9KB
  • zxbfsq_uvproj.bak
    13.1KB
  • zxb.OBJ
    4.5KB
内容介绍
#include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define T0N (110592*1/120) //1ms sbit CLK = P1^6; // 时钟信号 sbit CS = P2^7; // 片选信号 sbit DIN = P2^6; // 5615数据输入 uint Ybcount; void Delay7Us(void) //11.0592MHZ { _nop_();_nop_();_nop_(); } void Delay10Us(uchar n) { do //7.6us { Delay7Us(); }while(--n); } uchar code SinTab[256]= { 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c, 0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba, 0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4, 0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9, 0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7, 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6, 0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7, 0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1, 0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7, 0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c, 0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d, 0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40, 0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27, 0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13, 0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06, 0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02, 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b, 0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c, 0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33, 0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c, 0x6f,0x72,0x76,0x79,0x7c,0x80 }; void Timer0Init(void) { TMOD=0x01; TH0 = (65536-T0N)/256; //1ms TL0 = (65536-T0N)%256; TR0=1; ET0=1; EA =1; } void TLC5615_DAC(uint da) { uchar i; da<<= 2; // 左移2位,补2位0 CLK = 0; CS = 0; for (i=0;i<16;i++) { DIN = (bit)(da&0x8000); CLK = 0; da <<= 1; CLK = 1; } CS = 1; CLK = 0; Delay10Us(1);//15.2 } void Time0Isr(void) interrupt 1 { TH0 = (65536-T0N)/256; //1ms TL0 = (65536-T0N)%256; TLC5615_DAC(SinTab[Ybcount]); if(++Ybcount > 255)Ybcount = 0; } void main(void) { Timer0Init(); while(1) { } }
评论
    相关推荐