CPLD实现简易频率计:自编程序与12864驱动

需积分: 10 2 下载量 3 浏览量 更新于2024-09-15 收藏 49KB DOC 举报
本文档详细介绍了使用CPLD(复杂可编程逻辑器件)实现的频率计程序。该程序是用VHDL编写,结构清晰且注释齐全,旨在设计一个能够测量输入时钟频率的电路。主要组成部分包括以下几个关键知识点: 1. **CPLD基础**: - 使用了IEEE库:`libraryieee;`导入了标准逻辑库,如`std_logic_1164.all`, `std_logic_unsigned.all`, 和 `std_logic_arith.all`,这些库提供了处理标准逻辑信号、无符号整数和算术运算的功能。 2. **实体(Entity)定义**: - 实体名为`pinlvjiis`,其端口定义了输入(clk, reset, clk_in)和输出(en, rs, rw, data)信号。其中,`clk`是系统时钟,`reset`是复位信号,`clk_in`是待测频率信号,而`en, rs, rw`和`data`则用于控制存储器操作和数据传输。 3. **状态机设计**: - 定义了一个名为`states`的状态机类型,包含了多个状态(st0到st6),这在CPLD频率计程序中用来管理不同操作阶段,如初始化、读取和计数等。 4. **RAM1定义**: - `ram1`是一个存储器数组,用作计数器的临时存储空间,存储了ASCII码对应的十进制数值(0到9)。 5. **信号和过程**: - 信号变量如`clk_2miao, clk_12864, lcd_clk, clk_yimiao, clk_9`被用于不同时钟频率的分频和触发。 - 过程部分中,通过`rising_edge(clk)`判断触发条件,实现了对`clk_in`信号频率的计数。例如,当`clk`上升沿到来时,程序会更新计数器`n1, n2, n3, n4`,分别对应不同范围的计数。 6. **频率分频与显示**: - 程序通过调整`n4`值进行分频,将输入频率降低至250Hz,可能是为了配合12864液晶显示器的驱动频率。同时,还处理了显示相关信号,如`clr, en_jishu, load, cout1-6`,用于控制液晶显示单元的操作。 7. **ASCII字符转换**: - 通过`cq1-9`等信号接收十进制数字,然后转换成相应的ASCII码,如`shi, bai, qian, wan`等,用于液晶显示器上显示计数值。 这份CPLD频率计程序是针对特定时钟信号的测量应用,利用VHDL实现了计数器、分频和显示功能,适合初学者学习CPLD编程以及数字逻辑设计的基本概念。
2024-07-20 上传
微信小程序的社区门诊管理系统流程不完善导致小程序的使用率较低。社区门诊管理系统的部署与应用,将对日常的门诊信息、预约挂号、检查信息、检查报告、病例信息等功能进行管理,这可以简化工作程序、降低劳动成本、提高工作效率。为了有效推动医院的合理配置和使用,迫切需要研发一套更加全面的社区门诊管理系统。 本论文主要介绍基于Php语言设计并实现了微信小程序的社区门诊管理系统。该小程序基于B/S即所谓浏览器/服务器模式,选择MySQL作为后台数据库去开发并实现一个以微信小程序的社区门诊为核心的系统以及对系统的简易介绍。 本课题要求实现一套微信小程序的社区门诊管理系统,系统主要包括管理员模块和用户模块、医生模块功能模块。 用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、性别、手机、等信息进行注册操作。用户登陆微信端后,可以对首页、门诊信息、我的等功能进行详细操作。门诊信息,在门诊信息页面可以查看科室名称、科室类型、医生编号、医生姓名、 职称、坐诊时间、科室图片、点击次数、科室介绍等信息进行预约挂号操作。检查信息,在检查信息页面可以查看检查项目、检查地点、检查时间、检查费用、账号、姓名、医生编号、医生姓名、是否支付、审核回复、审核状态等信息进行支付操作。我的,在我的页面可以对预约挂号、检查信息、检查报告、处方信息、费用信息等详细信息。 管理员登录进入社区门诊管理系统可以查看首页、个人中心、用户管理、医生管理、门诊信息管理、科室分类管理、预约挂号管理、检查信息管理、检查报告管理、病例信息管理、处方信息管理、费用信息管理、系统管理等信息进行相应操作。 医生登录进入社区门诊管理系统可以查看首页、个人中心、预约挂号管理、检查信息管理、检查报告管理、病例信息管理、处方信息管理等信息进行相应操作。